欢迎来到天天文库
浏览记录
ID:25583992
大小:223.50 KB
页数:8页
时间:2018-11-21
《proteus 78 4x4矩阵键盘设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Proteus7.8矩阵键盘设计烟台大学光电信息学院093-1李红瑞基于Proteus7.8的矩阵键盘设计,供单片机爱好者参考。1、proteus绘制的原理图局部放大图:局部放大图:局部放大图:局部放大图:局部放大图:8局部放大图:单片机部分:数码管部分:8矩阵键盘部分:8Led显示部分:仿真如下:(键盘键值对应规则:自左向右,自上而下依次是1--16)8按下左上方键盘,按下第三行第二列8附:keil源程序#include#includesbits0=P1^0;sbits1=P1^1;unsignedchartab[
2、]={0xfe,0xfd,0xfb,0xf7};unsignedcharcodekeymap[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};unsignedcharcodenum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharkey;//键值voiddelay50ms(void)//误差0us{unsignedchara,b;for(b=173;b>0;b--)for(a=143;a>0;a--);}voiddelay2ms(void
3、)//误差0us8{unsignedchara,b;for(b=4;b>0;b--)for(a=248;a>0;a--);_nop_();//ifKeil,requireuseintrins.h}//************************************//voiddisplay(unsignedcharDATA){s0=1;s1=0;P2=num[DATA/10];delay50ms();s0=0;s1=1;P2=num[DATA%10];delay50ms();}/*****************************/voidma
4、in(){unsignedcharrow,col;unsignedcharx,y;while(1){for(row=0;row<4;row++){P0=tab[row];x=P0;if((x&tab[row])!=tab[row])//第row+1行有按键按下{delay2ms();if((x&tab[row])!=tab[row])//第row+1行有按键按下{y=0x10;for(col=0;col<4;col++){if((P0&y)==0){key=keymap[row*4+col];break;8}y<<=1;}}}}display(key);}}
5、8
此文档下载收益归作者所有