课程设计基于单片机音乐倒数计时器的设计_第1页
课程设计基于单片机音乐倒数计时器的设计_第2页
课程设计基于单片机音乐倒数计时器的设计_第3页
课程设计基于单片机音乐倒数计时器的设计_第4页
课程设计基于单片机音乐倒数计时器的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告书课程名称 单片机应用技术 课程设计任务书课程设计题 目基于单片机音乐倒数计时器的设计课程设计时 间2013 年 3 月 25 日 2013 年 3 月 29 日课程设计小组成员课程设计目 的电类专业课程设计环节,是学习电类专业核心课程所必需的教学环节,是在教师的指导下,通过学生独立完成课题来实现对学生的综合性训练,培养学生运用课程中所学到的理论与实践紧密结合,独立解决实际问题的能力,同时也是对知识技能的巩固和深化课程设计任 务设计一个简易的倒数计数器课程设计主要技术指 标利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。做

2、一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。 课程设计进度计划3月25日 确立课题 构思3月26日 查找资料 3月27日 编写程序 绘制元件图3月28日 完成课题任务签发时间2013年3月25 日任务完成时间2013 3 月 29日学生签名指导教师签名课程设计报告书一、 设计功能描述用4个按键操作来设置当前想要倒计数的时间。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1K4动作如下。 K1可调整倒计数的时间160分钟。 K2设置倒计数的时间为5分钟,显示“0500”。 K3设置倒计

3、数的时间为10分钟,显示“1000”。 K4设置倒计数的时间为20分钟,显示“2000”。复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。此时,若: a. 按操作键K2增加倒计数的时间1分钟。 b. 按操作键K3减少倒计数的时间1分钟。 c. 按操作键K4设置完成。 二、系统分析与设计1.原理图 图1-1为音乐倒数计时器原理图,由复位电路,晶振电路,显示电路,输入电路组成,K1,K2,K3为设置时间开关,K4为确认开关,上电LED灯亮,进行设置,确认后倒计时开始,LED灯灭,时间到后发出音乐提醒。1-1音乐倒数计时器原理图2.单片机应用系统说明(单片机介

4、绍及最小系统说明) 51系列单片机由CPU、存储器、并行I/O口、 定时/计数器、串行口及中断系统等组成,其各组成 部分通过内部三总线相连。 (1)中央处理器(CPU) 中央处理器是整个单片机的核心部件,是8位 数据处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单片机系统协调工作, 完成运算和控制功能等操作。(2) 数据存储器(内部RAM) 89C51/89S51内部有256B RAM,其中包含 128B用户数据存储单元(地址为00H7FH)和128B 特殊功能寄存器单元(地址为0HFFH),它们是统 一编址的。特殊功能寄存器只能用于存放控制指令 数据,而不能用于存放用户

5、数据。所以用户能使用 的RAM只有128B,可存放读写的数据和运算的中 间结果等。 (3)程序存储器(内部ROM) 89C51/89S51内部有4KB Flash 存储器 (89C52/89S52有8KB),程序存储器用于存放用户 程序和原始数据等。 (4)定时/计数器 89C51/89S51有2个16位的可编程定时/计数器 T0和T1(89C52/89S52有3个,除T0、T1以外,还 有一个定时/计数器T2),实现定时或计数功能。(5)并行输入/输出(I/O)口 51系列单片机有4个8位并行I/O口(P0、 P1、 P2和P3),用于单片机与外部设备之间的数据并行 输入/输出。 (6)串行

6、口 51系列单片机内置一个全双工异步串行通信口, 用于单片机与其他具有相应接口的设备之间的异步 串行数据传送。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。对51系列单片机来说,单片机+晶振电路+

7、复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。应用89C51(52)单片机设计并制作一个单片机最小系统,达到如下基本要求:(1)具有上电复位和手动复位功能。(2)使用单片机片内程序存储器。(3)具有基本的人机交互接口。按键输入、LED显示功能。(4)具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的

8、x1和x2,晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,这时如果手按着一直不放,系统将一直复位,不能正常工作。1-2单片机晶振电路与复位电路图1-2为晶振电路与复位电路,又称单片机最小电路3.显示电路1-3显示电路图1-3为显示电路,显示电路由单片机和一个共阳4段数码管组成,P1为输入口,P2口为片选口。4输入电路1-4输入电路图图1-4为输入电路,上电K2,K3,K4为

9、时间设置,K1为确定,确定后K2,K3为微调,K4为确认,设置阶段LED灯亮,开始后灭,倒计时结束后又蜂鸣器输出音乐。三、 数据元件表数据元件表3-1元件名称元件个数单片机 AT89C511开关5470R电阻110K电阻1蜂鸣器1共阳四段 数码管1LED灯1石英晶体振荡器1电解电容1原片电容2四、程序设计1.流程图上电后进行第一次设置,K2为5分钟,K3为10分钟,K4为20分钟,K1为确定,按下K1后进行2次设定K2为加1分钟,K3为减1分钟,K4为确定,确定后开始倒计时,期间按任何开关无效,时间到蜂鸣器发出音乐,按下复位键结束再次设置。如图4-1所示。4-1流程图2.程序ORG 0000H

