音乐提示定时器课程设计_第1页
音乐提示定时器课程设计_第2页
音乐提示定时器课程设计_第3页
音乐提示定时器课程设计_第4页
音乐提示定时器课程设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

湖南工程学院 课 程 设 计 课程名称课程名称 微机原理与应用 课题名称课题名称 音乐提示定时器 专专 业业 班班 级级 学学 号号 姓姓 名名 指导教师指导教师 周向红 2011 年年 5 月月 30 日日 湖南工程学院 课 程 设 计 任 务 书 课程名称 微机原理与应用 课 题 音乐提示定时器 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011 年 5 月 30 日 任务完成日期 2011 年 6 月 15 日 设设计计内内容容与与设设计计要要求求 设计内容 以 51 系列单片机为核心 以开发板为平台 设计一个 音乐提示定时器 具备倒数计时 时间修改 音乐演奏等 功能 该定时器设置 4 个按键 K1 设置倒数时间为 60 分 钟 显示为 60 K2 设置倒数计时时间为 5 分钟 显示 为 05 K3 设置倒数计时时间为 10 分钟 显示为 10 K4 设置倒数计时时间为 20 分钟 显示为 20 一旦按 键后则开始倒计时 当计时为 0 则演奏一曲音乐 内定倒 数计时时间为 5 分钟 显示为 05 定时器可作为微电脑倒 数计数器 做一小段时间计时 放在家中使用 例如煮泡 面 煮开水或小睡片刻等 用于全自动洗衣机洗涤完毕音 乐提示定时器 设计任务包括控制系统硬件设计和应用程 序设计 设计要求 1 确定系统设计方案 2 进行系统的硬件设计 3 完成必要元器件选择 4 开发板焊接及测试 5 系统软件设计及调试 6 系统联调及操作说明 7 写说明书 主主 要要 设设 计计 条条 件件 1 1 MCS 51 单片机实验操作台 1 台 2 2 PC 机及单片机调试软件 仿真软件 proteus 3 3 开发板 1 块 4 4 制作工具 1 套 5 系统设计所需的元器件 说 明 书 格 式 目 录 第 1 章 概述 第 2 章 系统总体方案设计 第 3 章 硬件设计 第 4 章 软件设计及调试 第 5 章 系统联调及操作说明 第 6 章 总结 参考文献 附录 A 系统硬件原理图 附录 B 程序清单 进 度 安 排 设计时间分为二周 第一周 星期一 上午 布置课题任务 课题介绍及讲课 下午 借阅有关资料 总体方案讨论 星期二 分班级焊接开发板 星期三 确定总体方案 学习与设计相关内容 星期四 各部分方案设计 各部分设计 星期五 设计及上机调试 星期六 设计并调试 第二周 星期一 设计及上机调试 星期二 调试 中期检查 星期三 调试 写说明书 星期四 星期五上午 写说明书 完成电子版并打印成稿 星期五下午 答辩 参 考 文 献 1 王迎旭编 单片机原理与应用 M 机械工业出版社 2 楼然苗编 51 系列单片机设计实例 M 北京航空航天大学出版 社 3 黄勤编 计算机硬件技术基础实验教程 M 重庆大学出版社 4 刘乐善编 微型计算机接口技术及应用 M 华中科技大学出版 社 5 陈光东编 单片微型计算机原理及接口技术 M 华中科技大学 出版社 目录 第一章第一章 概述概述 6 第二章第二章 系统总体方案设计系统总体方案设计 7 第三章第三章 硬件设计硬件设计 7 第四章第四章 软件设计及调试软件设计及调试 9 第五章第五章 系统联调及操作说明系统联调及操作说明 14 第六章第六章 总结总结 14 附录附录 14 程序清单 14 参考文献参考文献 22 第一章第一章 概述概述 随着社会的进步 电子行业的发展 定时器的应用极大的方便了人们 的生活 定时关闭家用电器 如 空调 微波炉 电磁炉 洗衣机 定 时提醒 如 约会 小憩 本篇设计讨论了基于单片机的音乐提示定时 器 从降低硬件成本 方便用户操作出发 以软件为主 同时兼顾软硬件 升级 第二章第二章 系统总体方案设计系统总体方案设计 系统框图 本系统基于 STC 90C52RC 单片机 4 个 8 段数码管采用动态显示倒计 时时间 定时时间输入采用 4x4 矩阵键盘 虽然在本设计中只用到 4 个键 盘 考虑到系统升级故采用 4x4 矩阵键盘 本系统中 I O 口足够满足要 求 不需扩展 4x4 矩阵键盘 考虑系统升级 90c51 单片机 复位电路 4 个 8 段数码管 蜂鸣器 第三章第三章 硬件设计硬件设计 系统原理图 STC 90C52RC 单片机 与我们系统学习的 80C51 兼容 容易使用 4x4 矩阵键盘 本设计只需使用 4 个键盘 但考虑到以后系统升级 使用 4x4 矩阵键 盘 8 段数码管 根据需要显示分钟和秒钟 选用 4 个 8 段数码管 从硬件成本考虑使 用共阳极数码管 使用 PNP 三极管驱动 第四章第四章 软件设计及调试软件设计及调试 软件设计包括 信息输入 信息处理 显示输出 为了使程序清晰明了 采用调用子 程序设计方式 主要子程序包括 键盘扫描子程序 键值处理子程序 显示子程序 倒计时处理子程序 进制处理子程序 音乐播放子程序 主程序设计 MAIN CLR F0 清零用户标志位 MOV 33H 5H 默认 5 分钟倒计时 S1 BIT P2 0 标号位地址 便于编程 阅读和接线 S2 BIT P2 1 P1 口 显示输出 S3 BIT P2 2 S 为矩阵键盘列 S4 BIT P2 3 H1 BIT P2 4 H 为矩阵键盘行 H2 BIT P2 5 H3 BIT P2 6 H4 BIT P2 7 W1 BIT P0 0 W 为矩阵 7 段数码管 位选 W2 BIT P0 1 W3 BIT P0 2 W4 BIT P0 3 SETB W1 SETB W2 SETB W3 SETB W4 BELL BIT P3 7 MAIN1 LCALL CHECK KEYDOWN 键盘扫描子程序 LCALL TIME COUNTDOWN VALUE 倒计时初值子程序 AJMP MAIN1 首先程序初始化 对一些位地址进行标号 便于阅读 接线 编程及程序修改 对默认显示内容赋初值 程序调用关系 主程序 键盘扫描子程序 显示子程序 音乐播放子程序 按键处理子程序 显示子程序 去抖动 定时器 0 初始化子程序 定时器 1 初始化子程序 倒计时处理子程 序 键盘流程图 键扫描 是否有键按下 开始 去抖动 键值计算 Y N 键值为 0 倒 计时 5 分钟 键值为 1 倒 计时 10 分钟 键值为 2 倒 计时 20 分钟 键值为 3 倒 计时 60 分钟 显示流程图 开始 倒计时处理子程序 位选通 送字型码 延时子程序 关选通 返回 播放音乐流程图 开始 键盘扫描子程序 用户标志位是 否为 1 N 音乐播放子程序 是否按下复位键 N 结束 Y 第五章 系统联调及操作说明 软件的调试为硬件调试 初步写好源程序后 编译 下载到单片机学习版运行程 序 进行操作并查看现象 操作说明 开机后 即显示 05 00 默认倒计时 5 分钟 通过按键调整倒计时时间 0 号键倒计时 5 分钟 1 号键倒计时 10 分钟 2 号键倒计时 20 分钟 3 号键 倒计时 60 分钟 按键后即开始倒计时 在倒计时过程中可以通过按键调 整时间 倒计时时间到后 通过音乐提醒用户 按下复位键才能结束音乐 播放 否则持续播放音乐 第六章 总结 附录 程序清单程序清单 ORG 0000H AJMP MAIN ORG 000BH LJMP TIMER0 INT ORG 001BH LJMP TIMER1 INT ORG 0030H SAVE DB 00H 00H 00H 00H 00H 00H 预留空间备用 MAIN CLR F0 清零用户标志位 MOV 33H 5H 默认 5 分钟倒计时 S1 BIT P2 0 标号位地址 便于编程 阅读和接线 S2 BIT P2 1 P1 口 显示输出 S3 BIT P2 2 S 为矩阵键盘列 S4 BIT P2 3 H1 BIT P2 4 H 为矩阵键盘行 H2 BIT P2 5 H3 BIT P2 6 H4 BIT P2 7 W1 BIT P0 0 W 为矩阵 7 段数码管 位选 W2 BIT P0 1 W3 BIT P0 2 W4 BIT P0 3 SETB W1 SETB W2 SETB W3 SETB W4 BELL BIT P3 7 MAIN1 LCALL CHECK KEYDOWN 键盘扫描子程序 LCALL TIME COUNTDOWN VALUE 倒计时初值子程序 AJMP MAIN1 子程序 集 键盘扫描子程序 CHECK KEYDOWN LCALL SHOW 显示子程序 NOKEY0 MOV P2 0FFH 扫描第一行 CLR H1 LCALL KEYDOWN 扫描键盘按下子程序 JZ NOKEY1 LCALL SHOW MOV P2 0FFH CLR H1 LCALL KEYDOWN JZ NOKEY1 MOV 31H 00H LJMP NOKEY4 NOKEY1 MOV P2 0FFH 扫描第二行 CLR H2 LCALL KEYDOWN JZ NOKEY2 LCALL SHOW MOV P2 0FFH CLR H2 LCALL KEYDOWN JZ NOKEY2 MOV 31H 04H LJMP NOKEY4 NOKEY2 MOV P2 0FFH 扫描第三行 CLR H3 LCALL KEYDOWN JZ NOKEY3 LCALL SHOW MOV P2 0FFH CLR H3 LCALL KEYDOWN JZ NOKEY3 MOV 31H 08H LJMP NOKEY4 NOKEY3 MOV P2 0FFH 扫描第四行 CLR H4 LCALL KEYDOWN JZ NOKEY4 LCALL SHOW MOV P2 0FFH CLR H4 LCALL KEYDOWN JZ NOKEY4 MOV 31H 0CH NOKEY4 JB F0 MUSIC 用户标志位 为 1 则 播放音乐 JZ CHECK KEYDOWN LCALL CHECK 键盘 列扫描 子程序 ADD A 31H 至此可以知道 0 F 中的哪个键被按 下键值存 A 中保存 RET 扫描键盘按下子程序 KEYDOWN MOV A P2 检查是否有键被按下 ANL A 0FH 有键按下 A 不为 0 XRL A 0FH RET 键盘 列扫描 子程序 CHECK CJNE A 01H ZERO 第一列被按下 MOV A 00H LJMP OVER ZERO CJNE A 02H ONE 第二列被按下 MOV A 01H LJMP OVER ONE CJNE A 04H TWO 第三列被按下 MOV A 02H LJMP OVER TWO CJNE A 08H OVER 第四列被按下 MOV A 03H OVER RET 倒计时初值子程序 TIME COUNTDOWN VALUE LED0 CJNE A 00H LED1 30H 中存放倒计时时间值 MOV 30H 5 LJMP LED4 LED1 CJNE A 01H LED2 MOV 30H 10 LJMP LED4 LED2 CJNE A 02H LED3 MOV 30H 20 LJMP LED4 LED3 CJNE A 03H LED4 MOV 30H 60 LED4 MOV A 30H LCALL TIME SHOW 倒计时初值处理子程序 LCALL INTTIMER0 RET 倒计时初值处理子程序 TIME SHOW MOV B 10 32H 存放显示倒计时值分钟的高位 DIV AB 33H 存放显示倒计时值分钟的低位 MOV 32H A MOV 33H B RET 音乐播放子程序 MUSIC MOV TMOD 10H SETB EA SETB ET1 MOV DPTR MUSICTABLE MUSIC VALUE CLR A MOVC A A DPTR MOV R1 A INC DPTR CLR A MOVC A A DPTR MOV R0 A ORL A R1 JZ MUSIC STOP MOV A R0 ANL A R1 CJNE A 0FFH MUSIC TIME START SJMP MUSIC 定时器 1 初始化 MUSIC TIME START MOV TH1 R1 MOV TL1 R0 SETB TR1 SJMP MUSIC T LONG MUSIC STOP CLR TR1 MUSIC T LONG CLR A INC DPTR MOVC A A DPTR MOV R7 A TIME VALUE ACALL MUSIC TIME DELAY DJNZ R7 TIME VALUE R7 控制节拍延时次数 INC DPTR LJMP MUSIC VALUE 定时器 1 中断服务程序 TIMER1 INT MOV TH1 R1 MOV TL1 R0 CPL BELL 晶振发声 RETI 节拍延迟子程序 MUSIC TIME DELAY 节拍 延时 187ms MOV R6 02 D2 MOV R5 187 D3 MOV R4 248 DJNZ R4 DJNZ R5 D3 DJNZ R6 D2 RET 倒计时处理子程序 六十进制处理 TIME COUNTDOWN MOV A 35H CJNE A 1 COUNTDOWN1 MOV 35H 9 DEC 34H COUNTDOWN1 MOV A 34H CJNE A 1 COUNTDOWN2 MOV 34H 5 DEC 33H COUNTDOWN2 MOV A 33H CJNE A 1 COUNTDOWN3 MOV 33H 9 DEC 32H COUNTDOWN3 RET 7 段显示管显示子程序 SHOW LCALL TIME COUNTDOWN CLR W1 显示第一个字符 MOV A 32H LCALL SHOW1 SETB W1 CLR W2 显示第二个字符 MOV A 33H LCALL SHOW1 SETB W2 CLR W3 显示第三个字符 MOV A 34H LCALL SHOW1 SETB W3 CLR W4 显示第四个字符 MOV A 35H LCALL SHOW1 SETB W4 RET 字符显示子程序 SHOW1 MOV DPTR TABLE 送显示的字符 MOVC A A DPTR MOV P1 A JB W2 DELAY CLR P1 7 DELAY 延时 1ms 误差 0 651041666667us MOV R6 66H DL0 MOV R5 03H DJNZ R5 DJNZ R6 DL0 SETB P1 7 RET 定时器 0 初始化子程序 INTTIMER0 基础定时一分钟 改 R4 的值即可改变 定时时间 如 R4 5 为定时五分钟 MOV R4 30H 30H 单元存放初值 MOV R3 60 定时一分钟 MOV R2 100 定时一秒钟 MOV TMOD 01H MOV TH0 0DCH 利用基础定时的一秒钟显示倒计时效果 MOV TL0 00H SETB EA SETB ET0 SETB TR0 RET 定时器 0 中断服务程序 TIMER0 INT MOV TH0 0DCH MOV TL0 00H CJNE R2 1 L1 DEC 35H MOV R2 100 CJNE R3 1 L2 MOV R3 60 DJNZ R4 RTN SETB F0 用户标志位 置 1 CLR TR0 AJMP RTN L2 DEC R3 AJMP RTN L1 DEC R2 RTN RETI 待显示字符集 TABLE DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 88H 83H 0C6H 0

温馨提示

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

评论

0/150

提交评论