华南理工大学微机系统与接口实验实验四文档格式.doc
《华南理工大学微机系统与接口实验实验四文档格式.doc》由会员分享,可在线阅读,更多相关《华南理工大学微机系统与接口实验实验四文档格式.doc(6页珍藏版)》请在冰豆网上搜索。
【实验汇编代码】
datasegment
portaequ288H;
74LS138的/Y1地址:
288h
portbequ289H
portcequ28AH
portconequ28BH
dataends
codesegment
assumeds:
data,cs:
code
delayprocnear;
延时子程序
pushbx
pushcx
movbx,2000
lll:
movcx,50;
50000
ll:
loopll
decbx
jnelll
popcx
popbx
ret
delayendp
start:
movax,data
movds,ax
movdx,portcon
moval,10000000B
outdx,al
a:
moval,1000B;
在数码管第一位显示
movdx,portc
moval,6dh
movdx,porta
calldelay;
show5
moval,00h
outdx,al;
稳定显示
moval,0001B;
在数码管第四位显示
moval,7dh
show6
movah,1
int16h;
按键检测
jea;
无按键,跳转回去
movah,4ch
int21h;
返回dos
codeends
endstart
【实验结论】
本代码能够正常同时显示数字5和6,并解决了数码管闪烁的问题。
在键盘按下键时能够退出程序,结束运行。
(2)通过并行接口8255实现十字路口交通灯的模拟控制,如图29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
十字路口交通灯的变化规律要求:
(1)南北路口的绿灯、东西路口的红灯同时亮一定时间。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3)南北路口的红灯、东西路口的绿灯同时亮一定时间。
(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5)转
(1)重复。
portaequ288H;
74LS138的/Y1地址:
portbequ289H
portcequ28AH
portconequ28BH
delay_longprocnear;
长延时子程序
pushbx
pushcx
movbx,2000
lll0:
movcx,50000;
50000
ll0:
loopll0
decbx
jnelll0
popcx
popbx
ret
delay_longendp
delay_shortprocnear;
短延时子程序
lll1:
movcx,5000;
ll1:
loopll1
jnelll1
delay_shortendp
movax,data
movds,ax
movdx,portcon
moval,10000000B;
设置为输出模式
outdx,al
movdx,portc
moval,00100100B;
保持亮灯
calldelay_long
movcx,3
b:
moval,01000100B
calldelay_short
moval,00000100B
loopb;
循环3次,三次闪烁灯
moval,10000001B;
c:
moval,10000010B
moval,10000000B
loopc;
循环三次,3次闪烁
movah,1
int16h
jea;
无按键按下,回到前面,循环执行
movah,4ch
int21h;
返回DOS
本汇编程序能够模拟交通信号灯的流程,通过修改参数能够调整闪烁次数、延时时长等属性。