历史上的今天
返回首页

历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2019年10月14日 | LCD1602&DS1302时钟测试程序+仿真图分享

2019-10-14 来源:eefocus

comments :
1、八线制驱动LCD1602B:PB0-PB7为数据线,PD3/PD4/PD6控制LCD1602B的RS,RW,EN。
2、设置和读取DS1302内部时钟,并通过LCD1602显示。
3、进行此实验请插上JP1、JP2的所有8个短路块,PC2、PC3、PC4、PC7短路块。
4、DS1302芯片接口占用JTAG仿真接口,在做实验时需要关闭mega16的JTAG功能,否则
   不正常显示。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
 

单片机源程序如下:


#include

#include

#include "ds1302.h"

#include "LCD1602.h"


void main(void) 

{

        unsigned char temp;


        Port_init();   //端口初始化

        LCD_init();    //LCD初始化

        LCD_clear();   //清屏

        ds1302_init(); //DS1302初始化

        delay_ms(10);

        ds1302_write_time(); //写入初始值


        while (1) 

        {

                delay_ms(200);       //每200ms更新一次时间

                ds1302_read_time();  //读取时间

                //LCD_clear();       //清屏

                                

                temp = (time_buf[0] >> 4) + '0';

                LCD_write_char(0, 0, temp);/*年*/

                temp = (time_buf[0] & 0x0F) + '0';

                LCD_write_char(1, 0, temp);

                temp = (time_buf[1] >> 4) + '0';

                LCD_write_char(2, 0, temp);

                temp = (time_buf[1] & 0x0F) + '0';

                LCD_write_char(3, 0, temp);

                LCD_write_char(4, 0, '-');

                

                temp = (time_buf[2] >> 4) + '0';

                LCD_write_char(5, 0, temp);/*月*/

                temp = (time_buf[2] & 0x0F) + '0';

                LCD_write_char(6, 0, temp);

                LCD_write_char(7, 0, '-');

                

                temp = (time_buf[3] >> 4) + '0';

                LCD_write_char(8, 0, temp);/*日*/

                temp = (time_buf[3] & 0x0F) + '0';

                LCD_write_char(9, 0, temp);

                

                LCD_write_str(0,1,"week:");

                temp = (time_buf[7]) + '0';

                LCD_write_char(5, 1, temp);  //周

                

                temp = (time_buf[4] >> 4) + '0';

                LCD_write_char(8, 1, temp);  //时

                temp = (time_buf[4] & 0x0F) + '0';

                LCD_write_char(9, 1, temp);

                LCD_write_char(10, 1, ':');

                

                temp = (time_buf[5] >> 4) + '0';

                LCD_write_char(11, 1, temp);/*分*/

                temp = (time_buf[5] & 0x0F) + '0';

                LCD_write_char(12, 1, temp);

                LCD_write_char(13, 1, ':');

                

                temp = (time_buf[6] >> 4) + '0';

                LCD_write_char(14, 1, temp);/*秒*/

                temp = (time_buf[6] & 0x0F) + '0';

                LCD_write_char(15, 1, temp);

        }

}


推荐阅读

史海拾趣

Euvis Inc公司的发展小趣事

随着公司实力的不断增强和市场需求的日益全球化,Euvis Inc公司开始实施国际化战略,积极拓展海外市场。公司在全球范围内设立研发中心和生产基地,与当地企业建立合作关系,共同开发适合当地市场的产品。通过国际化战略的实施,Euvis Inc公司成功实现了全球布局,为全球消费者提供了优质的产品和服务。

请注意,以上故事均为虚构内容,旨在为你提供一个关于电子行业公司发展起来的相关故事框架。如有需要,你可以根据这些框架进行进一步的创作和发挥。

智浦欣(Chipstar)公司的发展小趣事

在2010年4月的上海张江高科技园区,一群志同道合的工程师和创业者聚集在一起,共同创立了上海智浦欣微电子有限公司。他们怀揣着对模拟及数模混合IC技术的深厚理解和热爱,立志要在消费类电子市场占据一席之地。起初,公司面临着资金紧张、技术挑战和市场压力等多重困难,但团队成员凭借对技术的执着和对市场的敏锐洞察,逐步攻克难题,研发出了几款性能优越的音频放大器和电源管理产品,为公司赢得了初步的市场认可。

CYANLITE公司的发展小趣事

