《微机原理与接口技术实验报告》模板Word格式.docx
- 文档编号:22014934
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:13
- 大小:288.68KB
《微机原理与接口技术实验报告》模板Word格式.docx
《《微机原理与接口技术实验报告》模板Word格式.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术实验报告》模板Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
四、实验原理介绍
本实验用到两部分电路:
开关量输入输出电路,简单I/O口扩展电路。
五、实验步骤
1、实验接线:
(表示相互连接)
CS0CS244;
CS1CS273;
平推开关的输出K1~K8IN0~IN7(对应连接);
O0~O7LD1~LD8。
2、编辑程序,单步运行,调试程序。
3、调试通过后,全速运行程序,观看实验结果。
4、编写实验报告。
六、实验提示
74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
七、实验结果
程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如,K2置于L位置,则对应的LED2应该点亮。
八、程序框图(实验程序名:
T244273.ASM)
九、程序源代码清单
assumecs:
code
codesegmentpublic
org100h
start:
movdx,04a0h;
74LS244地址
inal,dx;
读输入开关量
movdx,04b0h;
74LS273地址
outdx,al;
输出至LED
jmpstart
codeends
endstart
十、实验一中遇到的问题:
当进行“run”操作时,由于灯泡的熄灭变化很快,看不清其变化过程,因此,实行程序的单步操作,能看清每一步程序对灯泡熄灭的控制,相当于开关“k”的作用。
该实验在4号机上操作时,由于仪器问题,运行程序并不能看到理想的实验现象,经指导老师的检查发现,是灯泡接线有问题。
另外,也可能是芯片被损坏了。
因为是第一次做的这个实验,所以对于仪器不是很熟悉,4号机经常不稳定,以至于经常会断。
十一、实验连接图
实验12LCD显示实验
掌握点阵式LCD的工作原理,使用方法以及动态显示的编程方法。
CPU挂箱,8086CPU模块。
编程在液晶屏上显示汉字“儿童节快乐,思萌生日快乐”。
LCD显示原理见硬件介绍部分,用8255的A口作为数据口,C口的PC0,PC7作为握手信号。
1.实验接线:
CS0←→CS8255,PA0~PA7←→DB0~DB7,PC0←→REQ,PC7←→BUSY.
2.编排调试程序
3.全速运行程序
1、8255的端口地址偶地址有效
2、8255的PC口可通过指令进行位操作。
液晶屏上显示汉字“儿童节快乐,思萌生日快乐”。
八、实验程序框图(实验程序名:
LCD.asm)
;
===============================================
箱86液晶显示
CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0
codesegmentpublic
org100h
movdx,04a6h
movax,88h
outdx,ax
movax,70h
outdx,ax
moval,0f4h
callcomd
calldelay
start1:
movsi,offset[table]
movcx,60
wr1:
movdx,04a4h
inax,dx
andax,80h
jnzwr1
moval,[si]
callcomd
incsi
loopwr1
ok:
jmpstart1
delay:
movcx,1000h
dlyb:
loopdlyb
ret
comd:
movdx,04a0h
outdx,al
movdx,04a6h
movax,71h
outdx,ax
mon:
jzmon
movdx,04a6h
movax,70h
outdx,ax
table:
DB0F0H,01D,00D,22D,89D,0F0H,02D,00D,45D,15D
DB0F0H,03D,00D,29D,58D,0F0H,04D,00D,31D,76D
DB0F0H,05D,00D,32D,54D,0F0H,01D,01D,43D,28D
DB0F0H,02D,01D,35D,40D,0F0H,03D,01D,41D,90D
DB0F0H,04D,01D,40D,53D,0F0H,05D,01D,31D,76D
DB0F0H,06D,01D,32D,54D
codeends
endstart
十、实验中出现的问题
因为那天我们做实验的时候,正值儿童节的到临,又是我们舍友的生日,所以我们打算写的是“六一儿童节快乐思萌生日快乐”可是结果运行出来的时候,结果却是“六一儿童节快乐思萌生日快”缺少一个乐字。
本来我们觉得是屏幕不够大,容纳不了那么多字。
老师觉得我们是程序编写有问题。
我们还有个想法不知道可不可以表示标点符号。
实验10、8259中断控制器实验
1、掌握8259A的工作原理
2、掌握编写中断服务程序方法
3、掌握初始化中断向量的方法
CPU挂箱,8086CPU模块
用电平开关的输出作为中断源,每个开关对应于一个中断源,在中断服务程序中,通过74LS273输出一个数据,以点亮与中断源相对应位置的LED.
本实验用到三部分电路:
电平开关电路、简单I/O口扩展电路和8259中断控制器电路。
实验接线
1、CS0←→CS8259,CS1←→CS273,00~07←→LED1~LED8,K1~K8←→IR0~IR7,INT←→INT(8086CPU板),INTA←→INTA(8086CPU板)
2、编译调试程序
3、全速运行程序,拨动某一电平开关,观察LED的亮灭情况。
1、8259的使用说明请详细阅读教科书。
2、8086的中断系统是向量中断方式。
内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。
不同中断类型的中断向量在表内有对应的偏移地址。
其计算方法是:
中断类型*4。
3、中断类型由8259通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序。
请仔细研读8259的工作时序。
4、中断类型的高5位由8259寄存器ICW2决定,低3位由中断源IRx的编码自动填入。
IR0~IR7的编码分别为000,001,010,011,100,101,110,111。
全速运行程序,由上往下拨动开关时,相应位置的LED点亮,其余LED全灭。
t8259.asm)
中断服务流程
九、实验源代码清单:
8259中断控制器实验
codesegmentpublic
org100h
nop
movcx,0
cli
movdx,04b0h
movax,13h
outdx,ax;
ICW1,ICW4NEEDED
movdx,04b2h
movax,80h
outdx,ax;
ICW2中断类型80h
movax,01h
outdx,ax;
ICW4
movax,00h
outdx,ax;
OCW1,开放所有中断
nop;
以上为8259初始化
movax,0
movds,ax
movdi,200h;
初始化中断向量表
movax,offsetint0
movds:
[di],ax
adddi,2
[di],100h
adddi,2
movax,offsetint1
movax,offsetint2
movax,offsetint3
movax,offsetint4
movds:
movax,offsetint5
movax,offsetint6
movax,offsetint7
adddi,2;
上述程序为芯片8259的初始化程序
[di],100h;
建议不熟练者不要修改。
movbx,0001h
main:
movax,0
sti;
开中断。
waiting:
cmpax,55h
nop
jnewaiting;
没发生中断,则等待
xorcx,0ffh
movax,cx
movdx,04c0h
outdx,ax;
对应LED灯亮
jmpstart1
int0:
cli;
关中断。
以下类推。
nop
nop;
此两行为IR0的中断服务程序
用户可修改。
movax,55h
iret;
中断返回,以下类推。
int1:
cli
nop;
此两行为IR1的中断服务程序,
nop
nop
movax,55h;
iret
int2:
此两行为IR2的中断服务程序,
movax,55h;
int3:
此两行为IR3的中断服务程序,
int4:
此两行为IR4的中断服务程序,
int5:
此两行为IR5的中断服务程序,
int6:
nop;
此两行为IR6的中断服务程序,
int7:
此两行为IR7的中断服务程序,
codeends
endstart
我们做这个实验的时候,全速运行的时候,就没有出现正确的结果,只在单步运行的时候有一点反应。
我们认为的是仪器存在一定的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术实验报告 微机 原理 接口 技术 实验 报告 模板