微控制器時鐘程式 小時顯示不正確 求救!!!微控制器高手

2025-04-23 16:20:43 字數 3332 閱讀 4476

1樓:做而論道

此程式在微控制器上執行時 到24小時還不停,..

呵呵,讓它繼續執行,看它到底什麼時候停止。

其實,毛病困緩就出在下面幾行裡面:

dispa[4]++

if (dispa[4]>9)

p1_1=!p1_1;

dispa[4]=0;

dispa[5]++

if (i=86400-dispa[5]*3600-dispa[4]*3600-dispa[3]*600-dispa[2]*60-dispa[1]*10-dispa[0])

dispa[i]=0;

dispa[0]++

if 這一行太螞答覆雜了,樓主能說明一下嗎?

void time0_int(void) interrupt 1th0 = 65536-10000) /256;

tl0 = 65536-10000) %256;

i++;if (i ==1) {

p1_1 = p1_1; i = 0;

dispa[0]++

if (dispa[0] >9) {

p1_1 = p1_1; dispa[0] =0;

dispa[1]++

if (dispa[1] >5) {

p1_1 = p1_1; dispa[1] =0;

dispa[2]++

if (dispa[2] >9) {

p1_1 = p1_1; dispa[2] =0;

dispa[3]++

if (dispa[3] >5) {

p1_1 = p1_1; dispa[3] =0;

dispa[4]++

if ((dispa[4] >9) &dispa[5] <2) |dispa[4] >4) &dispa[5] =2))

p1_1 = p1_1; dispa[4] =0;

dispa[5]++

if (dispa[5] >2) dispa[5] =0;

2樓:絕望射手座

程式都有語法錯誤,襲蘆if (i=86400-dispa[5]*3600-dispa...單等號就不對,先檢查搜禪派檢查語世賀法類錯誤再說吧。

3樓:手機使用者

if (i=86400-dispa[5]*3600-dispa...是無效語句,無老蠢法執公升含散行。所以吵氏一直沒有停下來啊。

求助高手用微控制器做的時鐘,如何減少程式本身累積誤差

4樓:網友

用時鐘晶元的話,走時精度與其晶振頻率有關,跟微控制器程式和晶振關係不大,直接用微控制器晶振作時基的話,就與微控制器晶振頻率有關,一般用定時器中斷累積來產生秒訊號,與程式本身關係也不大, 如走時不準,可以微調定時器初值,定時時長要長一些,如50ms,這樣的時間段內程式可以不受幹 擾地作很多事情,不容易造成走時誤差。

微控制器的時鐘程式問題:為什麼不能正常走時?求解

5樓:匿名使用者

你的晶振是多大的,還有你的定時器在橋洞寫程式的時候裝初值一定要算好,比如敏衫枯,12mhz的,65536-46080,這樣比較精確點,好久沒用了,有塌差些都忘了。

6樓:匿名使用者

是不是沒進入中斷,或者說忘記清0

請微控制器高手來看看我的這個時鐘程式調時問題,調時過快

7樓:網友

讓按鍵按下時等待,釋放後在執行語句,就是這裡。

if(key2==0)

delay(40000);

if(key2==0)

把最後乙個if語句改成。專。

while( key2 == 0 );//key2按下會在此處等屬待,釋放後再往下執行。

8樓:

delay(40000);與後面延時bai程式n=40000導致延du

時時間zhi不可調。

將daovoid delay(uchar n)改為回void delay(long uchar n)將delay(40000);中的延時值變。

答大試試。

微控制器時鐘程式,求高手解決,新手分不多,還望見諒!麻煩指出錯誤的地方並解釋,方便的話附上完整程式

9樓:網友

我做的乙個,可以調整時間。

#include

unsigned char ledtab=;

unsigned char sec,min,hour,scanled;

unsigned char key,flashbit,mode,time;

unsigned char disdat[6];

void delay(unsigned int x)}}dischg();

void t1isr() interrupt 3 //顯示scanled++;

if(scanled>5)scanled=0;

main()

break;

case 0x02:

if(flashbit==0)break;

if(flashbit==1)

if(flashbit==2)

if(flashbit==3)

break;

case 0x04:

mode++;

mode&=0x01;

break;

default:break;}}

10樓:網友

看意思 是用的定時器做的時鐘。

11樓:網友

你應該把你程式要實現的具體功能講清楚,看起來就會明朗許多。

【微控制器】 時鐘程式 **時沒事,但實際顯示卻出現閃動 求高手幫助~

12樓:網友

這可能 與 使用 電池 的容量有關,如果容量不足 就可能出現上述情況。

不知使用 的 是什麼 電池。

新手用c寫的51微控制器電子鐘程式卻執行不了,求高手看看**錯了

13樓:網友

從警告的提示資訊來看,應該是你在程式中定義的函式和呼叫的函式名字有不一致的。

重點檢查一下函式名,有時候 1 、l 或者 0、o容易混淆,最好是定義函式後,複製函式名貼上使用。

可以發來**仔細看看。

14樓:網友

愛上覅及我餓奧斯卡發你我立刻那十幾蚊上來就可能額。

15樓:匿名使用者

發**看,你發警告資訊沒用。

微控制器程式解釋,微控制器程式解釋

222222222222222222222222222222222222 cnta equ 30h 定義cnta為暫存器30h count equ 31h 定義count為暫存器31h org 00h 程式開始 ljmp start 開始程式入口 org 0bh 定時器t0中斷程式入口地址,不過最好...

微控制器程式問題,微控制器程式問題

其實現在有部分高階的微控制器都有flash儲存區,不過我們一般是作為儲存程式用的,但其實也可以作為少量的資料區使用。但一般普通的51系列微控制器是不能的,只能外部擴充套件加eeprom,或者flash。只不過現在很多微控制器是內部由eeprom,擴充套件的資料flash,按照晶片的公司提供的data...

為什麼不用微控制器內部時鐘要外加時鐘晶片

微控制器內部的時鐘copy由於溫度 電磁,以及自身因素,經常是精度很低,所以不適合做時鐘,但值得注意的是也有一些微控制器自帶高精度內部時鐘。除了精度之外,微控制器外部是可以加晶振的,外加12兆的晶振後,微控制器的精度要比使用內部晶振時的精度大為提高,確實沒什麼問題。可能是你的程式的設計方面很可能是按...