简单的单片机时钟课程设计_第1页
简单的单片机时钟课程设计_第2页
简单的单片机时钟课程设计_第3页
简单的单片机时钟课程设计_第4页
简单的单片机时钟课程设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电子时钟的制作 一 实现要求 1 实现时和分的显示 秒钟用发光二极管闪烁指示 2 实现一分钟倒计时功能 时间到 蜂鸣器自动报警 3 扩展其他功能 根据自己的兴趣增加其他功能 最低要求实现 1 和 2 的功能 扩展功能自我发挥 扩展功能是加分的关键 注 所有同学都必须做出实物 最终一个一个检查 并当场打分 二 系统框图 三 接线图 用到端口及实物连接 实物链接图 单片机 最小系统 按键 数码管 蜂鸣器 流水灯 最小系统板上的 VCC 和 GND 不够用 添加了插针 如图 各模块的 VCC GND 引脚都 连在此处 四 程序流程图 Jieshao 介绍 主程序开始 中断设置 进入死循环 蜂鸣器响应程序 时钟界面计数 显示时钟和分钟 外部中断 0 S1 是否按下 倒计时界面 时钟界面 中断返回 Y N 外部中断 0 S1 是否按下 倒计时界面 中断返回 外部中断 0 五 源程序 数字时钟程序 相关说明 1 功能 功能键 S1 选择两种不同的功能 功能 1 时钟显示 灯一秒钟闪烁一次 功能 2 倒计时 倒计时 1 分钟 数码管显示 到 0 蜂鸣器响 2 接线 数码管接线 A H 接 P0 0 P0 7 D1 D4 接 P1 0 P1 3 VCC 接电源正极 vcc 按键接线 S1 接 P3 2 外部中断 0 GND 接电源 GND 灯接线 接 P2 1 蜂鸣器接线 IO 接 P2 2 VCC GND 接电源 include reg52 h include intrins h define uint unsigned int define uchar unsigned char sbit LED P2 1 灯接 P21 sbit beep P2 2 蜂鸣器接 P22 IO 位 0 就响 共阳极数码管 段选 P0 位选 P1 uchar duan 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 uchar wei 0 x0e 0 x0d 0 x0b 0 x07 定时器 0 中断 中断返回 重置计时器初值 溢出次数清 0 并控制灯闪烁 一次 分钟加 1 溢出次数 10 闪烁次数是否 20 N Y Y N uchar k 0 j 0 i 0 计数次数 uchar second 0 minute 0 hour 0 count 5 bit flag1 0 功能选择键 bit flag2 0 void delay int x int y for x 0 x for y 100 y 0 y void Time0 init void 50 毫秒 12 000MHz TMOD 0 x01 设置定时器模式 1 16 位 TL0 0 xB0 设置定时初值 65536 50000 256 TH0 0 x3C 设置定时初值 65536 50000 256 TF0 0 清除 TF0 标志 TR0 1 定时器 0 开始计时 ET0 1 void time0 void interrupt 1 TL0 0 xB0 TH0 0 x3C k j if j 10 j 0 LED LED LED 灯每 0 5 秒状态改变一次 即一秒闪烁一次 if k 20 计数 20 次 每次中断 50ms 故 20 50ms 1s k 0 second if flag1 1 在功能 2 if flag2 1 是否倒计时完成 i if i 20 count i 0 void int0 init void 外部中断初始化 EX0 1 IT0 1 void int0 void interrupt 0 flag1 flag1 功能选择标志位 flag 1 倒计时界面 flag 0 时钟界面 if flag1 1 count 5 flag2 1 else count 5 void Time dispose void if second 60 second 0 minute if minute 60 minute 0 hour if hour 24 hour 0 显示函数 void display void if flag1 0 P1 0 xff 清 0 P0 duan hour 10 小时的十位 P1 wei 0 delay 3 P0 duan hour 10 小时的个位 P1 wei 1 delay 3 P0 duan minute 10 分的十位 P1 wei 2 delay 3 P0 duan minute 10 分的个位 P1 wei 3 delay 3 else if flag1 1 P1 0 xff 清 0 P0 duan count 10 分的十位 P1 wei 2 delay 3 P0 duan count 10 分的个位 P1 wei 3 delay 3 蜂鸣器响应函数 void Beep void if count 0 count 0 beep 0 flag2 0 倒计时完成 蜂鸣器一直响 else beep 1 void main Time0 init int0 init EA 1 while 1 Beep Time dispose display 六 总结 导入程序后 按下复位键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论