微机原理课程设计报告jhn1.docx
- 文档编号:17051217
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:27
- 大小:286.18KB
微机原理课程设计报告jhn1.docx
《微机原理课程设计报告jhn1.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计报告jhn1.docx(27页珍藏版)》请在冰点文库上搜索。
微机原理课程设计报告jhn1
课程设计报告
(2011--2012年度第一学期)
课程:
微机原理及应用
题目:
简易电子琴设计及图形显示设计
院系:
自动化系
班级:
学号:
学生姓名:
指导教师:
设计周数:
一周
成绩:
日期:
2012年1月12日
《微机原理及应用》课程设计
任务书
一、目的与要求
1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力。
二、主要内容
1.硬件:
简易电子琴设计软件:
图形显示程序设计
2.针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。
3.根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。
4.写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。
三、进度计划
序号
设计内容
完成时间
备注
1
选择课程设计题目,查阅相关资料
周一
2
进行软硬件设计
周一
3
上机调试
周二
4
撰写设计报告
周四
5
演示及答辩
周五
四、设计成果要求
1.系统硬件设计合理,软件编程达到设计要求。
2.系统硬件结构图和软件流程图绘制清楚规范。
3.设计报告完整规范。
五、考核方式
根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。
学生姓名:
指导教师:
一、课程设计目的与要求
1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力
二、课程设计正文
1.硬件设计:
简易电子琴设计
1.1设计思想:
利用8253产生一定频率和持续时间的方波信号,控制信号传送次序和时间,使蜂鸣器发出不同频率和时长的声音,即实现音乐演奏;由按键‘1’——‘7’改变信号频率和信号时长使扬声器对应发出不同种类音调,即实现按键弹奏;利用5259中断控制器接受上升沿脉冲,进入中断服务程序,连续演奏一段音乐。
1.2设计功能:
功能1:
控制蜂鸣器连续演奏一段音乐;
功能2:
利用实验箱上提供的键盘,将数字键作为电子琴按键,按下即发出相应的音调;
功能3:
响应外部中断,演奏一段音乐。
1.3系统工作原理:
(1)计数器/定时器8253
计数器/定时器8253是由CPU的接口部分,控制部逻辑和三个计数器组成的。
控制字寄存器825初始化编程时,由CPU写控制字到控制字寄存器,以选择计数通道及相应的工作方式。
8253与外设接口的信号线,每个通道有三条:
CLK——计数器时钟输入,在计数过程中,此引脚上每输入一个时钟脉冲信号,计数器的计数值减1。
在计数过程中,计数通道收到门控信号GATE的控制。
GATE——门控输入。
不同工作方式下作用不同。
OUT——计数器输出。
当计数值减为0时,在OUT引脚上产生一个输出信号,波形取决于工作方式。
(2)4×6键盘电路
实验仪提供了一个6×4的小键盘,数码管的位选通信号也可做为键盘列扫描码(逐列输出低电平),键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按下,以及按下的是什么键。
如果没有键按下,由于上拉电阻的作用,经245读回的值为高,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位。
根据374输出的列信号和245读回的行信号,就可以判断哪个键被按下。
在判断有键按下后,要有一定的延时,防止键盘抖动。
做键盘实验时,需将KEY/LEDCS接到相应的地址译码上。
位码输出地址为0X002H,段码输出地址为0X004H,键盘行码读回地址为0X001H,此处X是由KEY/LEDCS决定。
例如将KEY/LEDCS接到地址译码的CS0上,那么位码输出地址就为08002H,段码输出地址就是08004H,键盘行码读回地址为08001H。
(4×6键盘电路见下图)
(3)MHz脉冲信号源和多级分频电路
可将4MHz脉冲信号接到分频电路上,经过分频后,能得到2M、1M、500K、250K、125K、62.5KHz多种频率的脉冲信号。
(内部电路原理图如下)
(4)音频放大电路
利用8253定时器,可以发出不同频率的脉冲,不同频率的脉冲经音频驱动电路放大滤波后,就会发出不同的音调。
(内部电路原理图如下)
1.4接口电路设计
说明:
将8253的CLK1接到1MHz脉冲信号上(1MHz信号由4MHz信号分频后得到),
端接片选段
,GATE1接VCC(5V),OUT1接喇叭的脉冲输入。
片选端
接小键盘的
端。
1.4设计流程图
2.软件设计:
图形显示程序设计
2.1设计思想:
通过设置屏幕显示方式及编写图形显示的汇编程序,最终得到“NCEPU”字样。
本程序是显示由多个字符组成的图形的程序,需要将多个字符定义在一个字符图形表里。
字符图形表包括每个字符的ASCII码、属性以及在显示图形中的相对位移量(相对位移量是指前一个字符和当前要显示的字符之间的行距和列距)4个参数组成。
字符图形表中的第一个字节“195”是总的字符数,编写程序时需要将每个字符的ASCII码和属性以及显示的位置放入相应的寄存器中,然后发出显示命令,当195个字符都显示出来后,我们就可以看到“NCEPU”的图形。
为了清晰地看到字样图形,需要延时,程序中编写了延时子程序。
2.2程序设计流程图:
主程序:
2.3设计程序及注释见附录
2.4系统调试结果
三、课程设计总结
这次课程设计总体来说做得比较顺利。
在设计前期,我们翻阅了很多资料,加深了对汇编语言的学习,基本掌握了怎样运用汇编语言去设计字符图形,以及如何利用8253经分频来实现电子琴的设计。
软件程序中主要用到了显示输出管理10号中断调用及其他多种功能;硬件设计中主要用到了8253分频,键盘的扫描读取等。
我们就这些方面进行了深入的学习,基本掌握了各个功能的运用。
在设计前期,我们查找了相关资料,更加深入的学习了汇编指令及8253、8255等芯片的知识,从而能够得以应用,并根据流程图,设计出程序的大概框架;在设计的中期,我们将各个模块细化,并编写了子程序,并将主程序和子程序进行衔接;在设计的后期,我们认真的检查了程序调用和参数传递等细节,保证程序的正确性。
通过课程设计,我们领悟到我们应该有一个缜密的编程思想,在编程过程中,首先要对整体程序有一个初步的框架构想,然后根据所学的知识,活用指令,能够使程序更加精简,这就要求我们对指令要熟悉。
在日常生活中,可以通过编写一些小的程序,来熟悉指令的使用和记忆。
在设计过程中也遇到了一些困难,通过和老师、队友的讨论和学习,最终程序得以完成,所以,在完成每一件事情时,不能忽略团队的力量,应当吸取各人的优势,来使自己更加完善。
总之一句话,微机原理及应用课程设计不仅加深巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
四、参考文献
【1】陆宏伟,微机原理实验与课程设计指导书,中国电力出版社,第一版,2006年8月
【2】马力妮,80x86汇编语言程序设计,机械工程出版社,第一版,2004年8月
【3】姜媛媛,任卓宜,IBMPC80X86汇编语言程序设计,冶金工业出版社,第1版,2007年8月
【4】余朝琨,IBM-PC汇编语言课程设计,机械工业出版社,第一版,2008年1月
附录:
1.简易电子琴设计源程序及注释
CONTROLequ0c003h;8253地址
COUNT0equ0c000h
COUNT1equ0c001h
COUNT2equ0c002h
OUTBITequ08002h
IN_KEYequ08001h
modeequ082h;8255工作方式0,PB输入
PortBequ9001h;PortB地址
CAddrequ9003h;控制字地址
datasegment
lastDB0
ToneTable1:
;千里之外前段简谱
Dw2024,1805,2024,1805,1805,1517,1517,2024,1805,2024,1805,1805,1517,1517
DW2024,2273,2273,2273,1353,1353,2273,2273,2024,1805,2024,1805,1805,1517,1517
DW2024,1805,2024,2273,2273,2024,2024,2273,1353,2273,2273,1805,1805,2024,2024
DW2024,1805,2024,1805,1805,1517,1517,2024,1805,2024,1805,1805,1517,1517
DW2024,2273,2273,2273,1805,1805,2024,2273,2273,
DW2024,1805,2024,1805,1805,1517,1517,2024,1805,2024,1805,1805,1353,1353
DW1353,2273,2273,2273,1353,1353,2024,2024
N1DB00001H
KeyTable:
;键码定义
db16h,15h,14h,0ffh
db13h,12h,11h,10h
db0dh,0ch,0bh,0ah
db0eh,03h,06h,09h
db0fh,02h,05h,08h
db00h,01h,04h,07h
ToneTable:
;单个音符对应频率
dw2273,2024,1805,1704
dw1517,1353,1205,1136
dataends
codesegment
assumecs:
code,ds:
data
OutToneprocnear
pushax
moval,76h;8253控制字计数器1,16位二进制,方式3。
movdx,CONTROL
outdx,al
popax
movdx,COUNT1;送计数器1端口地址
outdx,al
moval,ah
outdx,al;频率值在al
ret
OutToneendp
delayprocnear;延时子程序
pushcx
movcx,60000
loop$
popcx
ret
delayendp
startPROCNEAR
moval,mode
movdx,CAddr
outdx,al;8255输出控制字
movdx,PortB
inal,dx;读入PortB
cmpal,0
jzMUSIC;连续播放一段音乐
jnzmusic2;由键盘输入
MUSIC:
movax,data
movds,ax
moval,N1
movah,0
decax
shlax,1
movsi,ax
movbx,offsetToneTable1
movax,[bx+si];查找音频值
callOutTone;
calldelay;延时
movax,2;关闭发音
callOutTone
incN1
callMUSIC
jmp$
TestKeyprocnear;判断是否有键入
movdx,OUTBIT;列输出地址
moval,0
outdx,al;输出线置为0
movdx,IN_KEY;行地址
inal,dx;读入键状态,某一行有键入AL为低
notal
andal,0fh;高四位不用,判断某一行是与否有键入,有键入对应位为高
ret
TestKeyendp
GetKeyprocnear
movch,00100000b
movcl,6
KLoop:
movdx,OUTBIT;08002h,列
moval,ch;找出键所在列
notal
outdx,al
shrch,1
movdx,IN_KEY;08001h,行
inal,dx
notal
andal,0fh;取低四位
jneGoon_;al不等于0转,该列有键入
deccl
jnzKLoop;CL不等于0转
movcl,0ffh;没有键按下,返回0ffh
jmpExit1
Goon_:
deccl
shlcl,2;键值=列X4+行,已经完成CL*4
movch,4;循环次数
LoopC:
testal,1;AL与1相与
jnzExit1;al=1转
shral,1
inccl;完成列*4+行
decch
jnzLoopC;不等于0转
Exit1:
movdx,OUTBIT;08002h
moval,0
outdx,al
movch,0
movbx,offsetKeyTable
addbx,cx
moval,[bx];取出键码在al
ret
GetKeyendp
music2:
movax,data
movds,ax
MLoop:
callTestKey;有键入,AL的值反应了键入状态(某一行的)
jzMLoop;无键入,继续显示
callGetKey;读入键码
movah,0
decax;AL放的是键码值
shlax,1;(AL-1)*2
movsi,ax
movbx,offsetToneTable
movax,[bx+si];查找音频值
callOutTone
calldelay;延时
movax,2;关闭发音
callOutTone
jmpMLoop
startendp
codeends
endstart
2.图形显示设计源程序及注释
DATASEGMENT;图形方式显示
CARDB195;字符总数
DB06H,253,0,0;253为属性(文本模式)或颜色(图形模式),11111101B,D0到D3,前景颜色1101显示浅品红
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,0,12
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,-1,-1
DB06H,253,0,12
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0;N字
DB06H,253,0,5
DB06H,253,1,0
DB06H,253,-2,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,12,0
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1;C字
DB06H,253,0,15
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,6,0
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,6,0
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1;E
DB06H,253,0,5
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1
DB06H,253,0,-1;P
DB06H,253,0,15
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,7,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,1,0
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,0,1
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB06H,253,-1,0
DB0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 报告 jhn1