论文音乐倒计时装置设计.doc_第1页
论文音乐倒计时装置设计.doc_第2页
论文音乐倒计时装置设计.doc_第3页
论文音乐倒计时装置设计.doc_第4页
论文音乐倒计时装置设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

液晶屏显示纳米比亚地图音乐倒计时装置设计赵子豪目录摘 要11 绪论11.1 功能需求22 硬件设计22.1 音乐倒计时装置的电路原理图22.2 电源输入的电路原理图42.3 键盘输入电路42.4 LED显示电路53 系统工作原理63.1 系统的总体方案设计63.2 主控芯片AT89C51简介63.3 键盘电路设计73.4 LED 数码显示器的结构74 软件设计84.1 程序流程图85 结论96 结束语10参考文献11附录一1221Protel软件及单片机技术综合训练摘 要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本论文针对倒计时系统的设计的需求,介绍了MCS-51 单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。倒计时系统需要用到锁存器、矩阵键盘、LED 数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。对于倒计时器中的LED 数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法。关键词: LED数码显示器,51单片机,倒计时器1绪论51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。在社会生活和生产的各个领域中,凡是有自动控制要求的地方都会和单片机扯上关系。无论是从简单到复杂,还是从空中、地面到地下,凡是能想到的地方几乎都有使用单片机的需求,并且达到许多与人方便的操作。尽管现在单片机在社会上的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目。因此,单片机的应用依然大有想象和拓展空间。本次设计采用的是总线型结构的单片机,总线型结构的单片机可以减少不同之间信息传送线的条数,从而使信息传送规格整齐,提高了整机的可靠性。采用总线结构以后,存储器、输入输出等外部设备都通过专门的接口电路独立的挂在总线上,因而使得单片机可扩充能力强,使用方便灵活。另外,还可根据不同的需要增加存储器的容量或增添外部设备,也可以根据不同的需要组成各种专用的单片机,例如专用教学机等。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。本论文介绍了本次倒计时系统的设计目的、设计方案和开发意义;对MCS-51 单片机的部分基本原理和接口技术进行了阐述,其中大部分都是本次设计需要用到,比如中断原理、定时器等;最后一章介绍了本次倒计时系统设计的硬件电路设计和软件程序设计,以及Keil 2 软件系统调试的步骤和方法,以完成系统设计。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.4 LED显示电路数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。如图4所示。图4 LED显示电路3 系统工作原理3.1系统的总体方案设计本次设计课题为音乐倒计时装置的设计,采用AT89C51单片机的串口实现LED静态驱动,键盘输入和蜂鸣器发声。电子时钟系统的整体框图如图5所示。图5 音乐倒计时装置的系统整体框图3.2 主控芯片AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚图如图6所示。 图6 AT89C51引脚图3.3键盘电路设计键盘电路设计图如图1所示。把单片机的P1.0P1.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P1.0-P1.3作为列线,P1.4-P1.7作为行线,把单片机的P0.0P0.6端口连接到共阴极“静态数码显示模块”区域中对应的ag端口上;系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“ 1”则置第一根行线置为“0”状态,以此类推。如读入输入缓冲器的状态不全为“1”确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。最后通过显示程序将该键的序号显示出来。3.4 LED 数码显示器的结构LED 数码显示器是一种有 LED 发光二极管组合显示字符的显示器件。它使用了 8个 LED 发光二极管,其中 7 个用于显示字符,剩下的一个用于显示小数点,故通常称之为 7 段发光二极管数码器。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。当发光二极管导通时,它就会发光。每个二极管就是一个笔画,若干个二极管发光时,就构成了一个显示字符。若将单片机的I/O 口与数码管的ag 及h 相连,高电平的位对应的发光二极管亮,即I/O 输出不同的代码,就可以控制数码管显示不同的字符。例如:当I/O 输出得代码为0011 1111 时,数码管显示的字符为0。这样形成的显示字符的代码显示代码或者段选码。本次设计的实验板用的共阴LED 显示器,4 软件设计4.1 程序流程图主程序开始初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,LED显示新值,蜂鸣器发出声音。当计数器值倒计为0时,蜂鸣器停止发出声音,计数器停止倒计,程序结束。主程序流程图如图7所示,按键流程图如图8所示图7 主程序流程图开始初始化按键扫描按键处理时间显示模式是否有键按下根据按键状态显示相应时间段时间修改模式根据按键状态修改时间NY 图8 按键流程图5结论 经过将近5个星期的课程学习,简单带有LED显示的音乐倒数计数器基本完成,系统基本功能基本实现,测试运行也基本正常。该系统基本上完成了计数定时的功能。当然这个系统还存在许多有待完善的地方:1.功能不够完善,有一定瑕疵。2.在用单片机编写音乐方面不够熟练。6结束语本这次课程设计的时间虽然不算很长,但使我对很多东西有了更深刻的认识。平时在课堂上无法掌握的集体操作都有了一定的进步。总结如下:1.查阅资料和阅读相关文献的重要性。2.向同学请教的重要性,团结协作的重要性。3.勤动手的重要性,自己动手,丰衣足食!以前很多时候一遇到问题常常都会问同学,但是通过这次设计,我学会了自己努力解决困难,提高了自己解决问题的能力。4.对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。5.做事情要步步为营,不能一蹴而就,就像焊接电路,只有确保每一部都真确,才有可能实现整个电路正常工作。通过本次课程设计,我更深刻的认识到了教学实践在大学课程中的重要性,同时也发觉到了自己在学习方面存在的许多不足之处,在以后的学习中我会努力改进这些不足,不断提高自己的动手实践能力。参考文献1汪道辉. 单片机系统设计与实践.电子工业出版社,2006年2 何宏.单片机原理与接口技术.国防工业出版社,2006年3 李鸿.单片机原理与应用.湖南大学出版社,2005年4李恩林,陈斌生.微机接口技术300例.机械工业出版社,2003年5 邱关源.电路.北京:高等教育出版社,19996 何立民.单片机应用技术选编.北京:北京航空大学出版社,19987 李瀚荪.电路分析基础.北京:高等教育出版社19918 张思发 吴让仲.计算机组成原理及汇编语言.北京:高等教育出版社 2003附录一主程序:ORG 0000H SJMP MAIN ORG 0003H LJMP INT_0 ORG 0013H LJMP INT_1 ORG 040HMAIN: MOV P0,#00H MOV P1,#00H MOV R0,#00H MOV R4,#00H MOV TCON,#05H MOV IE,#85H SETB PX1START: MOV P2,#0F0H MOV A,P2 ORL A,#0FH CJNE A,#0FFH,K0 SJMP STARTK0: MOV P2,#0FEH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS0 K1: MOV P2,#0FDH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS1 K2: MOV P2,#0FBH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS2 K3: MOV P2,#0F7H MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS3 SJMP STARTKEYS0: JNB P2.4,KEY0 JNB P2.5,KEY1 JNB P2.6,KEY2 JNB P2.7,KEY3 LJMP K1KEYS1: JNB P2.4,KEY4 JNB P2.5,KEY5 JNB P2.6,KEY6 JNB P2.7,KEY7 LJMP K2KEYS2: JNB P2.4,KEY8 JNB P2.5,KEY9 JNB P2.6,KEY10 JNB P2.7,KEY11 LJMP K3KEYS3: JNB P2.4,KEY12 JNB P2.5,KEY13 LJMP K0KEY0: MOV A,#0 ACALL SQR LJMP K0KEY1: MOV A,#1 ACALL SQR LJMP K0KEY2: MOV A,#2 ACALL SQR LJMP K0KEY3: MOV A,#3 ACALL SQR LJMP K0KEY4: MOV A,#4 ACALL SQR LJMP K0KEY5: MOV A,#5 ACALL SQR LJMP K0KEY6: MOV A,#6 ACALL SQR LJMP K0KEY7: MOV A,#7 ACALL SQR LJMP K0KEY8: MOV A,#8 ACALL SQR LJMP K0KEY9: MOV A,#9 ACALL SQR LJMP K0KEY10: SETB P3.0 LJMP MAINKEY11: ACALL SECOND LJMP STARTKEY12: LJMP K0KEY13: LJMP K0SQR: INC R0 CJNE R0,#01H,SQ1 MOV R2,A MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A ACALL DELAY SJMP SQ2 SQ1: CJNE R0,#02H,SQ2 MOV R1,A MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A ACALL DELAY SQ2: RETSECOND:NEXT1: MOV DPTR,#TABLE MOV A,R2 MOVC A,A+DPTR MOV P1,A MOV DPTR,#TABLE MOV A,R1 MOVC A,A+DPTR MOV P0,A ACALL DELAY DEC R1 CJNE R1,#0FFH,NEXT1 CJNE R2,#00H,NEXT2 SJMP NEXT4NEXT2: DEC R2 MOV R3,#09H NEXT3: MOV DPTR,#TABLE MOV A,R2 MOVC A,A+DPTR MOV P1,A MOV DPTR,#TABLE MOV A,R3 MOVC A,A+DPTR MOV P0,A ACALL DELAY DEC R3 CJNE R3,#0FFH,NEXT3 CJNE R2,#00H,NEXT2NEXT4: RETINT_0: CJNE R4,#01H,$ MOV R4,#00H RETIINT_1: INC R4 RETIDELAY: MOV R7,#10LOOP3: MOV R6,#100LOOP2: MOV R5,#250LOOP1: NOP NOP DJNZ R5,LOOP1 DJNZ R6,LOOP2 DJNZ R7,LOOP3 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ORG 0000H ORG 0000HLJMP START1ORG 00BBH LJMP TIM0 ORG 0005H SJMP MAIN ORG 0009H LJMP INT_0 ORG 0013H LJMP INT_1 ORG 0040HMAIN: MOV P0,#00H MOV P1,#00H MOV R0,#00H MOV R4,#00H MOV TCON,#05H MOV IE,#85H SETB PX1START: MOV P2,#0F0H MOV A,P2 ORL A,#0FH CJNE A,#0FFH,K0 SJMP STARTK0: MOV P2,#0FEH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS0 K1: MOV P2,#0FDH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS1 K2: MOV P2,#0FBH MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS2 K3: MOV P2,#0F7H MOV A,P2 ORL A,#0F0H CJNE A,#0F0H,KEYS3 SJMP STARTKEYS0: JNB P2.4,KEY0 JNB P2.5,KEY1 JNB P2.6,KEY2 JNB P2.7,KEY3 LJMP K1KEYS1: JNB P2.4,KEY4 JNB P2.5,KEY5 JNB P2.6,KEY6 JNB P2.7,KEY7 LJMP K2KEYS2: JNB P2.4,KEY8 JNB P2.5,KEY9 JNB P2.6,KEY10 JNB P2.7,KEY11 LJMP K3KEYS3: JNB P2.4,KEY12 JNB P2.5,KEY13 LJMP K0KEY0: MOV A,#0 ACALL SQR LJMP K0KEY1: MOV A,#1 ACALL SQR LJMP K0KEY2: MOV A,#2 ACALL SQR LJMP K0KEY3: MOV A,#3 ACALL SQR LJMP K0KEY4: MOV A,#4 ACALL SQR LJMP K0KEY5: MOV A,#5 ACALL SQR LJMP K0KEY6: MOV A,#6 ACALL SQR LJMP K0KEY7: MOV A,#7 ACALL SQR LJMP K0KEY8: MOV A,#8 ACALL SQR LJMP K0KEY9: MOV A,#9 ACALL SQR LJMP K0KEY10: SETB P3.0 LJMP MAINKEY11: ACALL SECOND LJMP STARTKEY12: LJMP K0KEY13: LJMP K0SQR: INC R0 CJNE R0,#01H,SQ1 MOV R2,A MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A ACALL DELAY SJMP SQ2 SQ1: CJNE R0,#02H,SQ2 MOV R1,A MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A ACALL DELAY SQ2: RETSECOND:NEXT1: MOV DPTR,#TABLE MOV A,R2 MOVC A,A+DPTR MOV P1,A MOV DPTR,#TABLE MOV A,R1 MOVC A,A+DPTR MOV P0,A ACALL DELAY DEC R1 CJNE R1,#0FFH,NEXT1 CJNE R2,#00H,NEXT2 SJMP NEXT4NEXT2: DEC R2 MOV R3,#09H NEXT3: MOV DPTR,#TABLE MOV A,R2 MOVC A,A+DPTR MOV P1,A MOV DPTR,#TABLE MOV A,R3 MOVC A,A+DPTR MOV P0,A ACALL DELAY DEC R3 CJNE R3,#0FFH,NEXT3 CJNE R2,#00H,NEXT2NEXT4: RETINT_0: CJNE R4,#01H,$ MOV R4,#00H RETIINT_1: INC R4 RETIDELAY: MOV R7,#10LOOP3: MOV R6,#100LOOP2: MOV R5,#250LOOP1: NOP NOP DJNZ R5,LOOP1 DJNZ R6,LOOP2 DJNZ R7,LOOP3 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ORG 0B00HSTART1:MOV TMOD,#01HMOV IE,#82HSTART0:MOV 30H,#00HNEXT:MOV A,30HMOV DPTR,#TABMOVC A,A+DPTRMOV 23H,AJZ END0MOV 27H,AMOV A,2

温馨提示

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

评论

0/150

提交评论