论文音乐倒计时装置设计.docx
- 文档编号:25823145
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:26
- 大小:114.22KB
论文音乐倒计时装置设计.docx
《论文音乐倒计时装置设计.docx》由会员分享,可在线阅读,更多相关《论文音乐倒计时装置设计.docx(26页珍藏版)》请在冰豆网上搜索。
论文音乐倒计时装置设计
音乐倒计时装置设计
赵子豪
目录
摘要1
1绪论1
1.1功能需求2
2硬件设计2
2.1音乐倒计时装置的电路原理图2
2.2电源输入的电路原理图4
2.3键盘输入电路4
2.4LED显示电路5
3系统工作原理6
3.1系统的总体方案设计6
3.2主控芯片AT89C51简介6
3.3键盘电路设计7
3.4LED数码显示器的结构7
4软件设计8
4.1程序流程图8
5结论9
6结束语10
参考文献11
附录一12
摘要
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法。
关键词:
LED数码显示器,51单片机,倒计时器
1绪论
51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。
在社会生活和生产的各个领域中,凡是有自动控制要求的地方都会和单片机扯上关系。
无论是从简单到复杂,还是从空中、地面到地下,凡是能想到的地方几乎都有使用单片机的需求,并且达到许多与人方便的操作。
尽管现在单片机在社会上的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目。
因此,单片机的应用依然大有想象和拓展空间。
本次设计采用的是总线型结构的单片机,总线型结构的单片机可以减少不同之间信息传送线的条数,从而使信息传送规格整齐,提高了整机的可靠性。
采用总线结构以后,存储器、输入输出等外部设备都通过专门的接口电路独立的挂在总线上,因而使得单片机可扩充能力强,使用方便灵活。
另外,还可根据不同的需要增加存储器的容量或增添外部设备,也可以根据不同的需要组成各种专用的单片机,例如专用教学机等。
单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安等。
但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:
单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程)方法实现了。
这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
本论文介绍了本次倒计时系统的设计目的、设计方案和开发意义;对MCS-51单片机的部分基本原理和接口技术进行了阐述,其中大部分都是本次设计需要用到,比如中断原理、定时器等;最后一章介绍了本次倒计时系统设计的硬件电路设计和软件程序设计,以及Keil2软件系统调试的步骤和方法,以完成系统设计。
1.1功能需求
用键盘输入倒计时时间,按下确认键开始倒计时;倒计时开始音乐响起,结束时音乐结束,在LED上显示倒计时时间;按下暂停键可以暂停。
2硬件设计
2.1音乐倒计时装置的电路原理图
音乐倒数计数器所倒数的时间由数字显示,控制器使用单片机AT89C51。
本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:
输出时间,按下键就开始计时,并将时间显示在LED显示器上,蜂鸣器就发出音乐声响等等。
当倒计数为0时,蜂鸣器就停止发出音乐声响等等。
该计数器系统主要由计数器模块、LCD显示器模块、蜂鸣器模块、键盘模块、复位模块等部分组成。
总体设计原理如图1所示。
图1音乐倒计时装置的电路原理图
2.2电源输入的电路原理图
音乐倒计时主控制部分电源需要用5V直流电源供电,把频率为50Hz、有效值为220V过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。
由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。
降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。
由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。
需通过低通滤波电路滤波,使输出电压平滑。
稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。
本电路使用集成稳压芯片7805解决了电源稳压问题,如图2所示。
图2电源输入的原理图
2.3键盘输入电路
按键用于控制数码显示、LCD显示、扬声器等模块的工作。
通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进行工作。
设计中使用单个按键实现单个功能,属于较为简单的控制方式,如图3所示。
图3键盘输入电路
2.4LED显示电路
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
如图4所示。
图4LED显示电路
3系统工作原理
3.1系统的总体方案设计
本次设计课题为音乐倒计时装置的设计,采用AT89C51单片机的串口实现LED静态驱动,键盘输入和蜂鸣器发声。
电子时钟系统的整体框图如图5所示。
图5音乐倒计时装置的系统整体框图
3.2主控芯片AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
其引脚图如图6所示。
图6AT89C51引脚图
3.3键盘电路设计
键盘电路设计图如图1所示。
把单片机的P1.0-P1.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P1.0-P1.3作为列线,P1.4-P1.7作为行线,把单片机的P0.0-P0.6端口连接到共阴极“静态数码显示模块”区域中对应的a-g端口上;系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1”则置第一根行线置为“0”状态,以此类推。
如读入输入缓冲器的状态不全为“1”确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。
最后通过显示程序将该键的序号显示出来。
3.4LED数码显示器的结构
LED数码显示器是一种有LED发光二极管组合显示字符的显示器件。
它使用了8个LED发光二极管,其中7个用于显示字符,剩下的一个用于显示小数点,故通常称之为7段发光二极管数码器。
在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。
当发光二极管导通时,它就会发光。
每个二极管就是一个笔画,若干个二极管发光时,就构成了一个显示字符。
若将单片机的I/O口与数码管的a——g及h相连,高电平的位对应的发光二极管亮,即I/O输出不同的代码,就可以控制数码管显示不同的字符。
例如:
当I/O输出得代码为00111111时,数码管显示的字符为0。
这样形成的显示字符的代码显示代码或者段选码。
本次设计的实验板用的共阴LED显示器,
4软件设计
4.1程序流程图
主程序开始初始化,然后扫描键盘、复位电路和计数器。
当键盘按键有按下时,调整计数器值,LED显示新值,蜂鸣器发出声音。
当计数器值倒计为0时,蜂鸣器停止发出声音,计数器停止倒计,程序结束。
主程序流程图如图7所示,按键流程图如图8所示
图7主程序流程图
图8按键流程图
5结论
经过将近5个星期的课程学习,简单带有LED显示的音乐倒数计数器基本完成,系统基本功能基本实现,测试运行也基本正常。
该系统基本上完成了计数定时的功能。
当然这个系统还存在许多有待完善的地方:
1.功能不够完善,有一定瑕疵。
2.在用单片机编写音乐方面不够熟练。
6结束语
本这次课程设计的时间虽然不算很长,但使我对很多东西有了更深刻的认识。
平时在课堂上无法掌握的集体操作都有了一定的进步。
总结如下:
1.查阅资料和阅读相关文献的重要性。
2.向同学请教的重要性,团结协作的重要性。
3.勤动手的重要性,自己动手,丰衣足食!
以前很多时候一遇到问题常常都会问同学,但是通过这次设计,我学会了自己努力解决困难,提高了自己解决问题的能力。
4.对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。
5.做事情要步步为营,不能一蹴而就,就像焊接电路,只有确保每一部都真确,才有可能实现整个电路正常工作。
通过本次课程设计,我更深刻的认识到了教学实践在大学课程中的重要性,同时也发觉到了自己在学习方面存在的许多不足之处,在以后的学习中我会努力改进这些不足,不断提高自己的动手实践能力。
参考文献
[1]汪道辉.单片机系统设计与实践.电子工业出版社,2006年
[2]何宏.单片机原理与接口技术.国防工业出版社,2006年
[3]李鸿.单片机原理与应用.湖南大学出版社,2005年
[4]李恩林,陈斌生.微机接口技术300例.机械工业出版社,2003年
[5]邱关源.电路.北京:
高等教育出版社,1999
[6]何立民.单片机应用技术选编.北京:
北京航空大学出版社,1998
[7]李瀚荪.电路分析基础.北京:
高等教育出版社1991
[8]张思发吴让仲.计算机组成原理及汇编语言.北京:
高等教育出版社2003
附录一
主程序:
ORG0000H
SJMPMAIN
ORG0003H
LJMPINT_0
ORG0013H
LJMPINT_1
ORG040H
MAIN:
MOVP0,#00H
MOVP1,#00H
MOVR0,#00H
MOVR4,#00H
MOVTCON,#05H
MOVIE,#85H
SETBPX1
START:
MOVP2,#0F0H
MOVA,P2
ORLA,#0FH
CJNEA,#0FFH,K0
SJMPSTART
K0:
MOVP2,#0FEH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS0
K1:
MOVP2,#0FDH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS1
K2:
MOVP2,#0FBH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS2
K3:
MOVP2,#0F7H
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS3
SJMPSTART
KEYS0:
JNBP2.4,KEY0
JNBP2.5,KEY1
JNBP2.6,KEY2
JNBP2.7,KEY3
LJMPK1
KEYS1:
JNBP2.4,KEY4
JNBP2.5,KEY5
JNBP2.6,KEY6
JNBP2.7,KEY7
LJMPK2
KEYS2:
JNBP2.4,KEY8
JNBP2.5,KEY9
JNBP2.6,KEY10
JNBP2.7,KEY11
LJMPK3
KEYS3:
JNBP2.4,KEY12
JNBP2.5,KEY13
LJMPK0
KEY0:
MOVA,#0
ACALLSQR
LJMPK0
KEY1:
MOVA,#1
ACALLSQR
LJMPK0
KEY2:
MOVA,#2
ACALLSQR
LJMPK0
KEY3:
MOVA,#3
ACALLSQR
LJMPK0
KEY4:
MOVA,#4
ACALLSQR
LJMPK0
KEY5:
MOVA,#5
ACALLSQR
LJMPK0
KEY6:
MOVA,#6
ACALLSQR
LJMPK0
KEY7:
MOVA,#7
ACALLSQR
LJMPK0
KEY8:
MOVA,#8
ACALLSQR
LJMPK0
KEY9:
MOVA,#9
ACALLSQR
LJMPK0
KEY10:
SETBP3.0
LJMPMAIN
KEY11:
ACALLSECOND
LJMPSTART
KEY12:
LJMPK0
KEY13:
LJMPK0
SQR:
INCR0
CJNER0,#01H,SQ1
MOVR2,A
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP1,A
ACALLDELAY
SJMPSQ2
SQ1:
CJNER0,#02H,SQ2
MOVR1,A
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
SQ2:
RET
SECOND:
NEXT1:
MOVDPTR,#TABLE
MOVA,R2
MOVCA,@A+DPTR
MOVP1,A
MOVDPTR,#TABLE
MOVA,R1
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
DECR1
CJNER1,#0FFH,NEXT1
CJNER2,#00H,NEXT2
SJMPNEXT4
NEXT2:
DECR2
MOVR3,#09H
NEXT3:
MOVDPTR,#TABLE
MOVA,R2
MOVCA,@A+DPTR
MOVP1,A
MOVDPTR,#TABLE
MOVA,R3
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
DECR3
CJNER3,#0FFH,NEXT3
CJNER2,#00H,NEXT2
NEXT4:
RET
INT_0:
CJNER4,#01H,$
MOVR4,#00H
RETI
INT_1:
INCR4
RETI
DELAY:
MOVR7,#10
LOOP3:
MOVR6,#100
LOOP2:
MOVR5,#250
LOOP1:
NOP
NOP
DJNZR5,LOOP1
DJNZR6,LOOP2
DJNZR7,LOOP3
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
ORG0000H
ORG0000H
LJMPSTART1
ORG00BBH
LJMPTIM0
ORG0005H
SJMPMAIN
ORG0009H
LJMPINT_0
ORG0013H
LJMPINT_1
ORG0040H
MAIN:
MOVP0,#00H
MOVP1,#00H
MOVR0,#00H
MOVR4,#00H
MOVTCON,#05H
MOVIE,#85H
SETBPX1
START:
MOVP2,#0F0H
MOVA,P2
ORLA,#0FH
CJNEA,#0FFH,K0
SJMPSTART
K0:
MOVP2,#0FEH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS0
K1:
MOVP2,#0FDH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS1
K2:
MOVP2,#0FBH
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS2
K3:
MOVP2,#0F7H
MOVA,P2
ORLA,#0F0H
CJNEA,#0F0H,KEYS3
SJMPSTART
KEYS0:
JNBP2.4,KEY0
JNBP2.5,KEY1
JNBP2.6,KEY2
JNBP2.7,KEY3
LJMPK1
KEYS1:
JNBP2.4,KEY4
JNBP2.5,KEY5
JNBP2.6,KEY6
JNBP2.7,KEY7
LJMPK2
KEYS2:
JNBP2.4,KEY8
JNBP2.5,KEY9
JNBP2.6,KEY10
JNBP2.7,KEY11
LJMPK3
KEYS3:
JNBP2.4,KEY12
JNBP2.5,KEY13
LJMPK0
KEY0:
MOVA,#0
ACALLSQR
LJMPK0
KEY1:
MOVA,#1
ACALLSQR
LJMPK0
KEY2:
MOVA,#2
ACALLSQR
LJMPK0
KEY3:
MOVA,#3
ACALLSQR
LJMPK0
KEY4:
MOVA,#4
ACALLSQR
LJMPK0
KEY5:
MOVA,#5
ACALLSQR
LJMPK0
KEY6:
MOVA,#6
ACALLSQR
LJMPK0
KEY7:
MOVA,#7
ACALLSQR
LJMPK0
KEY8:
MOVA,#8
ACALLSQR
LJMPK0
KEY9:
MOVA,#9
ACALLSQR
LJMPK0
KEY10:
SETBP3.0
LJMPMAIN
KEY11:
ACALLSECOND
LJMPSTART
KEY12:
LJMPK0
KEY13:
LJMPK0
SQR:
INCR0
CJNER0,#01H,SQ1
MOVR2,A
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP1,A
ACALLDELAY
SJMPSQ2
SQ1:
CJNER0,#02H,SQ2
MOVR1,A
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
SQ2:
RET
SECOND:
NEXT1:
MOVDPTR,#TABLE
MOVA,R2
MOVCA,@A+DPTR
MOVP1,A
MOVDPTR,#TABLE
MOVA,R1
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
DECR1
CJNER1,#0FFH,NEXT1
CJNER2,#00H,NEXT2
SJMPNEXT4
NEXT2:
DECR2
MOVR3,#09H
NEXT3:
MOVDPTR,#TABLE
MOVA,R2
MOVCA,@A+DPTR
MOVP1,A
MOVDPTR,#TABLE
MOVA,R3
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
DECR3
CJNER3,#0FFH,NEXT3
CJNER2,#00H,NEXT2
NEXT4:
RET
INT_0:
CJNER4,#01H,$
MOVR4,#00H
RETI
INT_1:
INCR4
RETI
DELAY:
MOVR7,#10
LOOP3:
MOVR6,#100
LOOP2:
MOVR5,#250
LOOP1:
NOP
NOP
DJNZR5,LOOP1
DJNZR6,LOOP2
DJNZR7,LOOP3
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
ORG0B00H
START1:
MOVTMOD,#01H
MOVIE,#82H
START0:
MOV30H,#00H
NEXT:
MOVA,30H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOV23H,A
JZEND0
MOV27H,A
MOVA,23H
SWAPA
ANLA,#0FH
JNZSING
CLRTR0
SJMPD1
SING:
DECA
MOV22H,A
RLA
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVTH0,A
MOV21H,A
MOVA,22H
RLA
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
SETBTR0
D1:
LCALLDELAY1
INC30H
JMPNEXT
END0:
CLRTR0
JMPSTART0
TIM0:
PUSHACC
PUSHPSW
M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 音乐 倒计时 装置 设计