2862.C可存储式电子琴设计报告(包含小组成员报告源代码等) 个人报告3.doc
-
资源ID:3928254
资源大小:75KB
全文页数:9页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2862.C可存储式电子琴设计报告(包含小组成员报告源代码等) 个人报告3.doc
计算机科学与技术学院硬件课程设计报告(个人报告)姓 名: 学 号: 专 业: 信息安全 班 级: 设计题目: 可存储式电子琴 成 员: 指导教师: 职 称: 副教授 2008年 7月 徐州课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日目 录1设计任务与要求 12 个人分工13 8253原 理 24硬件设计思路35 电子琴关于8253部分设计电路36 流 程 图 47 关于8253部分程序源代码58实验体会59参考文献6 总体设计部分1 设计任务与要求 本次硬件课程设计的任务和要求是通过居于8255A芯片和8253芯片上的电路设计和电路连接并通过对它们进行编程实现一个具有可存储音乐和电子琴的基本功能的小器件。该器件不仅具有基本的弹奏功能(输入不同的键能发出不同频率的声音即音符),还具有弹奏存储功能(在先后输入不同的键后,它能将这些键存储起来,然后一并输出)。1.1 本次硬件课程设计是为了实现一个可以存储音乐且具有一般电子琴的基本功能的小器件。1.2 通过硬件设计熟悉并掌握微型计算机与接口技术课程中的关于各个芯片的知识和一些具体应用;1.3 通过此次硬件课程设计培养自己的对于微型计算机与接口技术课程的兴趣;1.4 通过此次硬件课程设计培养自己的动手能力和创新精神,培养自己的提出问题并解决问题的能力;1.5 通过此次课程设计锻炼同学们的彼此配合,彼此合作的能力和意识;2 个人分工这次设计我们小组先经过协商完成功能分析、总体硬件规划、程序总体设计部分,根据各自情况划分本人负责搜集资料、硬件8253部分功能的连接及相关程序化,编写总体实验报告。3 8253原理可编程定时器计数器8253利用硬件电路和中断方法控制定时,定时器和范围完全由软件来确定和改变,并由微处理器的时钟信号提供时间基准,因这种时钟信号由晶体震荡器产生,计时精确稳定,但时钟信号频率太高,所以要把它送到专门的计数器定时器进行分频后才能产生所需的各种定时信号。可编程定时器计数器8253进行电路定时时,先要根据预定的定时时间,用指令对8253芯片设定记数值,然后启动芯片进行工作。计数器一旦开始工作后,CPU就可以去做别的工作了,等计数器到预定的时间,便自动作相应的处理,8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均可按六种不同的方式工作,并且都可以按2进制或者10进制格式进行记数,最高频率可达2MHz ,对8253进行初始化编程时,先用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定 该计数器的工作方式和记数格式,写入控制字还起复位作用,使输出端OUT变成规定的初始状态并使计数器清0。用输出指令选中的计数器端口地址中写入一个记数初值,初值设置时要符合控制字中有关格式的规定。8253有三个计数器通道,每个通道都有6种不同的工作方式。本次课程实际用到方式2,当对某一记数通道写入控制字选定工作方式2时,OUT端输出高电平。GATA为高电平,则在写入记数值后的下一个时钟脉冲时,将记数值装入执行部件,此后计数器随着时钟脉冲的输入而递减记数。当记数值减为一时,OUT端由高电平变为底电平,待计数器的值减为零时,OUT引脚又回到高电平,即底电平的持续时间等于一个输入时钟周期,与此同时,还将计数值初值重新装入计数器,开始一个新的记数过程,并由此周而复始的循环计数,如装入计数器的初值为N。那么在OUT引脚上,每隔N个时钟脉冲就产生一个负脉冲,其宽度与时钟脉冲的周期相同,频率为输入时钟脉冲平率的N分之一,这是一种分频工作方式,在计数过程中,当GATE变成底电平时,将迫使OUT变为高电平,并禁止计数;当GATE从底电平变为高电平,也就是从GATE端产生上升沿时,在下一个时钟脉冲时,又把预置的计数初值装入计数器,从初值开始递减计数,并循环执行,本实验需要产生连续的负脉冲序列信号,即选择使用8253工作于方式2。 由功能分析可知,8253的方式字为00110111B。4 硬件设计思路4.1 8255A和8253配合构成音频发生器。8255A的PB0口控制扬声器的开关,4. 2 8255A门控信号与8253的频率控制信号经与门后驱动扬声器发出各种音频和音长声音。4. 3将8255的输出端口PC0与8253相应门控信号GATE0相连接。这样可以通过控制PC0来控制8253的输出:当PC0为“1”时,GATE0有效,8253能够输出频率方波;当PC0为“0”时,GATE0无效,OUT0无法输出频率方波。而8253的时钟输入引脚CLK0与相应的时钟发生器相连接,8253的0通道的OUT0信号与8255A的PC1通过与门以后与蜂鸣器相连接,从而驱动并控制蜂鸣器发音的发音和终端:当PC1为“1”时蜂鸣器连通,能够发出声音;当PC1为“0”时蜂鸣器被中断,不能发出声音。在硬件上实现了通过8255A芯片输入设备的输入信号并通过它传送给8253,让8253进行相应的处理后输出给蜂鸣器的功能。我们要通过对8255A的初始化和编程控制它的相关工作,使其能够实现上面提到的相应功能。然后,我们对8253进行编程使其在运行中根据8255A芯片传递来的信息的不同执行不同的程序(输出不同的音频)。 5电子琴设计关于8253部分的电路图设计:PC1PC0CS 8253GATE0OUT0 CSU87接扬 声器频率发生器Y0 Y1 74LS138 8255A地址为300H303H8253 地址为308H30BH图2-2 8255A与8253芯片之间的连接6 8253工作的流程图 保存所按下的键8255A中输出8253的0通道的门控允许信号并记时8253的OUT0中输出键值所对应的音符的频率键盘是否仍按着? 是 否8255A中输出8253门控禁止信号,保存时间结束返回图4-2 PLAY子程序流程 7 关于8253初始化部分程序源代码MOV DX , 30BH MOV AL,00110111B ,8253初始化,控制字为00110111B OUT DX,AL 8 实验体会这次实验对我来说是一个挑战,我感觉是最难的一个实验,因为这是一个综合性实验,要用到许多学过的知识还要把握好怎么去把知识运用到实际中。在做这次大作业之前,我对计算机地了解只限于计算机系统地各个主要组件,比如主板,内存,硬盘,光驱等,是在微机原理课上我才开始真正接触计算机的基本工作方式,知道了几种最简单但是也很常用的几种接口芯片,让我深切地感受到计算机地奇妙,尤其是我们这次地题目:可存储式电子琴,让我知道了竟然不用音箱竟然也可以听歌,编写一个简单的程序竟然还可以弹奏!于是我就开始积极准备这个大作业。但在准备的过程中,我深感自己所学有限,很有一种书到用时方恨少的感觉,于是就一有空就钻进图书馆查资料,在完成过程中,我们还充分地利用了网络,通过它获取了不少知识,解决了不少实际问题,总之,我感觉自己几个星期的辛苦没有白费,虽然最终结果可能仍然很幼稚,但我认为自己在这个过程学到了很多东西,自身能力也得到了提高,知道了如何去查找资料,解决问题,知道了如何在一个团队里取长补短,发挥每个人地特长,更好地完成任务,真的很感谢老师提供的这样一个机会!经过一个月的奋战,我们的项目终于完成了,但这并不意味着结束,反而是起点。开发过程虽然短暂但有意义。它是我们发现了许多不足,激发了我们的兴趣,激励我们去更好的学习和完善自己。团队的合作也使我们真正懂得了“众人添柴火焰高的道理”。这次实验后我对8255和8253的结构原理和功能了解的更加深刻,特别是8253如何在实际中应用,我想以后有机会多做一下这方面的研究,我也认识到了要学好计算机就必须脚踏实地的深入研究,这样才能有自己的收获,今后我会继续努力的!9 参考文献1 微型计算机原理与接口技术吴秀清,周荷琴 编著 第二版 合肥:中国科学技术出版社 2001,1 2汇编语言 王爽 著 第一版 北京:清华大学出版社 2003,7