51单片机单只数码管循环显示0-9

C语言如下怎么改才能加入按K1暂停再次继续K2复位的功能#include<reg51.h>#defineucharunsignedchar;ucharLED1,LED2;... C语言如下 怎么改才能加入按K1暂停再次继续 K2复位的功能
#include<reg51.h>#define uchar unsigned char;uchar LED1,LED2;uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar num=0;sec,key;void delay(unsigned int a){unsigned int i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);}void display()(){LED1=sec/10;LED2=sec%10;P2=0x01;P0=distab[LED1];delay(3);P2=0x02;P0=distab[LED2];delay(3);}void t0isr() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num>=20) { num=0; sec++; }}main(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;LED1=0;LED2=0;while(1){key=P1;if((key&0x0f)!=0x0f) { delay(10); key=P1&0x0f; if(key!=0x0f) { switch(key) { case 0x0e:TR0=0;break; case 0x0d:sec++;break; case 0x0b:sec--;break; case 0x07:TR0=1;break; default:break; } } })display()();}}
展开
 我来答
百度网友7247a56
2014-01-09 · TA获得超过4616个赞
知道大有可为答主
回答量:1422
采纳率:92%
帮助的人:489万
展开全部

根据你的代码,我画出了仿真图,和修改后的程序在附件中。楼主可以自己改成单个显示的,有问题请追问。


东莞市友贸实业有限公司_
2023-11-22 广告
第五代双倍数据速率DDR5双列直插式内存模块是一种高速、高性能的内存模块,适用于需要高带宽和低延迟的应用场景。与前几代内存模块相比,DDR5双列直插式内存模块具有更高的数据传输速率和更低的功耗,同时提供了更大的内存容量和更高的可靠性。在数据... 点击进入详情页
本回答由东莞市友贸实业有限公司_提供
852849931
2014-01-08 · TA获得超过135个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:155万
展开全部
太乱了,怎么看。 K1暂停可以将TR0=0关闭定时器(检测K1按下的次数如keyK1=1时关闭定时器,keyk1=2时打开定时器,且必须重装TH0和TL0的值以保障精准) K2复位将num值清零。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2014-01-08 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
……
while(1) {
key=P1;
if((key&0x0f)!=0x0f) {
delay(10);
key=P1&0x0f;
if(key!=0x0f) {
switch(key) {
case 0x0e:TR0 = ~TR0;break; //暂停、继续
case 0x0d:sec++;break;
case 0x0b:sec--;break;
case 0x07:sec = 0;break; //清零
default:break;
}
……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式