c语言通过89C51驱动1602液晶显示(入门级别)
工具proteus,keil
步骤:
1.画好电路图
2.在指令模式下,设置好显示模式以及光标位置
3.在写数据模式下,向1602写入显示字符(1602只能显示数字和字符)
电路图
#include <REGX51.H> #define uchar unsigned char
#define uint unsigned int void init();
void write_cmd(uchar cmd);
void write_data(uchar input);
void delay(uchar time_delay); uchar table_wel[] = "hello world!";
uchar table_name[] = "i am gxf!"; sbit lcdrs = P3^0;
sbit lcdrw = P3^1;
sbit lcden = P3^2; void main()
{
uchar i = 0;
init();
//write_data('g');
for(;i < 12;i ++)
{
write_data(table_wel[i]);
} write_cmd(0xc0);
// delay(5);
for(i = 0; i < 9; i++)
{
write_data(table_name[i]);
}
while(1);
} void init()
{
lcdrs = 0;//命令选择段
lcdrw = 0;//写命令
write_cmd(0x38);
write_cmd(0x0f);
write_cmd(0x06);
write_cmd(0x80);//从第一个位置开始显示
}
void write_cmd(uchar cmd)
{
lcdrs = 0;//命令选择段
lcdrw = 0;//写命令
P2 = cmd;//设置显示模式
delay(5);
lcden = 1;
delay(5);//延时5MS形成高脉冲
lcden = 0; }
void write_data(uchar input)
{
lcdrs = 1;//写数据模式
lcdrw = 0;//写数据
P2 = input;//设置显示模式
delay(5);
lcden = 1;
delay(5);//延时5MS形成高脉冲
lcden = 0; } //软件延时
void delay(uchar time_delay)
{
uint x,y;
for(x = time_delay; x > 0; x --)
for(y = 110; y > 0 ; y--);
}
测试效果
说明:最开始我用的是P0口,控制rs,rw和en,但好像P0口要特殊一点。有点不行,换了P3口。还要研究一下P0口。
c语言通过89C51驱动1602液晶显示(入门级别)的更多相关文章
- Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...
- 区块链入门级别认知(blockchain)
区块链入门级别认知(blockchain) 前言:今天参加了迅雷关于区块链的大会,学习和感受总结一下 之前的认知在:几个混迹互联网圈关于区块链 耳熟能详的 热词 “比特币” “区块链” “挖矿” ,知 ...
- STM32 驱动1602液晶
利用STM32f103c8t6单片机驱动1602A液晶进行显示功能 上图即为写入信息后的效果图 本人用的是STM32的核心系统,无任何外设 库函数:3.5版本的库函数 驱动模式:采用4线驱动模式 供电 ...
- HR问了一句DB是啥?SQL是啥?DB是Database数据库,SQL是数据库语言! 然后呢? 数据库从入门到精通--入门必看!
写在前面 本文的写作知识体系来源于我的数据库老师SDAU张承明,部分知识来自于网络,我呢对知识进行了细化和添加了自己的一些看法,并且加入了一些实例帮助理解,本文不是面向SQL高手写的,可以看作是数据库 ...
- [零] Java 语言运行原理 JVM原理浅析 入门了解简介 Java语言组成部分 javap命令使用
Java Virtual Machine 官方介绍 Java虚拟机规范官方文档 https://docs.oracle.com/javase/specs/index.html 其中以java8的为 ...
- R语言实战(一)——基础入门
从今天开始接触R语言,主要参考的书籍是<R语言实战>. 1.安装R语言程序 Windows:http://mirror.bjtu.edu.cn/cran/ Linux:apt-get in ...
- 我的Go语言学习之旅二:入门初体验 Hello World
好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...
- C语言实现的minixml解析库入门教程
minixml的中文说明手册:MiniXML中文文档.dochttp://wenku.baidu.com/view/25fd7d7f31b765ce050814f7.html xml源代码: < ...
- 墙裂推荐一本案例驱动的PhoneGap入门书,早看早收货
清华大学出版社推出的<构建跨平台APP:PhoneGap移动应用实战> 零门槛学APP开发 从无到有 循序渐进 20余个示例APP 3个项目APP 全平台à跨终端à移动开发 完美生命周期: ...
随机推荐
- OC中-数组是如何遍历的?
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool ...
- Xcode常用快捷键总结
Xcode常用快捷键 Xcode窗口快捷键 其他补充: 编译代码: command + B 将代码翻译为计算机能够识别的语言(0/1) 调试Xcode中程序: command + R 折叠与展开方法代 ...
- XMl解析之Pull解析
HttpUtils: package cn.qf.parser; import java.io.BufferedOutputStream; import java.io.FileOutputStrea ...
- 使用webView制作浏览器
xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- tomcat安装与配置文件
一 安装tomcat 1.系统必须已安装配置JDK 安装说明参考地址:http://www.cnblogs.com/Yuanbangchen/p/5945491.html 2.将apache-to ...
- Linux上安装Redmine
安装基本的软件环境 # yum install zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr- ...
- 关于JFace中的输入值(InputDialog)对话框类
格式: InputDialog(Shell parentShell, String dialogTitle, String dialogMessage, String initialValue, In ...
- GitHub 中国区前100 名技术专家
[本文是在一片新闻上摘录的,原地址为:http://mt.sohu.com/20160407/n443539407.shtml] 本文根据Github公开API,抓取了地址显示China的用户,根据粉 ...
- Hadoop基于Protocol Buffer的RPC实现代码分析-Server端
http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.google.co ...
- Java多线程编程总结(学习博客)
Java多线程编程总结:网址:http://lavasoft.blog.51cto.com/62575/27069/