1628驱动按键程序

1628驱动按键程序

ID:43516310

大小:40.00 KB

页数:5页

时间:2019-10-09

1628驱动按键程序_第1页
1628驱动按键程序_第2页
1628驱动按键程序_第3页
1628驱动按键程序_第4页
1628驱动按键程序_第5页
资源描述:

《1628驱动按键程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、/*文件名:TM1628*单片机型号:AT89S52*开发环境:KeiluVision3*晶震频率:12M*/#include#include#include"tm1628.h"#defineucharunsignedchar#defineuintunsignedint//定义控制端口sbitDIO=P2^0;sbitCLK=P2^1;sbitSTB=P2^2;//定义数据unsignedcharconstCODE[]={0x3f,0x06,0x5b,0x4f

2、,0x66,0x6d,0x7d,0x07,0xef,0x6f};//共阴数码管0-9的编码unsignedcharKEY[5]={0};//为存储按键值开辟的数组//向TM1628发送8位数据,从低位开始------------------------voidsend_8bit(uchardat){uchari;for(i=0;i<8;i++){if(dat&0x01)DIO=1;elseDIO=0;CLK=0;CLK=1;dat=dat>>1;}}//向TM1628发送命令------------

3、--------------------------voidcommand(ucharcom){STB=1;STB=0;send_8bit(com);}//读取按键值并存入KEY[]数组,从低字节开始,从低位开始----voidread_KEY(){uchari,j;command(0x42);//读键盘命令DIO=1;//将DIO置高for(j=0;j<5;j++)//连续读取5个字节5组8位20位for(i=0;i<8;i++){KEY[j]=KEY[j]>>1;CLK=0;CLK=1;if(D

4、IO)KEY[j]=KEY[j]

5、0X80;}STB=1;}//显示函数,1-7位数码管显示数字0-6----------------------------voidnodisplay(unsignedchar*s){uchari;command(0x03);//设置显示模式,7位10段模式command(0x40);//设置数据命令,采用地址自动加1模式command(0xc0);//设置显示地址,从00H开始for(i=0;i<7;i++)//发送显示数据{send_8bit(*s);//从00

6、H起,偶数地址送显示数据s++;send_8bit(0);//因为SEG9-14均未用到,所以奇数地址送全“0”}command(0x8F);//显示控制命令,打开显示并设置为最亮//read_KEY();//读按键值STB=1;}//按键处理函数-------------------------------------------------/*voidKEY_process(){//由用户编写}*///下边重新写定义unsignedcharkey_process(){switch(KEY[0])

7、//k1ks1k2ks10k2ks1k2ks20(k0-k7)高地位对调k7-k0实际是{case0x01:return1;break;case0x02:return2;break;case0x08:return3;break;case0x10:return4;break;default:return0;break;}switch(KEY[1]){case0x01:return5;break;case0x02:return6;break;case0x08:return7;break;case0x10

8、:return8;break;default:return0;break;}switch(KEY[2]){case0x01:return9;break;case0x02:return10;break;case0x08:return11;break;case0x10:return12;break;default:return0;break;}switch(KEY[3]){case0x01:return13;break;case0x02:return14;break;case0x08:return15;

9、break;case0x10:return16;break;default:return0;break;}switch(KEY[4]){case0x01:return17;break;case0x02:return18;break;case0x08:return19;break;case0x10:return20;break;default:return0;break;}}/*//主函数-----------------------------------------

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

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

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