您好,欢迎访问三七文档
燕山大学课程设计说明书-0-燕山大学汇编语言课程设计说明书题目:计算机钢琴程序交通灯控制系统学院(系):信息科学与工程学院年级专业:10级计算机科学2班学号:100104010113学生姓名:马强学号:100104010116学生姓名:夏洋指导教师:何海涛、邹晓红完成日期:2013年7月3日燕山大学课程设计说明书-1-目录1.课程设计的目的和意义...........................................................................................................-2-1.1课程设计目的................................................................................................................-2-1.2课程设计的意义............................................................................................................-2-2.题目一:计算机钢琴程序.......................................................................................................-2-2.1系统的主要功能............................................................................................................-2-2.2总体设计方案................................................................................................................-2-2.2.1扬声器驱动方式.................................................................................................-2-2.2.2延时原理.............................................................................................................-3-2.2.3键盘控制发声程序.............................................................................................-4-2.2.4设计总结.............................................................................................................-5-2.3作品使用说明................................................................................................................-6-3.题目二:交通灯控制系统.......................................................................................................-6-3.1系统的主要功能............................................................................................................-6-3.2系统工作原理...............................................................................................................-6-3.2.18259的工作原理................................................................................................-6-3.2.28255A的工作原理:......................................................................................-7-3.2.38253的工作原理:............................................................................................-7-3.3总体设计方案................................................................................................................-7-3.3.1程序流程图.........................................................................................................-8-3.3.2接口电路图.......................................................................................................-11-3.4交通灯的设计总结......................................................................................................-11-4.课程设计心得体会.................................................................................................................-12-5.参考文献.................................................................................................................................-12-6.附录:程序代码.....................................................................................................................-12-6.1计算机钢琴程序代码..................................................................................................-12-6.2交通灯控制系统代码..................................................................................................-14-燕山大学课程设计说明书-2-1.课程设计的目的和意义1.1课程设计目的1.进一步了解汇编语言指令的功能和用法。2.进一步了解汇编接口的功能和用法。3.了解用汇编语言实现声音、图像的编程。4.锻炼团队协作完成程序设计的能力。1.2课程设计的意义本次课程设计,给同学们一个把理论知识转化为实际动手能力的机会,使同学们能够更深入的理解汇编语言,掌握汇编语言指令的用法,掌握8259A、8255、8253接口的功能和控制方法。本次课程设计的题目难度适中,既可以培养同学们的自信心又可以锻炼同学们解决困难的能力。本次课程设计的形式为两人一组共同完成两个任务,既培养同学们的团队精神又提升了每个人的能力。2.题目一:计算机钢琴程序2.1系统的主要功能编写程序,程序运行时使PC机成为一架可弹奏的钢琴,当按下数字键1-8时,依次发出8个音调。按CTRL-C则退出钢琴状态。2.2总体设计方案2.2.1扬声器驱动方式1.直接控制扬声器发声程序通过I/O指令使设备控制寄存器(I/O端口地址为61H)的第一位交替为0和1,而端口61H的第一位和扬声器的脉冲门相连,当第一位由0变为1,延迟一会又由1变为0时,脉冲门就先打开后关闭,产生了一个脉冲电流。这个脉冲电流被放大后送到扬声器使之发出了声音。燕山大学课程设计说明书-3-图1设备控制寄存器2.利用8253驱动扬声器PC机上的大多数I/O都是由主板上的8255可编程程序外围接口芯片(PPI)管理的。由PPI输出寄存器中的0和1两位来控制扬声器的驱动方式。将8253的定时器2连接到扬声器上。GATE2与端口61H的PB0相连,当PB0=1时,GATE2获得高电平,使定时器2可以在模式3下工作。定时器2的OUT2与端口61H的PB1通过一个与门与扬声器的驱动电路相连。当PB1=1时,允许OUT2的输出信号到达扬声器电路。图2利用8253驱动扬声器发声2.2.2延时原理1.利用CPU来产生延迟利用CPU来产生延迟时间是最常用的一种方法,但对8086,80286,803861/0076543210端口61H&放大器765432108255PPICLK0OUT0GATE0CLK1OUT1GATE1CLK2OUT2GATE2&VCC1193180HZ8254PITVCC74L500燕山大学课程设计说明书-4-等,它们产生的延迟时间是不一样的。对于基于8088的PC/XT,PS/2等PC机,可用下面的程序来产生时间延迟:MOVCX,NDELAY:LOOPDELAY在8088CPU中,执行一条LOOP指令需要17个时钟周期,因此,执行上面的指令大约需要N*17*T时钟周期。例如,N=2800,系统频率为4.7MHZ,那么可得到的延迟时间为10ms。2.80x86PC的时间延迟80x86的各种处理器采用6~66MHz的工作频率,LOOP指令的执行时间在这些处理器上也不相同。为了建立一个与处理器无关的实践延迟,IBM采用了一种利用硬件产生时间延迟的方法,即通过监控端口61H的PB4,使PB4每18.08us触发一次,以产生一个固定不变的时间基准。在IBMPCATBIOS中的WAITF子程序,就是一个产生N*15.08us时间延迟的程序。调用WAITF子程序时,CX寄存器必须装入15.08us的倍数N。;(CX)=Countof15.08usWAITFPROCNEARPUSHAXWAITF1:INAL,61HANDAL,10HCMPAL,AHJEWAITF1MOVAH,ALLOOPWAITF1POPAXRETWAITFENDP利用WAITF子程序能获得任意的延迟时间,而再不必考虑CPU的型号和工作频率。2.2.3键盘控制发声程序音符和频率之间有一定的对应关系,如果计算机键盘上的某些键和音符、频率也形成一种对应关系,则可通过键盘控制扬声器发出各种音符声音,这时计算机键盘就变成了钢琴键盘,就可以用它弹奏出简单的音乐。钢琴有88个音符,为了简单起见,下面通过编写一个八度音程的钢琴程序来了解键盘控制发声的原理。为了弹奏方便,让数字1~8对应一个音阶的八个音符。采用的频率为524,588,660,698,784
本文标题:汇编课程设计
链接地址:https://www.777doc.com/doc-7264915 .html