導航:首頁 > 操作系統 > 單片機數碼管讀數很快

單片機數碼管讀數很快

發布時間: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;
}
}

閱讀全文

與單片機數碼管讀數很快相關的資料

熱點內容
車上顯示伺服器未激活是什麼意思 瀏覽:621
海歸程序員回國求職 瀏覽:9
單片機哪個工作區可以切換4個區 瀏覽:472
2019彩六改伺服器地址 瀏覽:414
程序員女有什麼特點 瀏覽:518
程序員的行情如何 瀏覽:309
程序員老宅視頻 瀏覽:556
安卓手機如何使用藍牙鍵鼠 瀏覽:233
u盤安裝redhatlinux 瀏覽:54
電腦u盤加密要不要空間 瀏覽:431
程序員對普通人發信息 瀏覽:138
php向下取整函數 瀏覽:498
信源編解碼實驗分析 瀏覽:479
前端程序員需要什麼證書 瀏覽:114
蚌埠前端程序員私活收入是多少 瀏覽:488
自動關機dos命令 瀏覽:325
我的app為什麼打不開 瀏覽:160
華為手機更新app放在哪裡 瀏覽:784
阿里雲伺服器包含數據嗎 瀏覽:304
伺服器的密封是什麼 瀏覽:153