熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2017-2-26 13:07
正文摘要:/******************************************************************************** 實(shí)驗(yàn)名 : 定時(shí)器實(shí)驗(yàn)* ... |
middfat 發(fā)表于 2017-3-1 20:42 我是用的 定時(shí)器0 中斷函數(shù) 實(shí)現(xiàn)計(jì)時(shí)的,50MS一計(jì)數(shù),20計(jì)數(shù)為1秒,我實(shí)驗(yàn)了一下,26分鐘,慢了87秒。平均慢3.34秒/分鐘。 可以通過(guò)減少定時(shí)器初值,縮短定時(shí)器,計(jì)數(shù)周期的方法,提高走時(shí)速度吧?大家遇到這種情況,都 是怎樣處理的? 請(qǐng)教了。 |
在晶振的兩只腳加上30PF左右的電容,對(duì)地?炝藙t加大電容容量,慢了則減小 |
學(xué)習(xí)了, |
csz9981 發(fā)表于 2017-2-26 21:22 應(yīng)該是你用了國(guó)產(chǎn)的1302,再使用了12pF的晶振的關(guān)系。這個(gè)情況我碰到兩次,都是在晶振引腳對(duì)地加一個(gè)小電容解決的。一次加了30p的(那時(shí)候沒(méi)有再小得了),另一次加12p的。都能把精度提高到1分鐘/月的級(jí)別。 |
admin 發(fā)表于 2017-2-27 00:27 應(yīng)該是你用了國(guó)產(chǎn)的1302,再使用了12pF的晶振的關(guān)系。這個(gè)情況我碰到兩次,都是在晶振引腳對(duì)地加一個(gè)小電容解決的。一次加了30p的(那時(shí)候沒(méi)有再小得了),另一次加12p的。都能把精度提高到1分鐘/月的級(jí)別。 |
admin 發(fā)表于 2017-2-27 00:27 #ifndef __LCD_H_ #define __LCD_H_ /********************************** 當(dāng)使用的是4位數(shù)據(jù)傳輸?shù)臅r(shí)候定義, 使用8位取消這個(gè)定義 **********************************/ #define LCD1602_4PINS /********************************** 包含頭文件 **********************************/ #include<reg51.h> //---重定義關(guān)鍵詞---// #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif /********************************** PIN口定義 **********************************/ #define LCD1602_DATAPINS P0 sbit LCD1602_E=P2^7; sbit LCD1602_RW=P2^5; sbit LCD1602_RS=P2^6; /********************************** 函數(shù)聲明 **********************************/ /*在51單片機(jī)12MHZ時(shí)鐘下的延時(shí)函數(shù)*/ void Lcd1602_Delay1ms(uint c); //誤差 0us /*LCD1602寫(xiě)入8位命令子函數(shù)*/ void LcdWriteCom(uchar com); /*LCD1602寫(xiě)入8位數(shù)據(jù)子函數(shù)*/ void LcdWriteData(uchar dat) ; /*LCD1602初始化子程序*/ void LcdInit(); #endif |
慢了好幾分鐘,可能是由晶振的誤差導(dǎo)致的。你可以在軟件中進(jìn)行補(bǔ)償。樓主 lcd.h 能帖出來(lái)一下嗎? |
我把這個(gè) 程序 在實(shí)驗(yàn)板上運(yùn)行了4個(gè)小時(shí),感覺(jué)慢了好幾分鐘,請(qǐng)大家看看,誤差產(chǎn)生在哪里? |
Powered by 單片機(jī)教程網(wǎng)