计算机接口课设报告_第1页
计算机接口课设报告_第2页
计算机接口课设报告_第3页
计算机接口课设报告_第4页
计算机接口课设报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简易电子琴 一、设计目标 运用本学期学过的接口芯片,设计一个 8086微机应用系统,要求系统中 除CPU以外包含三个以上芯片。具体题目为简易电子琴,用小键盘演奏简单乐曲。 即点击对应按键,可发出不同的音阶,从而演奏音乐。 二、设计所用仪器和器件 1外设: 按键 扬声器 示波器 2芯片: 8086芯片X 1 8253 芯片X 1 8255 芯片X 1 74HC373芯片 X 2 74HC138芯片 X 1 三、设计内容 简易电子琴,用小键盘演奏简单乐曲 四、设计过程 1设计说明 芯片对应的功能为: 8255A作为键盘接口、扬声器接口、 8253芯片接口。 利用8255控制扬声 器的开关状态,通过

2、按键模拟电子琴的按键,接受按键的输入,设置不同的计数 值,输出到8253中,给8253芯片设置不同的计数值。 8253:使用其分频功能,产生乐音。接受不同的计数值,产生不同频率的波 形,从而使得扬声器产生不同的频率。此处用到其方式2。 2个74HC373芯片,1个74HC138芯片,分别作为锁存器、译码器。它们是 10端口译码电路的重要组成成分。 2设计方案 (1)逻辑框图 (2)程序流程图 开始 芯片初始化 3设计系统的硬件电路图 硬件图设计与连接如下图 Lb. HISLr ACID 151 H IMTWll iHTR 兵 UtM2 hWI IW MhMK CLM CMJTD OU 11 一

3、器4; .Mil 4 心 Ant 占 AIM H AT: I aB* - LL . AU. i nl CLHI Mil OUTI 1 sss 4代码设计 #define TCONTRO 0A006H #define TCON00A000H #define TCON10A002H #define TCON20A004H #define IOCON 8006H #define IOA 8000H #define IOB 8002H #define IOC 8004H #define feq 1000000 II以下是C调低音的音频宏定义 #define l dao 382 II 将“ I dao

4、”宏定义为低音“ 1 ”的频率 262Hz #defi ne l_re 350 / #defi ne l_mi 322 / #defi ne l_fa 287 / #defi ne l_sao 254 / #defi ne l_la 227 / #defi ne l_xi 202 / 将“ l_re ”宏定义为低音 将“ l_mi ”宏定义为低音 将“ l_fa ”宏定义为低音 2”的频率286Hz 3”的频率311Hz 4”的频率349Hz 将“ l_sao ”宏定义为低音“ 5”的频率392Hz 将“ l_a ”宏定义为低音“ 6”的频率440Hz 将“ l_xi ”宏定义为低音“ 7”的

5、频率494Hz /以下是C调中音的音频宏定义 #defi ne dao 191 / 将 #defi ne re 170 / 将 #defi ne mi 152 / 将 #defi ne fa 143 / 将 #defi ne sao 128 / 将 #defi ne la 114 / 将 #defi ne xi 101 / 将 dao”宏定义为中音“ 1 ”的频率523Hz re ”宏定义为中音“ 2”的频率587Hz mi”宏定义为中音“ 3”的频率659Hz fa ”宏定义为中音“ 4”的频率698Hz sao”宏定义为中音“ 5”的频率784Hz la ”宏定义为中音“ 6”的频率880

6、Hz xi ”宏定义为中音“ 7”的频率523H /以下是C调高音的音频宏定义 #defi ne h_dao 96/ 将“ h_dao ”宏定义为高音“ 1”的频率1046Hz #defi ne h_re 85/ #defi ne h_mi 76/ #defi ne h_fa 72/ #defi ne h_sao 64 / #defi ne h_la 57/ #defi ne h_xi 51/ 将“ h_re ”宏定义为高音“ 2 ”的频率1174Hz 将“ h_mi ”宏定义为高音“ 3”的频率1318Hz 将“ h_fa ”宏定义为高音“ 4”的频率1396Hz 将“ h_sao ”宏定义

7、为高音“ 5”的频率1567Hz 将“ h_la ”宏定义为高音“ 6”的频率1760Hz 将“ h_xi ”宏定义为高音“ 7”的频率1975Hz void outp( un sig ned int addr, char data) / Write a byte to the specified I/O port _asm mov dx, addr mov al, data out dx, al char inp(un sig ned int addr) / Read a byte from the specified I/O port char result; _asm mov dx, a

8、ddr in al, dx mov result, al return result; void delay() un sig ned char i,j; for(i=0;i250;i+) for(j=0;j50;j+) un sig ned char table16=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa 1,0 x86,0 x8e;按键对应的频率 un sig ned int cf=l_dao,l_re,l_mi,l_fa,l_sao,l_la,l_xi,duo,r

9、e,mi,fa,sao,la,xi,h_dao,h_re,h_ mi,h_fa,h_sao,ha,h_xi; void display(i nt i) outp(IOA,tablei); int a = cfi; outp(TCONTRO,Ox36); int ch=cfi/256; int cl=cfi%256; outp(TCON0,cl); outp(TCON0,ch); int j; for(j=0;j4;j+) delay();/ 控制节拍数 延时1个节拍单位 void mai n(void) un sig ned char i,j,k,tmp; un sig ned int cou

10、nt; / un sig ned int ch, cl; / / Write your code here outp(TCONTRO,Ox36); 储存定时器的定时常数 储存定时器的定时常数 /计数器0,只写计算值低 8位,方式3, 二进制计数 outp(IOCON,0 x88); outp(IOA,0 xFF); while (1) j=0 x0e; tmp = 0; for(k=0;k4;k+) j-=k; if(j=0 x08) j=0 x07; outp(IOC,j); i=i np(IOC);i=i np(IOC);i=i np(IOC);/ 重复几次 i|=0 x0f; switch(i) LS2 SOUNDER dJL1a3t9BJ O1 2 3 M 5-6? B B D B B D D D PPPPPPPP 1Qk Wk10k Wh 仙 打鬥 U: : . 1-1-1: 键盘演奏 case 0 xef:display(4*k);break; case 0 x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论