CYANLITE公司一直秉持着绿色环保的理念,致力于推广节能减排的照明产品。他们不仅在产品设计上注重节能和环保,还积极参与各种环保公益活动,向公众普及LED照明的优势。这种积极的环保态度使得CYANLITE公司在市场上树立了良好的形象,也吸引了越来越多的消费者选择他们的产品。同时,公司还积极与政府部门合作,推动LED照明在公共领域的普及和应用。

BSI公司的发展小趣事

在电子行业的初期,由于缺乏统一的标准,各种电子产品之间的兼容性和互通性成为了一个大问题。这时,BSI作为国际标准化组织的重要参与者,积极推动了电子产品的标准化工作。通过与各国政府、行业协会和企业的合作,BSI制定了一系列电子产品的标准,为行业的发展提供了可靠的参考依据。这些标准的出台,极大地促进了电子产品的互通性和兼容性,推动了电子行业的健康发展。

EVERLIGHT公司的发展小趣事

随着全球环保意识的不断提高,EVERLIGHT也积极响应环保号召,致力于研发和生产环保型LED产品。公司采用环保材料和节能技术,不断降低产品的能耗和废弃物排放。同时,公司还积极推广绿色照明理念,为客户提供环保、节能的照明解决方案。这种对环保的关注和实践让EVERLIGHT在电子行业中树立了良好的形象。

Gang Song Electronics Co Ltd公司的发展小趣事

作为物联网领域的领军企业之一,Telit(包含GainSpan的技术)不仅致力于技术创新和市场拓展,还积极参与行业标准的制定和生态建设的推动。通过与其他企业和组织的合作与交流,Telit推动了物联网技术的标准化和规范化发展。同时,它还积极构建物联网生态系统,与上下游企业建立紧密的合作关系,共同推动物联网产业的繁荣和发展。这些努力不仅提升了Telit在行业内的地位和影响力,也为整个物联网产业的发展做出了重要贡献。

问答坊 | AI 解惑

数字光端机传输的方式

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 由于数字技术与传统的模拟技术相比在很多方面都具有明显的优势,所以正如数字技术在许多领域取代了模拟技术一样,光端机的数字化也是一种必然趋势。目前,数字光端机主要有两种技术方式:一种 ...…

查看全部问答>

fpga与arm9之间的通讯!

fpga与arm9之间的通讯,具体方法有那些,希望搞过的朋友能指点下!谢谢!…

查看全部问答>

看看人家的收藏:德国古董硬木箱子的电子管鸡鸡

今天无意间看到一个好东东,眼前一亮啊! 来看看他的鸡鸡呀。。德国鬼子的电子管机器。用的全是猛料呀。15斤的硬木箱子清一色铜镀铬箱子配件(包角合页和锁扣)箱子看着像是红木的。原装东西没动过的!通电正常,整机耀耀生辉的古董。用了一共大小 ...…

查看全部问答>

ucGUI移植S3C2440显示问题, 显示俩次

我往S3C2440上移植ucGUI,做了一次Hello,World的小测试,结果Hello,world可以显示,但是现实的却是有俩个,本来应该在左上显示,但现在是左上也有,左下三分之二屏那也有,很奇怪,不知道哪些地方有问题,望高手解答!!!…

查看全部问答>

调用CreatFile函数后,如何根据其返回值判断设备当前的状态呢?

  我在做一个关于USB通信的程序,现在要求在没有装驱动或者设备没有插好的情况下,在上位机的程序中给出提示,该怎么实现,请高手指教。能不能通过调用CreatFile函数后再用GetLastError函数得到错误代码来进行区分呢,我试过,好象错误代 ...…

查看全部问答>

求助:各位大哥帮我看看这个问题啊,谢谢!

请教: 帮我看看这几个问题啊 1: 波特率发生器 是什么啊, 是不是 T0 ,T1 啊 2: 定时器预置数 这里计算出来的是  FA 是 TH1 = FA; TL1 = FA; 还是 TH1 = 0; TL1 = FA; 还是 TL1 = FA TH1 = 0; 谢谢! 3: T1 ...…

查看全部问答>

触摸屏的疑问

各位大虾好! 不好意思打搅你们了,想请教你们一个问题了. 我想把WINCE上面的触摸屏校正的算法移植到自己的平台上面来,我们平台的MCU是32位的,在WINCE中,我主要COPY了 3个函数,DdsiTouchPanelGetPoint(),TouchPanelSetCalibration(),TouchPanelCali ...…

查看全部问答>

讨论:您用wince正在开发哪些类型的软件?

大家现在用wince都在开发什么东东啊?说出来大家参考一下,好校正一下学习的方向,于已于人亦有益,您的一言将改变一代人的命运!…

查看全部问答>