一个旋转编码器+lcd1602驱动程序

一个旋转编码器+lcd1602驱动程序

ID:21304317

大小:33.00 KB

页数:4页

时间:2018-10-21

一个旋转编码器+lcd1602驱动程序_第1页
一个旋转编码器+lcd1602驱动程序_第2页
一个旋转编码器+lcd1602驱动程序_第3页
一个旋转编码器+lcd1602驱动程序_第4页
资源描述:

《一个旋转编码器+lcd1602驱动程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include/**********************************宏定义字符串**********************************/#defineucharunsignedchar#defineLCD_DATP0//LCD数据/指令输入端(D7,D6,D5,D4,D3,D2,D1,D0)sbitLCD_RW=P2^5;//LCD读写控制端sbitLCD_RS=P2^6;//LCD指令/数据控制端sbitLCD_E=P2^7;//LCD使能控制端sbitAA=P1^0;//接编码器A端sbitBB=P

2、1^1;//接编码器B端/**********************************任意ms延时函数**********************************/voiddelayms(ucharcount){uchari,j;for(i=0;i0;b--)for(a=

3、130;a>0;a--);}/**********************************LCD写函数**********************************/voidLCD_W(ucharm,ucharcom_dat)//m=0:写指令,m=1:写数据{LCD_RS=m;LCD_RW=0;//写操作LCD_E=0;//使能禁止LCD_DAT=com_dat;//在指令/数据端置数delay();//5ms延时LCD_E=1;//使能允许delay();//5ms延时LCD_E=0;//使能禁止}/*********************************

4、*LCD初始化函数**********************************/voidLCD_INIT(){delay();delay();delay();//5ms延时LCD_W(0,0x38);//不检测忙信号delay();LCD_W(0,0x38);//不检测忙信号delay();LCD_W(0,0x38);//不检测忙信号LCD_W(0,0x38);//显示模式LCD_W(0,0x08);//显示关闭LCD_W(0,0x06);//光标移动LCD_W(0,0x0c);//显示开和光标设置}/**********************************LCD

5、清屏函数**********************************/voidCLS(){LCD_W(0,0x01);//清屏}/**********************************LCD定位函数**********************************/voidLOCATE(ucharH,ucharL){if(H==1)//如果是第一行LCD_W(0,0x80+L-1);//定位在第一行第L列elseLCD_W(0,0x80+0x40+L-1);//否则定位在第二行第L列}/**********************************LCD

6、显示数值函数**********************************/voidLCD(unsignedlongnum){charn,m;unsignedlongww;if(num>9)//两位数以上进行处理显示{n=log10(num);//取数值的位数for(m=n;m>=0;m--)//从高位开始输出{ww=(num/pow(10,m));//从高位向低位依次取数ww=ww%10;//取各次的最低位数LCD_W(1,48+ww);//输出}}elseLCD_W(1,48+num);//一位数直接显示LCD_W(1,'');//显示空格LCD_W(1,'');//显示空

7、格LCD_W(1,'');//显示空格}/**********************************主函数**********************************/voidmain(){ucharkkk,keys,tmp=1;LCD_INIT();//LCD初始化CLS();//清屏while(1){if(AA==0)//开始检测是否旋转了开关{delayms(10);//消除抖动if(AA==0)//确实是旋转了,进行正反转判断{i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。