音乐彩灯课程设计_第1页
音乐彩灯课程设计_第2页
音乐彩灯课程设计_第3页
音乐彩灯课程设计_第4页
音乐彩灯课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、设计要求二、设计目的三、设计的具体实现四、程序五、结论六、心得体会七、附录八、参考文献音乐彩灯设计报告、设计要求1、三人一组,一人负责硬件电路设计与连接,一人 采用C语言编程、调试,另一人采用汇编语言编程并调 试。2、选用8255、8253以及相关外围芯片与开关量、发光二级 管、扬声器组成输入输出电路。3、使用8255的PC0连接到8259,使用微机中IRQ10中断, 中断号是72H。4、编程的两位同学学号末两位相加,得到的和数转换成二进 制数,作为触发中断的开关信号状态。如:学号为XXX XX01和学号为XXXXX02的同学一组,中断触发条 件为:开关信号状态是03,即二进制数000

2、00011。5、报警时,发光二级管在两个设定状态下循环切换。同组的 两个同学各自的学号末两位对应的二进制数即是两个设 定状态。6、设计数据结构,记录报警音乐(自选)的音长和音阶信息, 并使用8253的几个计数器实现音乐播放控制。采用某一 计数器输出音长信号,另一计数器输出音阶信号。将音长 信号连接到8255的PC4,程序对此信号进行查询,当进 入一个新的音长信号周期时,设置对应的一个音阶信号; 这样,程序不断查询PC4,控制选择不同的音长和音阶, 并同时切换发光二极管显示状态。7、不可损坏实验设备及器件。二、设计日的随着化学工业环境越来越复杂,声光报警器作为报警控 制系统中一个重要部件,越来越

3、多的被用户关注,在可燃气体环境 中使用它能有效防止对现场人员的人生安危,有毒气体环境中现 场人员中毒达到致命的事故屡见不鲜,现场安装防爆声光报警器 能在第一时间提醒现场工作人员的危险性。主要用于商店、店铺、私人车库等场所,当有人非法把卷帘门 撬开时,卷帘门神便马上发出响亮报警声音,让非法入侵者无法 得手,起到防盗报警作用。产品即插即用,无需任何布线与专控。还有其他各种各样的功能,总之,声光报警器具有很多的用途, 因此学习简单的制作原理是很有必要的,是对以后踏入社会非常 好的积累。三、设计的具体实现3.1模块分析3.1.1数据采集中断服务程序该子程序的功能是检测A 口输入的是不是我们两个 人的学

4、号相加,如果连续检测50次都是等于学号相加的 话,就进入中断子程序执行程序。中断子程序里面包括关中断,标志自加1,从片中断结 束,主片中断结束,开中断等5个部分。3.1.2获取原中断向量该部分的作用是获取原中断向量,并且把他保存下 来,等到中断子程序执行完成以后,利用这个可以跳转回 到中断发生的地址,继续执行别的程序。3.1.3设置新中断向量当前要执行的中断处理的相关信息,确保电脑能正确 快速的找到当前需要执行的中断子程序。3.1.4开中断设置这部分包括打开从片的IRQ10和打开主片的IRQ2, 为中断服务程序的进行做好准备。3.1.5恢复原中断向量将我们保存的原中断向量从堆栈里面出栈,从而为

5、结束中断子程序且跳转回原来的断点做准备。3.1.6关中断设置这部分包括关闭从片的IRQ10和关闭主片的IRQ2,为中断服务程序的结束做好准备。3.2流程图3.3实验原理通过接口电路将扬声器SPK、LED彩灯接入微机 系统,采用CPU统一控制,满足设计要求其设计原理可结合微机接口技术所学知识完成3.4接线原理图i=,_“匚lI-I HI4N Hl !.1壬皂也善2 w1 1=1四、具体编码实现4.1开发工具IBM汇编语言4.2端口设置8255A: 300H303H8253A: 304H307H8251A: 308H30BHADC0809:30CH、 30EHDAC0832: 30FH8237A:

6、主片 00FH;从片 0C0H0DEH8259A:主片 20H,21H;从片 0A0H,0A1H4.3与外设的连接8255的A 口同硬件的输入接口连接,是外界的输入能够读入 芯片中8255的B 口同外设的LED灯相连接,保证外设的灯能正常闪 亮8255的C 口 pc0同8259的从片IRQ10和主片的IRQ2相连, 确保当pc0=1的时候,能够进入中断子程序。8255的C 口中的pc3连通扬声器的与门,当pc3值为1的时 候,扬声器能正常代开并工作。8255的C 口中的pc4连通8253的0号计数器的输出,保证 当一个音长到了以后,就开始继续读下面得音频和音长。4.4系统主要的代码实现4.4.

7、1中断子程序interpret procclimov ah,02hmov dl,31hint 21hmov ah,02hmov dl,31hint 21hcall soundmoval,062hout0a0h,alout020h,alstimov dx,303hmov al,98h上部输入out dx,almov al,00hout dx,aliretinterpret endpinterp;中断程序模块,发声音;关中断;发中断结束命令(OCW2);从片结束中断;王片结束中断;开中断;8355控制命令字 方式0, A口,C口;中断返回;频率有效地址;音长有效地址;对8255初始化完成;开门控4

