找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

LCD1602電子時(shí)鐘

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

正文摘要:

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

回復(fù)

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

我是用的 定時(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)教了。
ID:99130 發(fā)表于 2017-3-3 13:27
在晶振的兩只腳加上30PF左右的電容,對(duì)地?炝藙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
我把這個(gè) 程序 在實(shí)驗(yàn)板上運(yùn)行了4個(gè)小時(shí),感覺(jué)慢了好幾分鐘,請(qǐng)大家看看,誤差產(chǎn)生在哪里?

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

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

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

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

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

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