全球旧事资料 分类
实验二七段数码管静态显示一、实验目的
七段数码管
掌握数码管显示数字的原理二、实验内容静态显示:按图22连接好电路,8255的A口PA0~PA6分别将与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。三、编程提示实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。四、实验原理图
f五、程序流程图
f六、程序原代码
dataioportio8255aio8255bledmesg1datae
dscodestartsegme
tassumecscodedsdatamovaxdata使8255的A口为输出方式movdsaxmovdxio8255bmovax80houtdxalsssmovdxoffsetmesg1movah09hi
t21hmovah01i
t21hcmpal0jlexitcmpal9是否小于0若是则退出是否大于9从键盘接收字符显示提示信息dbdbsegme
tequ0d400h0280hequioport288hequioport28bh3fh06h5bh4fh66h6dh7dh07h7fh6fh0dh0ahI
puta
um09h0dh0ah
fjg
exit
若是则退出将所得字符的ASCII码减30Hbx为数码表的起始地址求出相应的段码从8255的A口输出转SSS返回DOS
subal30hmovbxoffsetledxlatmovdxio8255aoutdxaljmpsssexitmovah4chi
t21hcodee
ds
七段数码管动态显示一、实验目的掌握数码管显示数字的原理二、实验内容动态显示:按图23连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。编程在两个数码管上显示“56”三、编程提示实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。四、实验原理图
f五、程序流程图
六、程序原代码
fdataioport
segme
tequ0d400h0280hequioport28ahequioport28bhequioport288hdbdbdwsegme
tassumecscodedsdatamovaxdata将8255设为A口输出3fh06h5bh4fh66h6dh7dh07h7fh6fh段码56存放要显示的个位和十位位码
io8255aio8255bio8255cledbuffer1bzdatae
dscodestart
movdsaxmovdxio8255bmoval80houtdxalmovdioffsetbuffer1loop2lllmovbh02movbyteptrbzbhpushdidecdiadddibzmovbldipopdimoval0movdxio8255aoutdxalmovbh0movsioffsetledaddsibxmovalbyteptrsimovdxio8255coutdxalmovalbyteptrbzmovdxio8255aoutdxalmovcx3000delayloopdelay延时movbhbyteptrbzshrbh1j
zlllmovdx0ffhmovi
tah0621h使相应的数码管亮自8255A的口输出置led数码表偏移地址为SI求出对应的led数码bl为要显示的数设di为显示缓冲区
fje
loop2
有键按下则退出关掉数码管显示返r
好听全球资料 返回顶部