版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机课程设计电子琴课程设计申报电子琴姓名:***学号:********专业:********实验室:电工电子实验中间103设计时刻:2009年5月30日——2009年6月4日评定成就:核阅教师:目录一.实验简介……………3二.全然设计思惟………3三.法度榜样流程和法度榜样实现………………3四.测试筹划和测试成果………………10五.分析与总结…………10
一.实验简介目标:考查和进步我在道理与接口综合应用方面分析问题与解决问题的才能,同时也给我供给更多、更好的练习机会。依照设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。全然实验要求:构造一仿照/数字电子琴1、选择应用实验仪扬声器/PC机内8253驱动内扬声器与键盘1、2、3、4、5、6、7、8设计一个电子琴,经由过程按数字键响响应的乐符1、2、3、4、5、6、7、i,使能吹奏简单的乐曲。按1~8数字键同时点表态应的8个LED灯,使具有声、光后果;2、应用实验仪DAC和喇叭,软件操纵上述功能。选择机内照样实验仪由开关设置,课随时切换;3、在8*8点阵上表示音节高低;4、精确显示从第一个键按下后的时刻(单位秒,要求精确到0.1秒,显示到秒)。进一步设计要求:1.、能精确记录开端吹奏到停止吹奏的时刻,在八段码上显示;2、数字、仿照合奏,能同时指导音阶;3、主动灌音,并具有回放功能(分两种程度、难易不等、即记录按键,同时记录按键和时刻。实现情形:实现全然实验要求的1~3。二.全然设计思惟1、先分别设计机内电子琴和实验仪电子琴。机内电子琴参照实验五8253计数器/准时器的选做与摸索中应用PC机内8253驱动声音接口;实验仪电子琴参照实验中演示实验的电子琴流程图;2、再把两者结合起来,用一个高低电平作开关操纵是机内照样实验仪,可经由过程8255A口输入,确信10(二进制)则实验仪DAC,00则机内喇叭;3、点阵显示。依照输入的数字确信应显示点阵的哪一行。具体可先把点阵的8列全选通,输入为1~8某个数字时,确信显示响应的行;4、LED灯显示。同样,依照输入的数字确信应显示哪一个LED灯。具体可设置8255B口为输出,依照输入的数字,输出操纵LED灯响应灯亮。三.法度榜样流程和法度榜样实现1、机内电子琴开端流程图:开端键盘读入一个字符键盘读入一个字符是ESC键吗?是ESC键吗?YYNNNN返回DOS返回DOS是数字1~8键吗?是数字1~8键吗?YY求出音阶值储存求出音阶值储存赋响应频率值赋响应频率值延时延时法度榜样:dsegsegmentfreqdw262,294,330,349,392,440,494,523;扬声器发声各频率值msgdb'Press1,2,3,4,5,6,7,8,ESC:',0dh,0ah,'$'timdw400numdb?dsegendsssegsegmentstackdw256dup(?)ssegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,axmovdx,offsetmsgmovah,9int21h;显示提示信息sss:movah,7int21h;等待从键盘接收字符,不回显al=asc码cmpal,1bhjeexit;若为ESC键,则转EXIT退出cmpal,31hjlsss;小于31hcmpal,38h;大年夜于38hjgsss;不在'1'-'8'之间转ssssubal,31hmovnum,al;num求出响应的时刻常数的序号jinei:moval,numaddal,almovah,00hmovsi,axagain:movdi,freq[si]movbx,timcallgenjmpsssexit:movah,4chint21hgenprocnearmoval,0b6h;设置8253通道2方法3二进制计数out43h,almovdx,12hmovax,12928;DXAX=896*533h=18*65536+12928=1.19Mdivdiout42h,al;8253通道2口设置初值moval,ahout42h,alinal,61h;读8255PB口movah,aloral,3out61h,alwait1:movcx,0hdelay3:movax,10;延时子法度榜样delay2:nopdecaxjnzdelay2loopdelay3decbxjnzwait1moval,ahout61h,alretgenendpcsegendsendstart2、实验仪电子琴流程图:实验电路:法度榜样:datasegmentioport equ0d400h-0280hio8253a equioport+280hio8253b equioport+283hio8255a equioport+288hio8255b equioport+28bhio0832a equioport+290hdata1db80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb80h,66h,4eh,38h,25h,15h,09h,04hdb00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波数据timedb120,106,94,89,79,70,63,59 ;发不合音时8253的计数器初值msgdb'Press1,2,3,4,5,6,7,8,ESC:',0dh,0ah,'$'numdb? ;num为8253计数器初值的序号dataendscodesegmentassumecs:code,ds:datastart: movax,data movds,ax movdx,offsetmsg movah,9 int21h;显示提示信息sss: movah,7 int21h;从键盘接收字符,不回显 cmpal,1bh jeexit;若为ESC键,则转EXIT cmpal,31h jlsss cmpal,38h jgsss;若不在'1'-'8'之间转sss subal,31h movnum,al;求出响应的时刻常数的序号 movcx,60;取60次32个正弦波数据ddd: movsi,0lll: moval,data1[si];取正弦波数据 movdx,io0832a outdx,al;放音 calldelay;调延时子法度榜样 incsi cmpsi,32;是否取完32个数据 jllll;若没有,则连续 loopddd;总轮回次数60是否完,没有,则连续 jmpsssexit: movah,4ch int21hdelayprocnear;延时子法度榜样ccc: movbx,offsettime movdx,io8253b;置8253通道0为方法0工作 moval,10h outdx,al movdx,io8255b;设8255A口输入 moval,9bh outdx,al moval,num;取响应的时刻常数 xlat movdx,io8253a outdx,al;向8253通道0输出kkk: movdx,io8255a inal,dx;从8255A口读一字节 testal,01;判PA0口是否为1 jzkkk;若不为1,则转KKK ret;子法度榜样返回delayendpcodeendsendstart3.电子琴总设计流程图:开端开端键盘读入一个字符键盘读入一个字符YY是ESC键吗?是ESC键吗?NNNN是数字1~8键吗?返回DOS是数字1~8键吗?返回DOSYY点亮点阵点亮点阵Y点亮LED灯Y点亮LED灯N是机内吗?N是机内吗?60个正弦波完了吗?60个正弦波完了吗?YYN求出音阶值储存正弦波个数计数器赋值60每个正弦波数据个数计数器赋初值N求出音阶值储存正弦波个数计数器赋值60每个正弦波数据个数计数器赋初值取正弦波数据送DAC0832求出音阶值储存求出音阶值储存YY赋响应频率值一个正弦波赋响应频率值一个正弦波完了吗?N延时N延时延时延时电路图:8个LED灯PB7~PB0PA0PA1PB7~PB0PA0PA1CSCLK0GATE0OUT0CS1MHZ+5VDAC0832CSCS280HK0开关288H290H法度榜样:datasegmentioport equ0c800h-0280hio8253a equioport+280h;8253通道0地址io8253b equioport+283h;8253操纵字存放器地址io8255a equioport+288h;8255A口地址io8255b equioport+289h;8255B口地址io8255d equioport+28bh;8255操纵字存放器地址io0832a equioport+290hprothequioport+2a8h;点阵行选的地址protlrequioport+2b0h;点阵列选的地址data1db80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb80h,66h,4eh,38h,25h,15h,09h,04hdb00h,04h,09h,15h,25h,38h,4eh,66h;正弦波数据timedb120,106,94,89,79,70,63,59;发不合音时8253的计数器初值banquandb0dh,0ah db '
*************************************************',0dh,0ah db ' **
**',0dh,0ah db ' **WELCOMETOUSE
dianziqin**',0dh,0ah db ' **THISPROGRAMMEIS
DESIGHEDBY **',0DH,0AH db ' **zhouqiuping61007204
**',0DH,0AH db ' **
**',0dh,0ah db '
*************************************************',0dh,0ahdb'Press1,2,3,4,5,6,7,8,ESC:',0dh,0ah,'$'numdb?;num为8253计数器初值的序号freqdw262,294,330,349,392,440,494,523;扬声器发声各频率值timdw400dataendsstacksegmentstackdw256dup(?)stackendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,offsetbanquan;版权显示movah,9int21h;显示提示信息sss:movah,7int21h;等待从键盘接收字符,不回显al=asc码cmpal,1bhjeexit;若为ESC键,则转EXIT推出cmpal,31hjlsss;小于31hcmpal,38h;大年夜于38hjgsss;不在'1'-'8'之间转ssssubal,31hmovnum,al;num求出响应的时刻常数的序号dianzhen:moval,0ffh;点阵板的列全部选通movdx,prothoutdx,almoval,00000001:点阵的行赋初值shlal,num;依照输入的数字,左移响应位数,即点阵表态应行movnum,al;如输入3,则num为2,左移两位,第三行亮movdx,prothloutdx,alled:movdx,io8255dmoval,99h;设置8255A口入B口出movdx,io8255boutdx,num;依照移位后的num点表态应led灯kaiguan:movdx,io8255a;确信机内机外inal,dx;从8255B口读一字节testal,10b;确信PA0口是否为10(二进制)jzjiwai;是的话转实验仪jmpnei;不然起色内;---------------------------------jiwaijiwai: movcx,60;取60次32个正弦波数据ddd: movsi,0lll: moval,data1[si];取正弦波数据 movdx,io0832a outdx,al;放音 calldelay;调延时子法度榜样 incsi cmpsi,32;是否取完32个数据 jllll;若没有,则连续 loopddd;总轮回次数60是否完,没有,则连续 jmpsssexit:movah,4ch int21hdelayprocnear;延时子法度榜样ccc:movbx,offsettime movdx,io8253b;置8253通道0为方法0工作 moval,10h outdx,al moval,num;取响应的时刻常数 xlat movdx,io8253a outdx,al;向8253通道0输出kkk: movdx,io8255a inal,dx;从8255A口读一字节 testal,01;判PA0口是否为1 jzkkk;若不为1,则转KKK ret;子法度榜样返回delayendp;-------------------------------------机内部分jinei:moval,numaddal,almovah,00hmovsi,axagain:movdi,freq[si]movbx,timcallgenjmpsssgenprocnearmoval,0b6h;设置8253通道2方法3二进制计数out43h,almovdx,12hmovax,12928;DXAX=896*533h=18*65536+12928=1.19Mdivdiout42h,al;8253通道2口设置初值moval,ahout42h,alinal,61h;读8255PB口movah,aloral,3out61h,alwait1:movcx,0hdelay3:movax,10;延时子法度榜样delay2:nopnopdecaxjnzdelay2loopdelay3decbxjnzwait1moval,ahout61h,alretgenendpcodeendsendstart四.测试筹划和测试成果测试筹划测试成果启动法度榜样,显现按键提示,按下1~8键机内/实验仪发出响应的音阶同时led和点阵板表态应的灯和行改变开关状况(可随时随便率性改变),按1~8键对应发出响应的音阶“操琴”发出优美旋律按下ESC键退出法度榜样五.分析与总结问题分析: 关于开关改变发声源为机内或机外和led灯的点亮,本来想用前面学过的简单输入输出实验,用74L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息安全测试员岗中成果转化考核试卷含答案
- 陶瓷原料制备工岗前实操知识实践考核试卷含答案
- 地毯设计师岗前岗位安全责任制考核试卷含答案
- 重冶浸出工诚信道德评优考核试卷含答案
- 多孔硝酸铵造粒工岗前测试验证考核试卷含答案
- 低压电器及元件装配工岗前操作规范考核试卷含答案
- 职业道德与消防安全
- 思政专业职业发展指南
- 网络打印文件安全管控规定
- 药店营业员专业知识试题及答案
- DB14-T 3223-2024 产业规划类专利导航项目质量要求
- 2024消防设施检测方案
- GB/T 18281.1-2024医疗保健产品灭菌生物指示物第1部分:通则
- DB45T 2321-2021 汁汽阀技术规范
- 混凝土采购供货方案投标文件(技术方案)
- 2024年重庆市高考思想政治试卷真题(含答案解析)
- 著作权共同所有权声明
- JTT646.4-2016 公路声屏障 第4部分:声学材料技术要求及检测方法
- 精益六西格玛绿带项目模板
- JGT14-2010 通风空调风口
- DB44T 2418-2023 公路路堤软基处理技术标准
评论
0/150
提交评论