基于MCS—51单片机的液晶1602显示设计
作者:汤泽容
来源:《科学与财富》2013年第12期
摘 要:基于MCS-51单片机的液晶1602显示的设计,利用单片机的I/O口外接液晶1602,通过软件模拟的方法,从而使得液晶1602显示所需的字符。 关键词:单片机 液晶1602 1、引言
单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于某项工程或者产品上,它必须要依靠外围数字器件或模拟器件的协调才可以发挥其自身的强大功能,所以在学习单片机知识的同时不能仅学习单片机的一种芯片,还要循序渐进地学习它外围的数字及模拟芯片知识,还要学习常用到的外围电路的设计与调试方法等。本文介绍如何点亮液晶1602,实现显示字符的效果。 2、硬件组成
液晶1602显示系统实际是由51单片机最小系统、液晶1602构成,如下图1所示。 图1 电路图 3、程序设计 #include
#define uint unsigned int #define uchar unsigned char
#define LCD_PORT P0//1602数据端口 sbit rs=P3^5;//4 sbit rw=P3^6;//5 sbit e=P3^7;//6
void write_add(uchar add)//写入地址
龙源期刊网 http://www.qikan.com.cn
{
uint x=300; rw=0;
rs=0;// 表示地址 LCD_PORT=add; e=1; while(x--); e=0; }
void write_data(uchar d)//写入显示数据 {
uint x=300;
rw=0;//表示写入液晶 rs=1; //表示数据 LCD_PORT=d; e=1; while(x--) e=0; }
void LCD_drive(bit x,uchar d) {
if(x==1)
龙源期刊网 http://www.qikan.com.cn
{
write_data(d); } else {
write_add(d); } }
void LCD1602_init() {
uint x=10000;
LCD_drive(0,0X38);//显示模式设置,8位接口,5*7,2行 LCD_drive(0,0X0f);//显示开、光标开和闪 LCD_drive(0,0X06);//地址自动加1 LCD_drive(0,0X01);//清屏 while(x--); }
void show_char(uchar add,uchar ch)//在add显示ch {
LCD_drive(0,add); //写入显示的地址 LCD_drive(1,ch); //写入显示的数据 }
龙源期刊网 http://www.qikan.com.cn
void main() { e=0;
LCD1602_init(); //show_char(4,'A');
show_char(0X80,'A'); //在0x84处显示A show_char(0Xc0,'K'); //在0xc4处显示K while(1) { } } 4、结束
当上述程序编写好之后,我们需要使用编译软件对其编译,得到单片机能识别的二进制代码,然后再用编程器将二进制代码烧写到单片机中,就能看到液晶1602显示,第一排显示字符”“A”,第二排显示字符“K”。 参考文献
[1] 谭浩强.C程序设计,北京:清华大学出版社,1991
[2] 郭天祥.51单片机C语言教程,北京:电子工业出版社,2010
[3] 余锡存等.单片机原理及接口技术,西安:西安电子科技大学出版社,2000
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务