单片机 数字钟课件.ppt
《单片机 数字钟课件.ppt》由会员分享,可在线阅读,更多相关《单片机 数字钟课件.ppt(33页珍藏版)》请在三一办公上搜索。
1、第3章 数字钟系统设计,本章主要内容一目的和要求二设计原则三 各模块的设计四 总调试和小结,一 设计目的和要求,1 目的:(1) 掌握单片机硬件资源的合理运用。(2) 掌握模块化程序设计的基本方法和设计过程。(3) 比较汇编语言程序与C语言程序的不同。,2 要求:芯片:AT89C51;功能:设计完成具有计时、调时、调闹多种功能的产品化的电子钟:上电即开始计时,用S0实现设置/工作状态的转换;S1 实现闹钟设置/工作状态的转换,S2实现时、分、秒的+1调整。用LED0LED5实现时、分、秒的显示,修改“时”时,加到23后“清0”,再加1;修改“分”时,加到59后“清0”,再加1。,二设计原则,
2、程序整体结构清晰、简洁、流程合理,主程序尽可能简单明了。 各种功能的实现应采用模块化、子程序化,以便于编制、阅读、连接、移植、修改和调试。 对各函数功能、参数及返回值类型等要明确,以便于分析调试。 程序存储区、数据存储区、寄存器区、位寻址区、堆栈区应规划合理,做到既节约资源又不会发生相互间的冲突。 运行状态标志化管理,对各功能程序的运行结果、操作状态应设置状态标志,以便查询和实现运行控制。* 运用软件或软硬件相结合等方法抑制干扰,提高系统的抗干扰能力。* 必要时可结合硬件采取加密措施。,数字钟程序模块划分,各模块对应的函数声明如下: void display(unsigned char *p)
3、; / 6位LED扫描函数,指针p为显示数据区 首地址 unsigned char keytest( ); / 测试键盘有无键按下 unsigned char search( ); / 查键值函数 void alarm(); / 闹钟判断启动函数 void ftion0(); / 时钟修改函数 void ftion1(); / 闹钟修改程序 void cum(); / 增1程序 void clock() interrupt 1; / 中断函数,该函数无需声明,C51程序与汇编语言程序变量定义对应关系,C51程序与汇编语言程序变量定义对应关系,主程序框图,C51程序源代码#pragma SMAL
4、L#include REG51.H#include absacc.h/*函数声明*void display(unsigned char *p); / 6位LED扫描函数,指针p为显示数据区首地址unsigned char keytest(); / 测试键盘有无键按下unsigned char search(); / 键盘扫描程序void alarm(); / 闹钟程序void ftion0(); / 时钟修改程序void ftion1(); / 闹钟修改程序void cum(); / 增1程序,/*全局变量定义*unsigned char clockbuf3=0,0,0; / 存放时、分、秒的
5、十进制数unsigned char bellbuf3=0,0,0; / 存放闹钟时、分、秒的十进制数unsigned char msec1,msec2; / msec1:10 ms中断次数, msec2:1 s循 环次 数unsigned char timdata,rtimdata; / 时钟和闹钟修改位置标志unsigned char count; / 闹钟启动后10 s计时单元unsigned char *dis_p; / 显示缓冲区指针unsigned char fcount; /闪烁计数单元bit armbit; / 闹钟标志, armbit=0, 闹钟没有设 定;armbit=1,闹
6、钟已设定bit rtimbit; / 闹钟是否启动标志,rtimbit=1,闹钟已启动 bit rhourbit; / 闹钟小时修改标志,rhourbit=1,正在修改闹钟小时bit rminbit; / 闹钟分修改标志,rminbit=1,正在修改闹钟分钟bit hourbit; / 时钟小时修改标志,hourbit=1,正在修改时钟小时bit minbit; / 时钟分修改标志,minbit=1,正在修改时钟分钟bit secbit; / 时钟秒修改标志bit flash; /闪烁标志位sbit P10=P10;sbit P27=P27;,/*主函数*main( ) unsigned ch
7、ar a; armbit=0; / 清零闹钟标识位 bellbuf0=23; / 设置闹钟单元初值 bellbuf1=59; clockbuf0=23;/ 设置时钟单元初值 clockbuf1=59; clockbuf2=59; msec1=0; / 设置10 ms中断次数初值 msec2=0; / 设置1 s中断次数初值 timdata=0; / 时钟内容修改位置记忆单元清零 rtimdata=0; / 闹钟内容修改位置记忆单元清零 count=0; / 闹钟启动后保持10 s计时单元清零 fcount=0; /闪烁计数单元清零 flash=0; /闪烁标志位清零,TMOD=0 x12;/
8、初始化定时器,定时器T0方式2,定时器T1方式1 TL0=0 x06; / 定时250 s初始值 TH0=0 x06; TH1=0X3C; TL1=0XB0; EA=1; / 中断允许控制断 ET0=1; / 定时器0开中断 TR0=1; / 启动定时器0 dis_p=clockbuf; / 将时钟值送入显示指针dis_p=1;,while(1) a=keytest(); if(a=0 x07) / 调用判别键入测试程序 display(dis_p); / 无键输入调用显示程序 if(armbit=1) alarm(); / 判别闹钟设定否,若设定了,则调闹 钟程序 else display(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字钟课件 数字 课件
链接地址:https://www.31ppt.com/p-1552718.html