项目7__简易数字电子时钟设计1.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目7__简易数字电子时钟设计1

1 任务基本要求: 数字电子时钟要完成的功能是显示小时、分和秒,是一台按秒计数并显示的计数器。其中小时采用24进制,秒和分采用60进制,显示形式为:15-45-34。 具备时间调整的功能 定时器0定时时间分析: 1) 8个数码管中每个数码管显示的时间为2.5ms,则 显示一个周期需要20ms,相当 于显示频率为50HZ,符合视觉暂留要求。 时间中最低位显示为“秒”,即每1000ms时间计数器加1。于是将定时器0的定时时间设为2.5ms,每次中断将点亮一位数码管,每400次中断,时钟计数器加1秒 波形表示 外部中断0功能: 将需要调整的时间位置移位,每当2次按键中只有一次移位(f_shift=1),另外一次保持不变(f_shift=0) 外部中断1功能: 对外部中断0指示(f_shift=1)的时间数字位进行调整,每次中断加1,如果不需要调整(f_shift=0),则按键无效,时间不变 主程序任务: 外部中断方式设置; 打开中断允许; 定时器工作方式设置; 定时器0初始值设置; 启动定时器0,关闭定时器1; 作 业: 在开发板上实现一个数字钟,时间显示及调节方式可以自己设定。 项目7 简易数字电子时钟设计 ★ 知识目标: 1. 掌握单片机对数码管的动态显示控制方式; 2. 掌握任意进制计数器的编程; 3. 应用单片机进行计数控制的原理; 4. 外部中断与定时中断的综合运用。 ★ 能力目标: 1. 掌握数字系统设计的思路; 2. 会利用电路仿真软件绘制简易数字电子时钟的电路原理图; 3. 会用keil C51软件对源程序进行编译调试及与protues软件联 调,实现电路仿真。 4 .能在硬件电路板上实现数字钟。 任务附加要求: 调整时间时,不影响时间其它位的显示 被调整的数字位能以不同的方式显示,不需要调 整时与其它位显示方式相同 DIP40 DIP18 DIP20 任务分析: 1.接口硬件需求分析: 8位数码管:显示时间 电路驱动芯片:74ACT244(正向驱动),P2口拉电流 ULN2803(反向驱动),P1口拉电流 按键:P3.2 指示需要调整的位 P3.3 调整对应时间位的值 2.内部定时器需求分析 时间计数定时 动态扫描定时 按键P3.2去抖动定时 按键P3.3去抖动定时 定时器0 定时器1 定时器0中断服务程序流程 重置计数初始值 显示缓冲区第K个数字 K++,如果K7,则K=0 中断次数变量i++ i=400? i=0 时间计数器加1 中断返回 定时2.5ms,计数器初始值: 65536-2500=63036=0XF63C 定时中断扫描显示 计数流程 一、延时后处理 1) 定时器1用于按键抖动消除,当p3.2/p3.3有按键按下时,外部中断请求标志IE0/IE1置1,设中断方式为边沿触发方式,进入外部中断程序,把定时器1打开TR1=1,同时关闭外部中断允许EX0/EX1=0,即可返回主程序。 2) 定时器1消除抖动,定时时间一般在10MS以上,进入定时器1的中断服务程序之后,关闭定时器,判断按键是否真的被按下,而不是抖动(p3.2/p3.3==0?),是抖动则直接返回主程序,否则处理对应按键的功能,退出中断之前将外部中断请求标志清0,并打开外部中断允许,保证每次按键外部中断只响应一次。 定时器去按键抖动方法: 外部中断0/1服务程序流程 置计数器1初始值 打开定时计数器1 关闭外部中断允许 中断返回 定时50ms,计数器初始值: 65536-50000=15536=0X3CB0 定时器1中断服务程序流程 关闭定时计数器1 TR1=0 P3.2=0 指示移位 P3.2p3.3==0? IE0=IE1=0 EX0=EX1=1 中断返回 P3.3=0 指示位加1 Y N 二、立即处理 1) 定时器1用于按键抖动消除,当p3.2/p3.3有按键按下时,外部中断请求标志IE0/IE1置1,设中断方式为边沿触发方式,进入外部中断程序,把定时器1打开TR1=1,同时关闭外部中断允许EX0/EX1=0,处理完中断任务,再返回主程序。 2) 定时器1定时时间一般在100MS(一般按键已经释放),进入定时器1的中断服务程序之后,关闭定时器,将外部中断请求标志清0,并打开外部中断允许,退出中断。 (根据按键习惯可以调节定时时间,如果特意按长键,将会多次中断) 定时器去按键抖动方法: 外部中断0/1服务程序流程 关闭外部中断允许 打开定时计数器1 处理外部

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档