导航:首页 > 操作系统 > 单片机数码管读数很快

单片机数码管读数很快

发布时间:2022-12-11 16:46:22

单片机;为何LED1不闪烁,为何数码管变化速度比一秒快(已经将晶振设为11.0592)

void time2() interrupt 3
{
TH0=(65536-45872)/256;--改成 TH1
TL0=(65536-45872)%256;--改成 TL1
……

再试。

② 单片机八个数码管动态显示0~8,为什么刷新太快显示不了

显示了,你看不见
每一位字要点亮4~10ms,人眼才能看见

③ 单片机交通灯课程设计数码管时间走太快了,不知道是不是代码问题(附代码)

单片机交通灯数码管时间走太快了,就是代码问题。这代码写的太神奇了。看程序,T0定时是50ms,那应该是中断20次才是1秒,那个9是怎么算的来的?这个结果就是秒计时快了。



这样计秒非常不准确。

④ 这是一个单片机数码管从0往上加的程序,它的频率有点快,1秒跳2个数字,帮忙看下怎么改一秒跳一个数

你好
把延时时间加长,就能变慢
delay7ms();
多复制几次

⑤ 单片机为何led1不亮为何数码管显示速度比一秒快((晶振11.0592已经设置)

你这个定时中断函数timer2(),有问题,interrupt 3应该是定时器1,而不是定时器0,所以TH0、TL0应该是TH1/TL1。你先改一下试试

⑥ 51单片机问题,自己弄的一个电子钟,出现数字变化很快(秒变的很快),什么原因,求解释

试试下列修改:
void timer0() interrupt 1
{
TH0 = (65536 - 250) / 256;
TL0 = (65536 - 250) % 256;
tcnt++;
mstcnt++;
if(tcnt == 8) { //2毫秒定时,2毫秒刷新一次数码管.
tcnt = 0;
P0 = anxuan[weitable[jishu]];
P2 = xunhuan[jishu];
jishu++;
if(jishu == 6) jishu = 0;
}
if(mstcnt == 40000) { //1s时.
mstcnt = 0;
second++; //秒加1
if(second == 60) {
second = 0; //秒清零.
minite++; //分加1
if(minite == 60) {
minite = 0;
hour++;
if(hour == 24) hour = 0;
}
}
weitable[0] = second % 10;
weitable[1] = second / 10;
weitable[2] = minite % 10;
weitable[3] = minite / 10;
weitable[4] = hour % 10;
weitable[5] = hour / 10;
}
}
//===============
你关键性的错误在于下一条:
if(mstcnt==40000);//1s时
注意到了吗?末尾,多了一个分号。

⑦ 51单片机做的秒表显示在数码管上比实际快

频率是 11.0592MHz?

定时时间,不宜采用 1ms、0.5ms。

按照这样的时间,求出的初始值,会有小数。

取整后,必然会有误差。
----
(计数1000 时,...计数2000)

你按照计数 900、1200、1800 来设定初始值,再试试看。

⑧ 单片机数码管上的数字以200ms的速度从300减到253时停止,led以1s10次的速度闪烁

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳级数码管码表0-f
uchar led=0x00;
uchar cnt=0,dis[3],scan;
uint dat=300;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
cnt%=4;
if(cnt==0)dat--;
if(dat<=253)
{
dat=253;
P1=led;
led=~led;
}
}
void t1isr() interrupt 3
{
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
P2=1<<scan;
P0=table[dis[scan]];
scan++;
scan%=3;
}
void main()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
ET1=1;
TR0=1;
TR1=1;
EA=1;
while(1)
{
dis[0]=dat/100;
dis[1]=dat%100/10;
dis[2]=dat%10;
}
}

阅读全文

与单片机数码管读数很快相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:301
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163