完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uchar unsigned char #define uint unsigned int #define LCD_DB P1//定义 ***it LCD_RS=P3^5; ***it LCD_RW=P3^6; ***it LCD_E=P3^4; void LCD_init(void);//初始化函数 void LCD_write_command(uchar command);//写指令函数 void LCD_write_data(uchar dat);//写数据函数 void LCD_show(uchar x,uchar y,uchar dat);//在某个屏幕位置上显示一个字符,X(0-16),y(1-2) void delay_n40us(uint n);//延时函数 //.............................// void LCD_init(void) { LCD_write_command(0x38);//设置格式.8位,2行,5x7[指令6] LCD_write_command(0x0c);//设置显示.整体显示,关光标,不闪烁[指令4] LCD_write_command(0x06);//设置输法.增量不移位[指令3] LCD_write_command(0x01);//清屏显示.光标复位到00H[指令1] delay_n40us(100);//LCD1602 上,用for 循环200 次就能可靠完成清屏指令。 } //********写指令函数************ void LCD_write_command(uchar dat) { LCD_DB=dat; LCD_RS=0;//0指令;1数据 LCD_RW=0;//0写入;1读出 LCD_E=1;//1到0执行 LCD_E=0; delay_n40us(1);//用for 循环1 次完成普通写指令。 } //********写数据函数************* void LCD_write_data(uchar dat) { LCD_DB=dat; LCD_RS=1;//数据 LCD_RW=0;//写入 LCD_E=1;//1到0执行 LCD_E=0; delay_n40us(1); } //*******显示一个字符函数********* /*写入显示地址时要求最高位D7恒为1 所以实际写入的数据应该是 01000000B(40H)[1行要-0行不要]+10000000B(0x80)=11000000B(0xc0)。*/ void LCD_show(uchar x,uchar y,uchar dat) { uchar address; if(y==1) address=0x80+x;//y代表第1行,x代表第x列 else address=0xc0+x;//y代表第0行,x代表第x列 LCD_write_command(address); LCD_write_data(dat); } /*******检查忙函数************* 检查忙指令通 过率极低,用延时的方法 普通指令只要1次循就可完成。 清屏指令200次循环便能完成。 ******************************/ //********延时函数*************** void delay_n40us(uint n) { uint i; uchar j; for(i=n;i>0;i--) for(j=0;j<2;j++); //*********主函数***************** void main(void) { LCD_init(); LCD_disp_char(0,1,"A"); while(1); } |
|
相关推荐
5个回答
|
|
|
|
|
|
连问问题都不知道怎么问,还要你去学习单片机,真是难为你了!
|
|
|
|
|
|
|
|
没关系。刚学确实摸不着头脑,别人说你也很正常,别放弃。只要用心学,单片机这东西都能掌握的,毕竟这个基础要求不是特比高。论坛欢迎爱好电子的人,不论新手还是高手。 问问题,比如你是LCD的问题,你可以这样取标题“[求助]LCD的XXX问题”比如你是乱显示的话,或者不显示,或者是黑屏,或者是其他的原因,,,这些你在问问题的时候应该描述清楚来。 |
|
|
|
恩恩。明白了。谢谢斑竹大人。。。, |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11798 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 20:03 , Processed in 0.575495 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号