找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

LCD1602电子时钟

查看数: 5107 | 评论数: 8 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-2-26 13:07

正文摘要:

/******************************************************************************** 实验名                           : 定时器实验* ...

回复

ID:161933 发表于 2017-5-18 21:26
middfat 发表于 2017-3-1 20:42
应该是你用了国产的1302,再使用了12pF的晶振的关系。这个情况我碰到两次,都是在晶振引脚对地加一个小电 ...

我是用的 定时器0 中断函数 实现计时的,50MS一计数,20计数为1秒,我实验了一下,26分钟,慢了87秒。平均慢3.34秒/分钟。

可以通过减少定时器初值,缩短定时器,计数周期的方法,提高走时速度吧?大家遇到这种情况,都 是怎样处理的?

请教了。
ID:99130 发表于 2017-3-3 13:27
在晶振的两只脚加上30PF左右的电容,对地。快了则加大电容容量,慢了则减小
ID:161933 发表于 2017-3-2 07:37
学习了,
ID:3212 发表于 2017-3-1 20:43
csz9981 发表于 2017-2-26 21:22
我把这个 程序 在实验板上运行了4个小时,感觉慢了好几分钟,请大家看看,误差产生在哪里?

应该是你用了国产的1302,再使用了12pF的晶振的关系。这个情况我碰到两次,都是在晶振引脚对地加一个小电容解决的。一次加了30p的(那时候没有再小得了),另一次加12p的。都能把精度提高到1分钟/月的级别。
ID:3212 发表于 2017-3-1 20:42
admin 发表于 2017-2-27 00:27
慢了好几分钟,可能是由晶振的误差导致的。你可以在软件中进行补偿。楼主 lcd.h 能帖出来一下吗?

应该是你用了国产的1302,再使用了12pF的晶振的关系。这个情况我碰到两次,都是在晶振引脚对地加一个小电容解决的。一次加了30p的(那时候没有再小得了),另一次加12p的。都能把精度提高到1分钟/月的级别。
ID:161933 发表于 2017-3-1 18:15
admin 发表于 2017-2-27 00:27
慢了好几分钟,可能是由晶振的误差导致的。你可以在软件中进行补偿。楼主 lcd.h 能帖出来一下吗?

#ifndef __LCD_H_
#define __LCD_H_
/**********************************
当使用的是4位数据传输的时候定义,
使用8位取消这个定义            
**********************************/
#define LCD1602_4PINS

/**********************************
包含头文件
**********************************/
#include<reg51.h>

//---重定义关键词---//
#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;

/**********************************
函数声明
**********************************/
/*在51单片机12MHZ时钟下的延时函数*/
void Lcd1602_Delay1ms(uint c);   //误差 0us
/*LCD1602写入8位命令子函数*/
void LcdWriteCom(uchar com);
/*LCD1602写入8位数据子函数*/       
void LcdWriteData(uchar dat)        ;
/*LCD1602初始化子程序*/               
void LcdInit();                                                  

#endif
ID:1 发表于 2017-2-27 00:27
慢了好几分钟,可能是由晶振的误差导致的。你可以在软件中进行补偿。楼主 lcd.h 能帖出来一下吗?
ID:161933 发表于 2017-2-26 21:22
我把这个 程序 在实验板上运行了4个小时,感觉慢了好几分钟,请大家看看,误差产生在哪里?

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表