永发信息网

单片机:K1~K4控制数码管加减演示 流程图!!!

答案:2  悬赏:60  手机版
解决时间 2021-11-25 03:11
单片机:K1~K4控制数码管加减演示 流程图!!!
最佳答案
看了你的程序,真让人无语啊,一个简单的加减数程序竟然能编写成这么繁琐




首先,你的数码管编码不对,除非你是自己做的硬件电路


再有,你的按键处理部分不好,也许可以实现你的功能吧,我没有验证


玩单片机这么久了,从没见过这样进行按键处理的


别的不多说了,给你一个我自己编写的加减数程序吧


端口已经按照你的板子连线改好了,至于数码管的编码,如果不对,你再自行修改吧


如果看不懂,或任何疑问,可以随时追问,也可私密我加个好友


#include
sbit K1=P1^0; sbit K2=P1^1; sbit K3=P1^2;//按键端口定义
unsigned  int count;//数码管显示用变量
char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码

void delay(char x) {char j;for(;x>0;x--){for(j=100;j>0;j--);}}//延时

void display(int xs)//四位数码管显示
{
     char d1,d2,d3,d4;
     d1=(xs/1)%10;       d2=(xs/10)%10;
     d3=(xs/100)%10;   d4=(xs/1000)%10;
     P0=table[d1]; P2=0x01; delay(5); P2=0x00;
     P0=table[d2]; P2=0x02; delay(5); P2=0x00;
     P0=table[d3]; P2=0x04; delay(5); P2=0x00;
     P0=table[d4]; P2=0x08; delay(5); P2=0x00;
}

void key()//按键处理
{
     if(K1==0){delay(10);if(K1==0){count++;}while(!K1){display(count);}}//加一
     if(K2==0){delay(10);if(K2==0){count--;}while(!K2){display(count);}}//减一
     if(K3==0){delay(10);if(K3==0){count=0;}while(!K3){display(count);}}//清零
     display(count); if(count>9999){count=0;}//调用显示函数 及 防止溢出
}

void main(){count=1234; while(1){key();}}//主函数

全部回答
要Proteus仿真吗
我做单片机设计的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
将分针拨慢10分钟,则分针转过的角度是多少
用主谓短语,动宾短语造句?
减速机gr87-y7.5-4p-0-13.33-m1 什么意思
惠州华智信实业有限公司怎么样?
Miss Li is a teacher.同义句
入户门对着厕所门可以放鱼缸遮挡吗
我放学回家一会儿干什么一会儿干什么
班组鉴定怎么写
4 6 10 14 22 ____ 34 38 46 横线处应该是多
首尔的的士价钱,从仁川机场打车去明洞一般需
这几个网贷 那些上征信??那些可以不还
2015新乡豫北驾校国庆节期间能预约考试科二吗
健士达美容保健spa馆地址在什么地方,想过去
端字的字谜
ppt如何设置打印为A3纸大小,急求
推荐资讯
我的老公没有朋友怎么办呀?
仓储用地是否可以建工厂
小产能算意外吗?意外保险能赔偿吗?
新工人进厂三级安全教育是什么
芭比·博朗风格造型沙龙地址在什么地方,
现在学汽车专业好吗?有前途吗?
上海杏俊贸易有限公司怎么样?
元宝棋牌会所(元宝文体会所)地址好找么,我有
z281列车经过上海南是不是松江南
山里抓了几只昆虫,请问都叫什么名字?谢谢
robberybob冬天第十四关怎么过
疑问词有哪些?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?