8、.4.2发声子程序sound proclea si,FREQUENCYlea di,TIMEmov dx,303hmov al,10011000bout dx,almov al,00000111bout dx,al mov dx,307hmov al,01110110Bout dx,almov ax,11931;写初值保证1号计数器输出时100 HZmov dx,305hout dx,almov al,ahout dx,almov lamp,0;对8253 1号计数器控制字的写完了begin: mov bx,si mov B,bx add B,30h mov dx,B ;mov ah,02h

9、;int 21h cmp B,1 jz exitsound mov dx,307h mov al,10110110b 低位,在读高位。 out dx,al mov dx,12h mov ax,34deh DIV bx mov dx,306h out dx,al mov al,ah out dx,al mov dx,307h mov al,00010110b out dx,al mov dx,304h mov ax,di out dx,al mov dx,302h delay:;取频率;8253计数器2号计数器,方式3先读滁数;被除数;商在AX中;对8253 2号计数器的计数初值;计数器0;取时

10、间;计数器0赋初值;0口in al,dx test al,10h jnz delay;输入到al;判断第五位的pc4是否为1;延时add si,2 add di,2 inc lamptest lamp,00000001bjz lPmov dx,300h;A 口输出mov al,11111010B;5号out dx,al jmp exitlplp:cmp lamp,2mov dx,300hmov al,11111001B;6 号out dx,al exitlp:jmp beginexitsound:mov ah,02h mov dl,30h int 21hmov dx,303hmov al,98

11、h out dx,al mov dx,303hmov al,00000110b out dx,al;关声音 retsound endp五、结论音乐能够播放,灯能够随着音乐一起变化,基本上实现 了实验的要求,但是关于中断程序的返回和结束还有问题, 以后要进一步改善。六、心得体会经过这段时间在实验室的训练,我对微机原理与接口技 术的知识有了更深一步的了解,对于实验中用到的5255,8253,8259等芯片都 有了较为深刻的认识,知道了如何使用这几个芯片,对于它 们的初始化,赋初值,写命令字都有了较为熟悉的了解,对 于8053,8055的端口地址以及命令字格式都已经差不多记 下来了,使用8253芯片

12、,主要是用来得到我们需要的音乐 频率,因为系统默认的时钟频率太大了,所以计数器主要使 用工作方式3来降低频率,8255工作方式控制字用来设定A、 B 口和C 口的数据传送方向是输入还是输出,设定各口的工 作方式是3种方式的哪一种。对于8253芯片作为计数器的 用法基本上已经掌握,相关的操作命令能相对熟练的运用, 对于8255芯片作为并行输入输出的本质有了一定的了解, 对8255的A 口,B 口,C 口做不同的输入输出工作的具体应 用有了一定的经验,同时对8059做中断处理操作时候相关 命令有了一定的了解。Intel8259拥有3种操作命令,即 OCW1OCW3,这些命令在Intel8259启动

13、后,可以多次运行。 因此,在编写用户程序时只使用这3种操作命令。其中OCW1 是屏蔽中断源操作命令,对应芯片奇地址(A0 = 1),8bit(D7D0)可读/写。其中:Di=1表示阻止第i个中断源向CPU请求中断。否则为允许。而OCW2是中断结束操作命令, 对应芯片偶地址(A0 = 0), 8bit (D7D0)可写。通过他们 的使用可以实现开光中断,进而进入终端子程序。对于中断我也加深的认识,学到了不少的东西。首先设 置从片的中断源号是IRQ10,中断类型是72h,主片的中断 源号是IRQ2,中断类型也是70h,同时8059也能和其他芯 片一起来实现相对复杂的工作,使用8255的PC0连接到

14、 8259,就可以利用将pc0设置的1的方式,直接实现中断的 调用实现,这样就可以控制中断子程序的处理过程了。在中 断子程序里面加上调用控制发出音乐的子程序,并且加以调 用,就能实现程序运行时,一旦8位开关信号量状态满足设 定条件,就触发中断,使发光二级管按规律闪烁,同时扬声 器播放一段音乐。发生和灯变幻的程序写在一起,他们执行 的时候就差不多同时执行,从而实现了音乐节拍和二极管的 变化的同步变化。七、附录RESET一 PBPB一 PAPA疏DC下半部总线Q 缀冲器WR-w-e数据总线 缓冲器内部总线参数名称符号测试条件最大规范值最小规范值输入低电平电压VIL0.8V-0.5V输入高电平电压V

15、IHVcc2.0V输入低电平电压(数据VOLIOL=2.5MA0.45V总线)输入低电平电压(外部VOLIOL=1.7MA0.45V端口)输入高电平电压(数据 VOHIOH=-400MA2.4V总线)输入高电平电压(外部 VOHIOH=-200MA2.4V端口)达林顿驱动电流IDARREXT=750-0.4MA1.0MAVEXT=1.5V电源电流ICC120MA输入负载电流IILI=Vcc0V+10MA-10MA输出浮动电流IOFLVout=Vcc-0+10MA-10MA8253内部结构4 124VccD停一223WR据1-S22-RDD. 1i*21CSDm J1520 A.Dz 619AoS 1718CLKaDo ?i17OUT芝CLKo )16 GATE 呈f IITJfl1Kn kUU 1 QU15名称参数符号詹试条件1最大14典型占最小单位输入低电压Vi七nd二11,0.8 13I E -o-Pr5v输入高电压VihVcc+0.2.2V8253范5片管脚图输出低电压Vol0.45V输出高电压Voh2.4 V输入负载电 Iil Vin=Vcc0 +/-10uA流输出浮动漏 Iofl Vout=Vcc0.

温馨提示

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

评论

0/150

提交评论