单片机按键控制数码管.doc

单片机按键控制数码管.doc

ID:54969694

大小:14.00 KB

页数:2页

时间:2020-04-25

单片机按键控制数码管.doc_第1页
单片机按键控制数码管.doc_第2页
资源描述:

《单片机按键控制数码管.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、K1-K4控制数码管移位显示/*名称:K1-K4控制数码管移位显示说明:按下K1时加1计数并增加显示位,按下K2时减1计数并减少显示位,按下K3时清零。*/#include#defineucharunsignedchar#defineuintunsignedint//段码ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//位码ucharcodeDSY_Index[]={0x80,0x40,0x

2、20,0x10,0x08,0x04,0x02,0x01};//待显示到各数码管的数字缓冲(开始仅在0位显示0,其他黑屏)ucharDisplay_Buffer[]={0,10,10,10,10,10,10,10};//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}voidShow_Count_ON_DSY(){uchari;for(i=0;i<8;i++){P0=0xff;P0=DSY_CODE[Display_Buffer[i]];P2=DSY

3、_Index[i];DelayMS(2);}}//主程序voidmain(){uchari,Key_NO,Key_Counts=0;P0=0xff;P1=0xff;P2=0x00;while(1){Show_Count_ON_DSY();P1=0xff;Key_NO=P1;//P1口按键状态分别为K1-0xfe,K2-0xfd,K3-0xfbswitch(Key_NO){case0xfe:Key_Counts++;if(Key_Counts>8)Key_Counts=8;Display_Buffer[Key_Cou

4、nts-1]=Key_Counts;break;case0xfd:if(Key_Counts>0)Display_Buffer[--Key_Counts]=10;break;case0xfb:Display_Buffer[0]=0;for(i=1;i<8;i++)Display_Buffer[i]=10;Key_Counts=0;}//若键未释放则仅刷新显示,不进行键扫描while(P1!=0xff)Show_Count_ON_DSY();}}

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

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

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