问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问单片机中要怎么用按键控制数码管显示的模式。。用C语言编程。。

发布网友 发布时间:2022-04-28 21:36

我来回答

3个回答

热心网友 时间:2023-09-16 19:45

可以用按键中断,也可以用按键查询。
用按键中断:如果按键按下就进入中断子程序里,然后在中断子程序里改变显示模式即可
按键查询:用while 语句查询某个按键是否按下,如果未按下则继续执行子程序,如果按键按下则跳入到事先写好的子程序,在子程序里改变显示模式
希望能帮到你!

热心网友 时间:2023-09-16 19:45

延时有问题,10毫秒试一试,假如闪的话就改小。还有P0接上拉电阻没?单片机晶振工作没?这都要测试的

热心网友 时间:2023-09-16 19:46

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit la=P2^6;
sbit wela=P2^7;
sbit key1=P3^4;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
uchar num,temp,num1;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan();
void display(uchar aa);
void main()
{
num=17;
la=1;
P0=0;
la=0;
wela=1;
P0=0xc0;
wela=0;

while(1)
{
display(keyscan());
}
}
void display(uchar aa)
{
la=1;
P0=table[aa-1];
la=0;
}
uchar keyscan()
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xee:num=1;
break;
case 0xde:num=2;
break;
case 0xbe:num=3;
break;
case 0x7e:num=4;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}

P3=0xfd;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xed:num=5;
break;
case 0xdd:num=6;
break;
case 0xbd:num=7;
break;
case 0x7d:num=8;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}

P3=0xfb;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xeb:num=9;
break;
case 0xdb:num=10;
break;
case 0xbb:num=11;
break;
case 0x7b:num=12;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}

P3=0xf7;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xe7:num=13;
break;
case 0xd7:num=14;
break;
case 0xb7:num=15;
break;
case 0x77:num=16;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
return num;

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 单片机按键控制数码管,在无按键10秒后,熄灭数码管,给个思路 单片机程序求修改,实现按键控制数码管0-9,急!!! 单片机用一个按键控制数码管显示图 中国有多少女变性男 为什么女人要变性成男人 女性变男性称为什么?变性人?除此之外呢? 女生可以变性成男生吗? 浙江省高级人民*关于审理城镇租赁合同的纠纷租赁合同上写着,如遇*拆迁,无条件退房,对一切损失 女生做变性手术可以彻底变成男生吗? 有两个支付宝帐号,如何把第一个取消? 变性的男人很多,怎么很少有女的变成男的? 女性能变性成为男生吗 为什么国家不提倡男变女,这样不就少了光棍,男女就平衡了 女人做变性手术可以彻底变成男人吗? 女性经过变性手术后成男性,可以在中国参军吗? 为什么女人不能变成男人? 女生变性成男生后,可以和正常人结婚吗? 你好,我是一个身份证两个手机号码注册了两个支付宝账号,所以想要注销一个? 中国变性合法吗 为什么在中国不能变性啊?再不能变性让我死了吧 求单片机按键控制数码管程序 在微信上咋设置密码? 数码管动态显示控制和按键识别方面,在程序设计时关键的注意点都是什么? 怎么设置微信图案密码的? 在微信上怎么设置密码 豆腐皮的做法,豆腐皮怎么炒好吃 用户更换手机号 没法使用网银怎么办 手机号码开通了网银的短信通,如果换号码怎么办 开通网银预留的手机号更换了怎么办 我在银行更换手机号码了,怎么网上银行,还是要以前的手机号 我的手机换号了我的网银还能用吗? 绑定网上银行的手机号码更换了,怎么办? 换了手机号没法使用网银怎么办? 脸上长痘痘,都不好意思出去见人了,反反复复的,喝什么药好 脸上长痘痘吃什么药才好? 脸上长痘痘吃什么药可以消除 脸上起了很多小的痘痘、吃什么药能快速去除呢? 脸上长痘痘吃什么药好呢?? 脸上长痘痘用什么药 要是脸上长痘 该用一些什么办法缓解呢?