10、LJMP START ;跳转到主程序ORG 0003HLJMP JIA1FEN ;跳转到外部中断0ORG 000BHLJMP TIME0 ;跳转到计数器中断0ORG 0013HLJMP JIAN1FEN ;跳转到外部中断1ORG 0001BHLJMP TIME2 ;跳转到计数器中断1START:MOV IE,#0FH ;打开外部中断0 1口和计数器中断0 1口 MOV TCON,#05H ;让外部中断判别下降沿为信号 MOV TMOD,#11H ;让计数器中断0和1实行方式1 MOV TH0,#3CH ;T0赋1S初值 MOV TL0,#0B0H MOV R0,#0 ;秒钟赋初值 MOV R1

11、,#0 ;分钟赋初值 MOV R2,#20 ;T0 1S次数赋初值 MOV 40H,#00H;*初始时间的调试*K1:CLR P3.5 ;开启LED灯MOV A,R0 ;两位动态显示的主程序MOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#04HMOV P1,ALCALL TIME1MOV A,BMOVC A,A+DPTRMOV P2,#08HMOV P1,ALCALL TIME1K2:MOV A,R1MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,#01HMOV P1,ALCALL TIME1MOV A,BMOVC A,A

12、+DPTRMOV P2,#02HMOV P1,ALCALL TIME1JB P3.1,K3 ;按下K1按钮 确定时间JNB P3.1,$SETB EA ;开启EA,外部中断和计数器中断开启LJMP X1 ;跳转到时间微调子程序K3:JB P3.2,K4 ;按下K2按钮 给予5分钟定时JNB P3.2,$MOV R1,#5K4:JB P3.3,K5 ;按下K3按钮 给予10分钟定时JNB P3.3,$MOV R1,#10K5:JB P3.4,K1 ;按下K4按钮 给予20分钟定时JNB P3.4,$MOV R1,#20LJMP K1;*初始时间微调的子程序*X1: MOV A,R0MOV B,#

13、10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#04HMOV P1,ALCALL TIME1MOV A,BMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#08HMOV P1,ALCALL TIME1X2:MOV A,R1MOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#01HMOV P1,ALCALL TIME1MOV A,BMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#02HMOV P1,ALCALL TIME1JB P3.4,NEXT1 ;按下K4按钮 时间确定JN

14、B P3.4,$SETB TR0 ;开启计数器T0CLR EX0 ;关闭外部中断0(即K2开关)CLR EX1 ;关闭外部中断1(即K1开关)LJMP X1;*歌曲主程序*NEXT1:CJNE R0,#0,X1 ;比较秒钟是否已经为0,若为0则下一步,如不为则继续运行CJNE R1,#0,X1 ;比较分钟是否已经为0,若为0则下一步,如不为则继续运行CLR TR0SETB P3.6KAISI:MOV A,40H ;蜂鸣器播放音乐的主程序 MOV DPTR,#TABLE MOVC A,A+DPTR CJNE A,#00H,PLAY MOV 40H,#00H LJMP KAISI PLAY:MOV

15、 R3,A ANL A,#0FH MOV R5,A MOV A,R3 ANL A,#0F0H CJNE A,#00H,MUSIC CLR TR1 LJMP DELMUSIC:SWAP A DEC A MOV 22H,A ADD A,22H MOV R5,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV TH1,A MOV 21H,A MOV A,R5 INC A MOVC A,A+DPTR MOV TL1,A MOV 20H,A SETB TR1 DEL: LCALL DELAY1 INC 40H JB P3.1,HUIQU ;按下按钮关闭音乐,并重新赋值,待再次开启

16、JNB P3.1,$ LJMP STARTHUIQU:LJMP KAISI;*所有程序的子程序*DELAY1:MOV R7,#0EH ;音乐程序的延时子程序 L11:MOV R6,#125 L22:MOV R5,#248 DJNZ R5,$ DJNZ R6,L22 DJNZ R7,L11 RETJIA1FEN:CLR EA ;外部中断0,分钟微调加1分钟INC R1CJNE R1,#60,Q1 ;比较分钟是否到60MOV R1,#1 ;分钟到60重新赋值Q1:SETB EARETIJIAN1FEN:CLR EA ;外部中断1,分钟微调减1分钟CJNE R1,#1,Q2 ;比较分钟是否到1MOV

17、 R1,#60 ;分钟到1重新赋值Q2:DEC R1 SETB EA RETITIME0:DJNZ R2,NEXT ;计数器中断0,T0溢出20次即1秒MOV R2,#20 ;R2重新赋值CJNE R0,#0,Q4 ;比较秒钟是否为0CJNE R1,#0,Q3 ;比较分钟是否为0SETB TR1 ;开启计数器中断1Q3:MOV R0,#60 ;秒钟重新赋值DEC R1 ;减少1分钟DEC R0 ;减少1秒钟LJMP NEXTQ4:DEC R0 ;减少1秒钟NEXT:MOV TH0,#3CH ;T0重新赋初值MOV TL0,#0B0HRETITIME2:PUSH ACC ;音乐程序使用的计数器中

18、断1 PUSH PSW CPL P0.7 CPL P0.0 MOV TL1,20H MOV TH1,21H POP PSW POP ACC RETITIME1:MOV R4,#250 ;动态显示1MS的延时子程序Q5:NOPNOPDJNZ R4,Q5MOV P2,#00H ;关闭片选口RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数码管显示断码表TABLE1:DW 64260,64400,64580,64684,64777,64898,64968 ;乐谱表TABLE:DB 54H,64H,38H,44H,54H,18H,34H,44H,54H,64H,4CH ;音符断码表 DB 54H,64H,38H,44H,54H,28H,44H,14H,44H,54H,3CH DB

温馨提示

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

评论

0/150

提交评论