




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息与电气工程学院课程设计说明书(2010 /2009学年第二学期)课程名称 : 单片机课程设计 题 目 : 可选音乐播放器 专业班级 : 自动化0702 学生姓名 : * 学 号: * 指导教师 : * 设计周数 : 2周 设计成绩 : 2010年 6月 24日音乐播放器1课程设计目的与要求(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存3首乐曲)。(2)采用七段数码管和发光二极管来显示当前播放的歌曲序号,播放乐曲时,数码管显示当前歌曲序号同时对应二极管点亮。(3)可通过功能键来进行乐曲切换,按下键时从当前歌曲切换到下一首歌曲,且可实现歌曲自动循环。2总体设计(1)硬件部分由数码管发光二极管蜂鸣器单片机按钮组成,来实现歌曲的播放和歌曲序号的显示,按钮用来实现对下一首歌曲的切换,每按一次按钮播放器切换到下一首歌曲。(2)软件用来对单片机的各引脚进行控制进而控制数码管的显示数目,同时在蜂鸣器的输出端口产生不同频率的矩形波进而产生音乐,当按钮按下时程序要完成对歌曲的切换,对数码管和发光二极管的切换。2.1 硬件电路总体方案设计 硬件电路由数码管分显示电路蜂鸣器发声电路按钮电路发光二极管显示电路时钟振荡电路单片机组成。显示电路用来对当前播放歌曲序号进行显示,蜂鸣器发生电路用来进行音乐的产生,按钮电路用来进行当前歌曲到下一首的切换,三个发光二极管分别对应三首歌曲,播放歌曲时与其对应发光二极管点亮,另外两个发光二极管不亮。时钟振荡电路用来为单片机产生时钟脉冲,本设计采用内部时钟方式。2.1.1单片机 AT89C51按功能划分有如下功能部件组成:(1)微处理器CPU :AT89C51单片机中有1个8位的CPU,与通用的CPU基本相同,同样包含了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可以处理字节数据,还可以进行为变量的处理。(2)数据存储器RAM:片内位128B,片外最多可外扩64KB.数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。片内的128B的RAM,以高速RAM的形式集成在单片机内,可以加快单片机的运行速度,降低功耗。 图2-1 AT89S51的引脚图 3)程序存储器ROM/EPROM:为4KB的ROM,片外可扩展只读存储器,最多扩至64KB(4)4个8位并行I/O口,P0,P1,P2,P3:位4个并行8位I/O口(5)1个串行口:1个双全工的串行口,具有四种工作方式(6)2个16位定时器/计数器:具有4钟工作方式(7)中断系统:具有5个中断源,2个中断优先级(8)特殊功能功能寄存器SFR.:共有21个,用于CPU对片内各功能部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区AT89C51的引脚说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST :AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。 P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO口用。P0口每一个引脚可以推动8个LSTTL负载。 P2口(P2.0P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向IO口用。每一个引脚可以推动4个LSTL负载。 P1口(P1.0P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。 P3口(P3.0P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。2.1.2 数码管显示电路 数码管选用七段显示数码管LED,接单片机的P0端口,用单片机的P0端口来控制七段数码管(用P0.0-P0.6控制七段码a,b,c,d,e,f),通过对P0端口赋不同的值来改变P0端口输出的电平进而来改变数码管显示的数值。因为P0端口为三态门,作为输出端口时须外接上拉电阻。数码管显示电路如图2-2所示图2-2数码管显示电路 2.1.3蜂鸣器发声电路 蜂鸣器发声电路由蜂鸣器、三极管(PNP)组成。蜂鸣器接单片机的P10端口,因单片机复位时各输出端口均为高电平,为防止单片机一上电复位蜂鸣器就响用低电平来驱动蜂鸣器,三极管选用PNP型配合P10端口来对电流进行放大,三极管与P10端口共同完成对蜂鸣器的驱动。蜂鸣器发生电路图如图2-3所示图2-3蜂鸣器电路 2.1.4按钮电路 按钮电路由按钮上拉电阻组成。按钮接P32端口,未按下按钮时P32端口为高电平,当按钮按下时在P32端口产生一个低电平输入单片机,来产生切换到下一曲的信号,进而通过软件来完成歌曲的切换。按钮电路如图2-4所示图2-4按钮电路 2.1.5发光二极管电路 发光二极管电路由限流电阻和发光二极管组成,三个二极管分别接P27P26和P25三个端口。三个发光二极管分别对应三首歌曲,当有歌曲播放时与其对应的发光二极管点亮,另外两个发光二极管不亮。通过改变P2口的输出来使二极管状态改变,二极管采用低电平驱动,防止复位时二极管全亮。发光二极管点路如图2-5所示图2-5发光二极管电路2.1.6时钟振荡电路 时钟振荡电路由晶振(12MHZ)和电容组成,接单片机的XTAL1和XTAL2引脚。时钟振荡电路用来为单片机产生时钟脉冲,为内部时钟方式。时钟振荡电路图如图2-6所示 图2-6晶振电路2.1.7复位电路 复位电路由电解电容、电阻和按钮组成。复位分为上电复位和手动复位,上电复位在单片机一上电时对单片及进行复位,手动复位通过外部按钮来对单片机进行复位。两种复位方式的结果一样。复位电路的电路图如图2-7所示 图2-7复位电路 2.1.8总电路图 由上述的数码管分显示电路蜂鸣器发声电路按钮电路发光二极管显示电路时钟振荡电路和单片机组成总电路图。总电路图配合软件程序可实现音乐播放器的功能,总电路图和PCB版图如附一、附二所示。2.2软件总体设计方案 2.2.1 程序流程图 noyes开始定时器0初始化判断有无按键按下载入节拍载入音符音乐是否结束转入查询程序按键次数计数单元31H赋初值00H查询程序 判断31H的值是否为零判断有无按键按下31H加一并显示,唱第二首歌循环第一首歌曲 判断31H的值是否为一判断有无按键按下31H加一并显示,唱第三首歌循环第二首歌曲判断31H是否为二yesyesyesyesnononono 判断31H的值是否为二判断有无按键按下31H清零并显示,唱第一首歌循环第三首歌曲yesnono2.2.2音乐产生原理(1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:内部计时一次为1微秒故其频率为1MHZ Fr;要产生的频率(3)起记数值的求法如下:T65536N65536Fi2Fr例如:设K65536,F1000000Fi1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。T65536N65536Fi2Fr6553610000002Fr65536500000Fr (4)节拍的产生通过延时程序来实现,比如一节拍时间为0.4秒,则1/4节拍时间为0.1秒,只要根据延迟时间就可求得节拍时间,设1/4节拍为1个DELAY,则一节拍为4个DELAY,以此类推只要求得1/4拍的DELAY时间,其它节拍时间均为其整数倍,通过设定调用延时程序的次数即可实现不同节拍。2.2.3程序设计ORG 0000H JMP STARTORG 000BHJMP TIM0START:MOV TMOD,#01H ;初始化T0 MOV IE,#82H JB P3.2,$ CALL DELAY1 JNB P3.2,$ MOV 31H,#00START0:MOV 30H,#SONG ; 取简谱码指针(第一首) LCALL XIANSHI*取节拍和音频值PD: JB P3.2,NEXT LCALL DELAY1 JNB P3.2,DEN0NEXT: MOV A,30H MOV DPTR,#TABLE MOVC A,A+DPTR MOV R2,A JZ END0 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 JMP D1*载入取到的音符码,开始播放SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE MOVC A,A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,A+DPTR MOV TL0,A MOV 20H,A SETB TR0*简谱码指针加一D1: CALL DELAY INC 30H JMP DP*查询程序END0: CLR TR0 MOV A,31H XRL A,#00H JNZ END1 MOV 30H,#SONG JB P3.2,NEXT CALL DELAY1 JNB P3.2,$ INC 31H LCALL XIANSHI MOV 30H,#SONG1 JMP DPEND1: CLR TR0 MOV A,31H XRL A,#01H JNZ END2 MOV 30H,#SONG1 JB P3.2,NEXT CALL DELAY1 JNB P3.2,$ INC 31H LCALL XIANSHI MOV 30H,#SONG2 JMP DPEND2: CLR TR0 MOV A,31H XRL A,02H JNZ END3 MOV 30H,#SONG2 JB P3.2,NEXT CALL DELAY1 JNB P3.2,$END3: MOV 31H,#00H JMP START0*定时器中断程序TIM0: PUSH ACC PUSH PSW SETB RS0 CLR RS1 MOV TL0,20H MOV TH0,21H CPL P1.0 POP PSW POP ACC RETI*延时程序DELAY: MOV R7,#02D2: MOV R4,#125D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY*按键去抖延时程序DELAY1: MOV R4,#20D4: MOV R3,#248 DJNZ R3,$ DJNZ R4,D4 RET*数码管和二极管显示程序XIANSHI: MOV DPTR,#OUT_TAB MOV A,31H MOVC A,A+DPTR MOV P0,A MOV DPTR,#LED_TAB MOV A,31H MOVC A,A+DPTR MOV P2,A RET*程序调用表 ORG 0300HOUT_TAB: DB 06H,5BH,4FHLED_TAB: DB 7FH,0BFH,0DFHTABLE: DW 64260,64400,64524,64580 DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217SONG: ;第一首歌 生日快乐 ;1 DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H ;2 DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB 00HSONG1: ;第二首歌 两只老虎 ;1 DB 44H,54H,64H,44H DB 44H,54H,64H,44H DB 64H,74H,88H DB 64H,74H,88H ;2 DB 82H,92H,82H,72H,64H,44H DB 82H,92H,82H,72H,64H,44H DB 44H,84H,48H DB 44H,14H,48H DB 00HSONG2: ;第三首歌 不倒翁 ;1 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 62H,82H,42H,62H,58H ;2 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 52H,42H,52H,62H,48H DB 00H2.3软件和硬件调试 2.3.1硬件调试 硬件调试:硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试:是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。2.3.2软件调试 软件调试是通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030传统伤口护理产品行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030临时肩垫行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030中国麻疹腮腺炎和风疹病毒疫苗行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国鱼饲料行业市场发展趋势与前景展望战略研究报告
- 2025年消防执业资格考试题库:案例分析题库案例分析技巧
- 2025年征信考试题库:征信数据分析挖掘征信数据挖掘案例分析试题
- 2025-2030中国高分辨率LED显示屏行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国饮用水多参数水质计行业市场发展趋势与前景展望战略研究报告
- 智能排序算法研究-全面剖析
- 2025-2030中国风力发电机主轴行业市场发展趋势与前景展望战略研究报告
- DB64∕1539-2020 复合保温板结构一体化系统应用技术规程
- DB4401∕T 5-2018 房屋面积测算规范
- DIN1783厚度在0.35mm以上冷轧的铝及铝塑性合金带材和板材、尺寸
- 脚手架或模板支架立杆底地基承载力计算
- GB∕T 40741-2021 焊后热处理质量要求
- Model5000功率计(介绍及操作)
- 超导材料应用举例PPT课件
- 现场总线技术03 PROFIBUS总线
- 2020年超星尔雅重说中国近代史通识课期末考试答案
- 轮胎式装载机检测报告(共5页)
- 抗菌药物分级管理目录(完整资料).doc
评论
0/150
提交评论