完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/*51单片机学习打卡*/
/*老师视频之后,使用普中科技51单片机开发板实现1602液晶显示*/ #include #define uchar unsigned char #define uint unsigned int uchar code table[; uchar code table1[; ***it Lcd1602_en=P2^7; //使能端,写数据或命令时,必须先置零,完成指令之后,置1.使指令能发出给液晶 ***it Lcd1602_rs=P2^6; //确定液晶得到的指令,是命令(0)、还是数据(1) ***it Lcd1602_rw=P2^5; //对液晶数据的读取,由于不用读取,故设为低电平0 void Initialize(); void Write_Command(uchar command); void Write_Data(uchar date); void Delayms(uint xms); uchar num; void main() { Initialize(); for(num=0;num<11;num++) { Write_Data(table[num]); Delayms(5); } Write_Command(0x80+0x40); for(num=0;num<15;num++) { Write_Data(table1[num]); Delayms(5); } } void Write_Command(uchar command) //写指令函数 { Lcd1602_rs=0; //确定为写指令 P0=command; Delayms(5); Lcd1602_en=1; //使能口为1,使液晶能得到命令com,因为初始化时已经置零 Delayms(5); Lcd1602_en=0; //回归初始状态,等待下一命令的到来 } void Write_Data(uchar date) //写数据函数 { Lcd1602_rs=1; P0=date; Delayms(5); Lcd1602_en=1; Delayms(5); Lcd1602_en=0; } void Initialize() { Lcd1602_en=0; Lcd1602_rw=0; Write_Command(0x38); //设置16*2显示,5*7点阵,8位数据口 Write_Command(0x0c); //设置打开显示,且没有光标 Write_Command(0x06); //写一个字符后地址加1 Write_Command(0x01); //显示清零,数据指针清零 } void Delayms(uint xms) { uint i; uchar j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } |
|
|
|
只有小组成员才能发言,加入小组>>
2545 浏览 0 评论
1142浏览 2评论
742浏览 1评论
495浏览 0评论
256浏览 0评论
418浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 01:47 , Processed in 1.277415 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号