微机原理课设Word文件下载.docx
《微机原理课设Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理课设Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
512K;
A/D转换系统设计;
译码电路设计)
3)流水彩灯控制系统设计
(内存系统:
利用8253或8255设计彩灯控制系统;
译码电路)。
4)16*16点阵显示系统设计
16*16点阵显示数字1,2,文字:
通信系;
2.课程设计的要求
1)自由选题。
2)独立完成课程设计。
3)课程设计说明书要求打印。
4)说明书要求:
装订格式:
见说明
设计说明书内容:
总体功能说明;
控制系统结构图;
各部分原理图;
工作原理和引脚详细设计说明;
程序设计框图;
程序清单和部分程序注释。
二、对课程设计成果的要求(包括课程设计说明书(论文)、图纸、实物样品等)
1、课程设计要求符合《课程设计说明书规范》(附样本一份)。
2、图表格式要规范。
3、设计方案(研究)层次清晰,解决方法合理。
4、设计方案(研究)要有自己独特的见解。
三、主要参考文献
1、《微机原理及其应用》徐晨等编著.高等教育出版社。
2、《微机原理就与借口技术》雷丽文著.电子工业出版社。
3、《32位微机原理与接口技术》仇玉章等著.清华大学出版社。
4、EL-MUT-Ⅲ型单片机/微机原理实验开发系统使用说明书。
四、课程设计进度计划
1)知识回顾和课程设计安排,集中进行,周一。
2)查阅文献,详细设计,周二,周三、四。
3)课程设计的撰写,周五。
系(教研室)主任审查意见:
系主任(签字):
年月日
绪论
基于8088CPU微机控制系统设计
八段数码管显示,键盘扫描显示系统设计
一.八段数码管显示系统总体概述
本实验仪中8位段码输出地址为0X004H,位码输出地址为0X002H。
8位段码、6位位码是由两片74LS374输出,位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
二.键盘扫描显示系统设计总体概述
在本设计中,显示控制的位码是由74LS374输出,经MC1413反相驱动后,做LED的位选通信号。
位选通信号也作为键盘列扫描码,键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读回后,用来判断是否有键按下,以及是什么键。
如无键按下,由于上拉电阻的作用,经245读的值为高电平,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪键按下。
LED显示的段码由另一个74HC374输出。
设计内容
一实验目的
利用实验仪提供的显示电路,动态显示一行数据
1、了解数码管显示系统的原理
2、了解用总线方式控制数码管的显示
二实验原理
本实验仪提供了6位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。
显示共有6位,用动态方式显示。
8位段码、6位位码是由两片74LS374输出。
位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
此处X是由KEY/LEDCS决定的。
做键盘和LED实验时,需要将KEY/LEDCS接到相应的地址译码上,以便用相应的地址来访问。
例如,将KEY/LEDCS接到CS0上,则段码地址为08004H,位码地址为08002H。
说明:
八段数码管的字型代码表:
显示字形gfedcba段码
001111113FH
1000011006H
2101101156H
310011114FH
4110011066H
511011016DH
611111017DH
7000011107H
811111117FH
911011116FH
A111011177H
B11111007CH
C011100139H
D10111105EH
E111100179H
F111000171H
实验原理图
键盘显示系统:
实验目的及要求:
在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示试验,把键盘输入的键码在六位数码管上显示出来。
实验程序可分成三个模块:
(1)键盘输入模块:
扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
(2)显示模块:
将显示单元的内容在显示器上动态显示。
(3)主程序:
调用键输入模块和显示模块。
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段码显示器的工作原理。
实验原理
本实验仪提供了一个6X4的小键盘,向列扫描码地址(0X002H)逐列输出低电平然后从行码地址(0X001H)读回。
如果有键按下,则相应行的值应为低电平。
如果无键按下,由于上拉电阻的作用,行码为高电平。
这样就可以通过输出的列码和读取的行码来判断按下的是什么键。
在判断有键按下后,要有一定的延时,防止键盘抖动。
地址中的X是由KEY/LEDCS决定,参见地址译码。
做键盘和LED实验时,需将KEY/LEDCS接到相应的地址译码上。
以便用相应的地址来访问。
例如将KEY/LEDCS信号接到CS0上,则列扫描地址为08002H,行码地址为08001H。
列扫描码还可以分时用作LED的位选通信号。
实验原理图:
程序设计
显示程序框图
否
是
主程序框图读键盘输入子程序框图
三实验结果
程序代码:
OUTBITequ08002h;
位控制口
OUTSEGequ08004h;
段控制口
datasegment
LEDBufdb6dup(?
);
显示缓冲
Numdb1dup(?
显示的数据
DelayTdb1dup(?
)
LEDMAP:
;
八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
dataends
codesegment
assumecs:
code,ds:
data
Delayprocnear
pushax;
延时子程序
pushcx
moval,0
movcx,ax
loop$
popcx
popax
ret
Delayendp
DisplayLEDprocnear
movbx,offsetLEDBuf
movcl,6;
共6个八段管
movah,00100000b;
从左边开始显示
DLoop:
movdx,OUTBIT
outdx,al;
关所有八段管
moval,[bx]
movdx,OUTSEG
outdx,al
moval,ah
outdx,al;
显示一位八段管
pushax
movah,1
callDelay
shrah,1
incbx
deccl
jnzDLoop
DisplayLEDendp
Startprocnear
movax,data
movds,ax
movNum,0
MLoop:
incNum
movch,Num
movah,0
movcl,6
movbx,offsetLEDBuf
FillBuf:
movsi,offsetLEDMap
moval,ch
andal,0fh
addax,si
movsi,ax
moval,[si];
数据转换成显示码
mov[bx],al;
显示码存入显示缓冲
incch
jnzFillBuf
movDelayT,20
DispAgain:
callDisplayLED;
显示
decDelayT
jnzDispAgain
jmpMLoop
Startendp
codeends
endstart
IN_KEYequ08001h;
键盘读入口
Datasegment
LEDBufdb6dup(?
);
Numdb1dup(?
DelayTdb1dup(?
LEDMAPdb3fh,06h,56h,4fh,66h,6dh,7dh,07h
KeyTabledb16h,15h,14h,0ffh
Db13h,12h,11h,10h
Db0dh,0ch,0bh,0ah
Db0eh,03h,06h,09h
Db0fh,03h,05h,08h
Db00h,01h,04h,07h
Dataends
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
TestKeyprocnear
输出线置为0
movdx,IN_KEY
inal,dx;
读入键状态
notal
andal,0fh;
高四位不用
TestKeyendp
GetKeyprocnear
movch,00100000b
movcl,6
KLoop:
moval,ch;
找出键所在列
outdx,al
shrch,1
inal,dx
andal,0fh
jneGoon_;
该列有键入
jnzKLoop
movcl,0ffh;
没有键按下,返回0ffh
jmpExit1
Goon_:
shlcl,2;
键值=列X4+行
movch,4
LoopC:
testal,1
jnzExit1
shral,1
inccl
decch
jnzLoopC
Exit1:
movch,0
movbx,offsetKeyTable
addbx,cx
moval,[bx];
取出键码
movbl,al
WaitRelease:
等键释放
movah,10
callTestKey
jneWaitRelease
moval,bl
GetKeyendp
movLEDBuf,0ffh;
显示8.8.8.8.
movLEDBuf+1,0ffh
movLEDBuf+2,0ffh
movLEDBuf+3,0ffh
movLEDBuf+4,0
movLEDBuf+5,0
callTestKey;
有键入?
jeMLoop;
无键入,继续显示
callGetKey;
读入键码
显示键码
movah,0
movbx,offsetLEDMAP
addbx,ax
movLEDBuf+5,al
Startendp
codeends
四.实验总结
本次课程设计是在学习了微机原理及应用的基础之上进行的一项实际设计并是实现的设计,设计主要基于8088CPU微机控制系统设计和八段数码管显示。
8088CPU微机控制系统是对实现设计控制的核心部分,而八段数码管显示是对设计结果的显示及验证。
键盘扫描显示系统设计由8位段码、6位位码是由两片74LS374实现的,位码经倒相驱动后,选择相应显示位。
显示控制的位码是由74LS374输出,经反相驱动后,做LED的位选通信号。
位选通信号也作为键盘列扫描码,键盘扫描的行数据从74HC245读回。
按地址输出相应数据,就可以实现对显示器的控制。
通过此次设计进一步对《微机原理及应用》这门课程有了一个新的认识和学习,加深了对知识点的理解和学习,同时通过实践设计,增强了自己的动手实践以及在学习中遇到问题并解决问题的能力。