您好,欢迎访问三七文档
微机原理课程设计-1-沈阳工程学院课程设计课程设计题目:简易电子琴设计系别自动控制工程系班级自本051学生姓名陈阳学号14指导教师李贞、王新颖职称教授、副教授起止日期:08年06月10日起——至08年06月13日止微机原理课程设计-2-沈阳工程学院课程设计任务书课程设计题目:简易电子琴设计系别自动控制工程系班级自本051学生姓名陈阳学号14指导教师李贞、王新颖职称教授、副教授课程设计进行地点:微机原理实验室(E404/406)任务下达时间:2008年06月06日起止日期:08年06月10日起——至06月13日止教研室主任李贞08年06月06日批准微机原理课程设计-3-一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。二、设计的原始资料及依据(1)查阅定时器8254,可编程8255及音节的频率范围等资料。(2)通过改变键盘输入来改变8254输出频率,实现扬声器发音。三、设计的主要内容及要求内容:利用微机原理试验箱,设计简易电子琴。要求:(1)可以弹出7个音阶。(2)弹奏简短音乐。四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。2.学生应撰写的内容为:目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。3.说明书(论文)手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。4.课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。微机原理课程设计-4-六、时间进度安排;顺序阶段日期计划完成内容备注11.0天查阅资料及程序设计22.0天上机调试程序30.5天成绩评定40.5天书写报告七、主要参考资料(文献)。1、《微机原理与应用》大连理工大学出版社2、《微机原理与接口技术》北京航空航天大学出版社3、《微型计算机原理与汇编语言》电子工业出版社4、《8088/8086汇编语言程序设计》中央广播电视大学出版社微机原理课程设计-5-沈阳工程学院微机原理及应用课程设计成绩评定表系(部):自动控制系班级:自本051学生姓名:陈阳指导教师评审意见评价内容具体要求权重评分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12)分加权分合计指导教师签名:年月日评阅教师评审意见评价内容具体要求权重评分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评阅教师签名:年月日课程设计总评成绩分微机原理课程设计-6-摘要微机原理课程设计——设计简易电子琴本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。首先利用了编程程序,编辑了8255芯片控制字,对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后,输出到8254芯片中,由此实现对其的初始化。将8254芯片设置为工作在方式3,即输出对称方波状态。A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。微机原理课程设计-7-目录一.封面···································1二.任务书·································2三.成绩评定表·····························5四.摘要···································6五.目录···································7六.正文···································8七.总结···································17八.参考文献······························18微机原理课程设计-8-正文我组的课程设计题目:简易电子琴设计1.实验内容:利用微机原理试验箱,设计简易电子琴。2.实验要求:(1)可以弹出7个音阶。(2)弹奏简短音乐。(3)通过改变键盘输入来改变8254输出频率,实现扬声器发音3.工作原理:本程序是通过并行接口芯片8255对键盘进行扫描(对于键盘单元的工作原理见正文第9点),将8255芯片的PA0—PA4,PC0—PC4它们分别与键盘伤的X1—X4,Y1—Y4相连,根据控制字81H,决定工作在方式0,A端口和B端口输出,C端口输入,由其C口将按键情况输入到CPU中,在CPU中进行一系列运算,通过定时器8254将不同频率的波形经OUTO输入到扬声器中,从而实现扬声器的发音。本实验中8254的工作方式为方式3,输出的波形为对称方波。由于系统中8254的CLK端已固定接好频率为1MHZ的方波信号,所以要控制其输出端OUT0输出不同的频率只要根据通过写入不同的计数初值就能实现。公式为:CLK0端的输入频率/OUT0端的输出频率=计数初值N通过频率的大小控制音阶的不同,通过延时程序控制发音的长短,由此达到实验要求。4.所用芯片8255简介:1)D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。微机原理课程设计-9-2)PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。3)PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。4)PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。5)CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。6)RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。7)WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。8)RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。9)A1、A0:端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址。10)本实验用到的引脚有PA0-PA3、PC0-PC3、D0-D7、A0、A1、WR、RD、CS、和GND;设定工作在方式0,A口输出、B口输出、C口低4位输入。5.所用芯片8254简介:1)D0-D7双向数据线,用以传送数据和控制字。计数器的计数值亦通过此数据总线进行读写。2)CS输入信号,低电平有效。作为片选。3)RD读控制信号,低电平有效。4)WR写控制信号,低电平有效5)A0、A1为8254的内部计数器和一个控制寄存器的编码选择信号6)CLK0是每个计数器的时钟输入端。计数器对此时钟信号进行计数。微机原理课程设计-10-CLK最高频率可达2MHZ。7)GATE0-GATE2门控制信号,即计数器的控制输出信号,用来控制计数器的工作。8)OUT0-OUT2计数器输出信号,用来产生不同方式工作时的输出波形9)8254具有3个独立的16位计数器,6种不同的工作方式。计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便是计数寄存器内容,计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当CLK端出现了规定个数的脉冲时,OUT输出一个脉冲信号。10)本实验中,我们用到的引脚有:D0-D7、A0-A1、WR、RD、CS、CLK0、GATE0、OUT0等;设定工作在方式3用来产生方波、应用计数器0。6.程序流程图微机原理课程设计-11-7.程序代码:MY8255_AEQU0600HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_MODEEQU0606HMY8254_MODEEQU06C6HMY8254_AEQU06C0H;进行宏定义MYDATASEGMENTCHUSHUDW441D,495D,556D,589D,661D,742D,833D,882D,262D,294D,330D,373D,402D,450D,494D,-1DMYDATAENDS;建立数据段MYDATA对8255、8254进行初始化扫描键盘是否有键按下确定按键位置将对应键值经COU计算,结果作为为计数器的初值N送入82548254输出对应频率控制扬声器发声多次调用延迟子程序实现静音并中断扫描微机原理课程设计-12-MYCODESEGMENT;建立数据段MYCODEASSUMECS:MYCODE,DS:MYDATASTART:MOVAX,MYDATAMOVDS,AX;实现段寄存器DS的初始化MOVDX,MY8255_MODEMOVAL,81HOUTDX,AL;写8255芯片的控制字,实现工作在方式0,A端口和B端口输出,C端口输入MOVDX,MY8254_MODEMOVAL,36HOUTDX,AL;使8254工作在方式3,A口输入,运用计数器0,以二进制方式进行BEGIN:CALLCCSCAN;调用扫描子程序JNZNUM1;有键按下时跳到NUM1JMPBEGIN;没键按下时循环执行BEGIN;========================================;确定按下键的位置;========================================NUM1:CALLCCSCANJNZNUM2;有键按下时跳到NUM2JMPBEGIN;没键按下时循环执行BEGINNUM2:MOVCH,0FEH;确定按下键在第一列MOVCL,00H;将CL清零COLUM:MOVAL,CHMOVDX,MY8255_A;将8255的A口地址赋给DX微机原理课程设计-13-OUTDX,AL;将CPU中的AL值送到8255的A口中,即送到x1、x2、x3、x4中MOVDX,MY8255_C;将8255的C口地址赋给DXINAL,DX;将C口的值送到AL中L1:TESTAL,01H;检验按下键是否在L1JNZL2;不是L1则跳到L2MOVAL,00H;为了后面用来与CHUSHU数据段中数对应JMPKCODE;强制跳转到KCODEL2:TESTAL,02H;检验按下键是否在L2JNZL3;不是L2则跳到L3MOVA
本文标题:简易电子琴设计
链接地址:https://www.777doc.com/doc-4253795 .html