基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc

基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc

ID:58363494

大小:906.00 KB

页数:19页

时间:2020-04-17

基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc_第1页
基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc_第2页
基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc_第3页
基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc_第4页
基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc_第5页
资源描述:

《基于μPD78F0485单片机实验板的实时时钟程序设计与实现概要.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于μPD78F0485单片机实验板的实时时钟程序设计与实现专业:计算机科学与技术班级:11级学号:姓名:基于μPD78F0485单片机实验板的实时时钟程序设计与实现1实验环境硬件:PC、µPD78F0485单片机。软件:Windows7操作系统、开发环境支持软件NECElectronicsMicrocomputer、MicrosoftVisio绘图2功能描述a)液晶屏可切换显示日期和时间。b)具有日期和时间校对功能。c)用LED1~LED12模拟秒针走动。d)有闹钟功能。3总体设计3.1显示设计a)在LCD上显示

2、年月日,分别用两位数表示年月日。年的值从00~99;月的值从01~12;日的值如果是2月,闰年为01~29,平年为01~28,其他月份大月为01~31,小月为01~30。图3.1.1年月日的显示b)在LCD上显示星期时分,分别用两位数表示星期时分。星期的值从00~06,其中00表示星期天,其它的则一一对应;时采用24小时制,其值从00~23;分的值从00~59。图3.1.2星期时分的显示c)在LCD上显示时分秒。时采用24小时制,其值从00~23;分的值从00~59;秒的值从00~59。图3.1.3时分秒的显示3.

3、2时间显示切换设计设置一个全局变量i,初值为0。每按一下KEY1,i的值加一。当i=0,1,2,3时,LCD显示年月日。当i=4,5,6时,LCD显示星期时分。当i=7时,LCD显示时分秒。当i>7时,i自动变为0。3.3日期和时间校对设计通过前面设置的全局变量i和KEY3来实现。当i=1时,每按一下KEY3,年的值就加一,直到大于99时自动变为00。当i=2时,每按一下KEY3,月的值就加一,直到大于12时自动变为01。当i=3时,每按一下KEY3,日的值就加一,直到大于当月天数时自动变为01。当i=4时,每按一

4、下KEY3,星期的值就加一,直到大于06时自动变为00。当i=5时,每按一下KEY3,时的值就加一,直到大于23时自动变为00。当i=6时,每按一下KEY3,分的值就加一,直到大于59时自动变为00。3.4闹钟显示设计当按下KEY2时,LCD显示闹钟设定的时间。图3.4闹钟的显示3.5闹钟调整设计当按下KEY5时,闹钟的时就加一,到23时就归零。当按下KEY6时,闹钟的分就加一,到59时就归零。3.6闹钟开关设计通过KEY4控制闹钟的开关,并用LED灯的亮灭来显示。将LED灯端口的输出信号作为闹钟是否响铃的一个判断

5、条件。按下KEY4,LED灯的输出信号取反,输出信号为1时灯亮并且闹钟打开,为0时灯灭并且闹钟关闭。3.7闹钟响铃设计当闹钟设定的时分与时钟的时分相等并且闹钟处于打开状态时,蜂鸣器就会发出响声。3.8用LED1~LED12模拟秒针走动设计将端口13、14、15设置为输出模式,设置1个全局变量s,初值为-1。当1秒中断来到时s的值加一模12。根据s的值亮相应的灯,并且灭上一个灯。实现一秒亮一个灯。4功能模块设计4.1主模块图4.1主模块流程图当按键按下时,会改变KEY的值。当KEY1按下时,KEY的值就等于1,以此类

6、推。主模块是一个无限循环,当KEY改变时,它就会转到相应的分支,执行相应的的功能。从而响应用户的操作。如KEY2被按下,则主模块就会转到分支2,然后调用闹钟显示函数,显示闹钟的当前设置值。4.2初始化模块选定cpu的时钟为5.0Hz。将所有接LCD的引脚指定为LCD引脚,确定LCD的显示频率,打开LCD显示。将P4的六个端口设置为输出模式,接通上拉电阻,并且允许六个按键中断。将P13、14、15的所有端口设置为输出模式。将P3.3和P3.4端口设置为输出。选择8MHz内部高速时钟作为主系统时钟,实时计数器时钟=fp

7、rs/28=32.768KHz。将周期性定时中断打开,设置为24小时制,1秒定时中断。将年的初值设置为13,月初值为01,日初值为01,星期初值为00,时初值为12,分初值为00。4.3实时时钟模块利用实时计数器来实现实时时钟模块。实时计数器的秒计数寄存器、分计数寄存器、时计数寄存器、日计数寄存器、周计数寄存器、月计数寄存器、年计数寄存器在开启计数模式后会自动计数。然后只要在一秒中断到来时,将寄存器中的值读入对应变量中,送到显示刷新模块刷新后显示就能实现实时时钟了。4.4闹钟设置模块图4.4闹钟设置模块流程图利用变

8、量hour1和minute1来实现闹钟功能。当KEY5或KEY6被按下就会分别调用闹钟的调时、调分模块来设置闹钟的时间。Hour1的值大于23时归零,minute1的值大于59时归零。4.5INTRTC中断处理模块在一秒中断到来时,将实时计数器的秒计数寄存器、分计数寄存器、时计数寄存器、日计数寄存器、周计数寄存器、月计数寄存器、年计数寄存器中的值从BCD码转

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。