找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

LCD1602電子時鐘

查看數(shù): 5073 | 評論數(shù): 8 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2017-2-26 13:07

正文摘要:

/******************************************************************************** 實(shí)驗(yàn)名                           : 定時器實(shí)驗(yàn)* ...

回復(fù)

ID:161933 發(fā)表于 2017-5-18 21:26
middfat 發(fā)表于 2017-3-1 20:42
應(yīng)該是你用了國產(chǎn)的1302,再使用了12pF的晶振的關(guān)系。這個情況我碰到兩次,都是在晶振引腳對地加一個小電 ...

我是用的 定時器0 中斷函數(shù) 實(shí)現(xiàn)計(jì)時的,50MS一計(jì)數(shù),20計(jì)數(shù)為1秒,我實(shí)驗(yàn)了一下,26分鐘,慢了87秒。平均慢3.34秒/分鐘。

可以通過減少定時器初值,縮短定時器,計(jì)數(shù)周期的方法,提高走時速度吧?大家遇到這種情況,都 是怎樣處理的?

請教了。
ID:99130 發(fā)表于 2017-3-3 13:27
在晶振的兩只腳加上30PF左右的電容,對地?炝藙t加大電容容量,慢了則減小
ID:161933 發(fā)表于 2017-3-2 07:37
學(xué)習(xí)了,
ID:3212 發(fā)表于 2017-3-1 20:43
csz9981 發(fā)表于 2017-2-26 21:22
我把這個 程序 在實(shí)驗(yàn)板上運(yùn)行了4個小時,感覺慢了好幾分鐘,請大家看看,誤差產(chǎn)生在哪里?

應(yīng)該是你用了國產(chǎn)的1302,再使用了12pF的晶振的關(guān)系。這個情況我碰到兩次,都是在晶振引腳對地加一個小電容解決的。一次加了30p的(那時候沒有再小得了),另一次加12p的。都能把精度提高到1分鐘/月的級別。
ID:3212 發(fā)表于 2017-3-1 20:42
admin 發(fā)表于 2017-2-27 00:27
慢了好幾分鐘,可能是由晶振的誤差導(dǎo)致的。你可以在軟件中進(jìn)行補(bǔ)償。樓主 lcd.h 能帖出來一下嗎?

應(yīng)該是你用了國產(chǎn)的1302,再使用了12pF的晶振的關(guān)系。這個情況我碰到兩次,都是在晶振引腳對地加一個小電容解決的。一次加了30p的(那時候沒有再小得了),另一次加12p的。都能把精度提高到1分鐘/月的級別。
ID:161933 發(fā)表于 2017-3-1 18:15
admin 發(fā)表于 2017-2-27 00:27
慢了好幾分鐘,可能是由晶振的誤差導(dǎo)致的。你可以在軟件中進(jìn)行補(bǔ)償。樓主 lcd.h 能帖出來一下嗎?

#ifndef __LCD_H_
#define __LCD_H_
/**********************************
當(dāng)使用的是4位數(shù)據(jù)傳輸?shù)臅r候定義,
使用8位取消這個定義            
**********************************/
#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ù)*/
void Lcd1602_Delay1ms(uint c);   //誤差 0us
/*LCD1602寫入8位命令子函數(shù)*/
void LcdWriteCom(uchar com);
/*LCD1602寫入8位數(shù)據(jù)子函數(shù)*/       
void LcdWriteData(uchar dat)        ;
/*LCD1602初始化子程序*/               
void LcdInit();                                                  

#endif
ID:1 發(fā)表于 2017-2-27 00:27
慢了好幾分鐘,可能是由晶振的誤差導(dǎo)致的。你可以在軟件中進(jìn)行補(bǔ)償。樓主 lcd.h 能帖出來一下嗎?
ID:161933 發(fā)表于 2017-2-26 21:22
我把這個 程序 在實(shí)驗(yàn)板上運(yùn)行了4個小時,感覺慢了好幾分鐘,請大家看看,誤差產(chǎn)生在哪里?

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表