资源描述:
《微机原理课程设计-电子琴》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案自动化专业课程设计报告《微型计算机原理课程设计》班级自动化12-3姓名金星学号1205130323时间2014.12.18地点电信实验中心第六实验指导教师李向军大连海洋大学信息工程学院自动化教研室精彩文档实用标准文案题目:计算机仿真电子琴一、课程设计的目的与要求1、设计目的本课程课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。2、设计要求从课程设计的目的出发,通过设计工作的
2、各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。2)Dos的基本调用。3)进一步理解各种接口电路的应用。(8255并行接口,8254定时器等)。4)掌握利用PC机扬声器发出不同频率声音的方法。3、主要技术指标编写程序1)在程序运行时使PC即成为一架可弹奏的电子琴。当按下数字键1-8时,依次发出1,2,3,4,5,6,7,I这八个音调。按下CTRL+C或者回车则退出电子琴状态。2)在程序运行时使PC自动按要求提示演奏乐曲。音符1234567频率(低)131147165175196220247频率(中)262294330349392440494频率(
3、高)524588660698784880988二、课程设计课题的分析8255/8245的硬件:电子琴的设计实际上就是要设计一个程序,能够通过该程序控制PC机内扬声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC机内的扬声器是通过并行接口芯片8255和定时芯片8253来控制发音的,其电路连接方式如下图所示。精彩文档实用标准文案图1.扬声器工作原理图示图2.主程序工作流程图精彩文档实用标准文案图3.乐曲演奏子程序工作流程图图4.电子琴子程序工作流程图图5.扬声器工作流程图8255的内部结构图如图2所示,它有3个数据端口,分为两组,A组由A口和C口
4、高四位组成,B组由B口和C口低四位组成。其方式控制字如图3所示。精彩文档实用标准文案图28255内部结构图图38255方式控制字方式控制字的特征位D0D7D6D5D4D3D2D11A组工作方式00——方式001——方式11´——方式2B组工作方式0——方式01——方式1A口输入/输出1——输入0——输出PC7~PC4输入/输出1——输入0——输出B口输入/输出1——输入0——输出PC3~PC0输入/输出1——输入0——输出PC机内8255的A口,B口,C口和控制口的端口地址分别为:60H,61H,62H,63H。2.28253工作原理8253芯片中有3个计数
5、通道,称为通道0,1,2,它们与外部电路相连的信号线有3根:CLK,GATE,OUT,CLK是脉冲输入端,GATE是门控信号,OUT是输出信号,计数器工作在减1状态。其内部结构图和方式控制字格式如图4,图5所示。其中当计数器工作在方式3时,输出信号为方波信号。内部总线A1GATE0CLK0OUT0GATE1CLK1OUT1GATE2CLK2OUT2D0-D7计数器0计数器2计数器1控制寄存器A0数据总线缓冲器R/W逻辑电路精彩文档实用标准文案图48253内部结构图D7D6D5D4D3D2D1D0计数器选择00计数器001计数器110计数器211不用00计数器
6、锁存01读写低8位10读写高8位11读写16位工作方式选择000方式0001方式1×10方式2×11方式3100方式4101方式5计数方式0二进制1BCD计数图58253控制字格式PC机内8253的通道0,通道1,通道2,控制口的端口地址分别为:40H,41H,42,43H。因为扬声器是由通道2来控制的,故应选择通道2,工作方式选为方式3,输出的信号则为方波信号。三、课程设计的结果1、实验代码DATASEGMENTINFO1DB0AH,0DH,'WELCOMEYOUTOCOMEHERE!$'精彩文档实用标准文案DB0AH,0DH,'THISISAMUSICP
7、ROGRAM!$'DB0AH,0DH,'PLEASESELECLT!$'INFO4DB0AH,0DH,'INPUTERROR!$'INFO5DB0AH,0DH,'PLEASEINPUTAGAIN!$'MUSLISTDB0AH,0DH,'========================='DB0AH,0DH,'Press1HuanLeSong'DB0AH,0DH,'Press2KaiXin'DB0AH,0DH,'Press3XiaoBuWuQu'DB0AH,0DH,'Press4Wonderful'DB0AH,0DH,'Press5SCALEPLAY'DB0A
8、H,0DH,'Press6EXIT'DB0AH,0D