西南交大微机实验代码Word格式文档下载.docx

上传人:b****5 文档编号:19792985 上传时间:2023-01-10 格式:DOCX 页数:34 大小:23.37KB
下载 相关 举报
西南交大微机实验代码Word格式文档下载.docx_第1页
第1页 / 共34页
西南交大微机实验代码Word格式文档下载.docx_第2页
第2页 / 共34页
西南交大微机实验代码Word格式文档下载.docx_第3页
第3页 / 共34页
西南交大微机实验代码Word格式文档下载.docx_第4页
第4页 / 共34页
西南交大微机实验代码Word格式文档下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

西南交大微机实验代码Word格式文档下载.docx

《西南交大微机实验代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《西南交大微机实验代码Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。

西南交大微机实验代码Word格式文档下载.docx

8255开关实验,8255CS接288H,K0-K7接PC0-PC7,L0-L7接PA0-PA7

io8255aequ288h

io8255cequ28ah

io8255zequ28bh

movdx,io8255z

moval,8bh

inout:

movdx,io8255c

inal,dx

movdx,io8255a

movdl,0ffh

movah,06h

jzinout

8255七段数码管静态显示,8255CS接288-28FH,PA0-PA6接数码管的段驱动输入端a-g,位驱动S0接GND

io8255aequ288h

io8255zequ28bh

datasegment

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

mesg1db0dh,0ah,'

Inputanum(0-9),otherkeyisexit:

'

0dh,0ah,'

$'

dataends

assumecs:

code,ds:

data

movax,data

movds,ax

movax,80h

outax,al

sss:

movdx,offsetmesg1

movah,09h

movah,01

cmpal,'

0'

jlexit

jgexit

subal,30h

movbx,offsetled

xlat

jmpsss

8255行扫描键盘接口,8255CS接288H,PC0-PC3接键盘行ROW0-ROW3,PA0-PA5接键盘列SER0-SER5

keydb37h,38h,39h,41h,54h,52h

db34h,35h,36h,42h,53h,4dh

db31h,32h,33h,43h,48h,4ch

db30h,46h,45h,44h,58h,4eh

lp0:

movdx,io8255z;

端口指向控制寄存器

moval,90h;

1001000方式0,C输出,A输入

movdi,0;

movsi,0;

lp1:

moval,0

movdx,io8255c;

C输出全0行值

movdx,io8255a;

A读入列值

andal,00111111b

cmpal,00111111b;

是否有键按下

jzlp1;

同je,=转移,ZF=1

;

有键按下,则A0到A3逐位变换仅有一位为0的行值后读取列值,不全为1的确定键值

movah,0feh

movcx,4

BCA:

moval,ah

andal,0fh

cmpal,0fh

jnzrealy;

,即有键按下,确定键值

rolah,1;

左移,ror右移

loopBCA

jmplp1

movbl,al

realy:

pushax

nop

!

=转移,同jne

popax

movcx,4;

辅助设备输出

moval,bl

l4:

movcx,6

lp4:

shral,1;

右移

jnclp2;

前次操作无进位转移,cf=0

incsi;

+1

looplp4

lp2:

movcx,4;

控制台输入/输出

lp20:

shral,1

jnclp3

incdi

looplp20

lp3:

movbx,di

moval,6

mulbl;

无符号数乘法->

ax

addax,si

disp:

movbx,offsetkey

movdh,0

movdl,al

jmplp0

delayprocfare

pushcx

movcx,20h

L1:

loopL1

popcx

8255交通灯控制,8255CS接288-28FH,PC0-PC7接L0-L7

io8255cequ28Ah

io8255zequ28Bh

stack1segmentparastack

stack1ends

data,ss:

stack1

moval,90h

lop:

moval,00100001b;

南北绿,东西红

movcx,20000

de1:

movdi,9000

de0:

decdi

jnzde0

loopde1;

movcx,2000长延时

movbx,6

e1:

moval,10000001b;

黄,。

movcx,2000

de3:

de2:

jnzde2

loopde3

moval,01h;

灭,。

loopde1

cmpbx,3

jnze1

moval,01000100b;

红,。

绿

de5:

de4:

jnzde4

loopde5

e2:

moval,01000010b;

de7:

de6:

jnzde6

loopde7

moval,01000000b;

de9:

de8:

jnzde8

loopde9

cmpbx,0

jnze2

jmplop

循环显示00-99,8255CS接288-28FH,PA0-PA6接a-g,PC0-PC1接驱动S0-S1,数码管驱动端dp接GND

io8255bequ289h

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;

段码

buffer1db0,0;

显示的数

bzdw01,00;

位码?

moval,80h

movdi,offsetbuffer1

loop1:

movcx,050h;

循环次数

loop2:

movbh,02;

显示位数

movbyteptrbz,bh

pushdi

decdi;

-1

adddi,bz

movbl,[di];

bl要显示的数

popdi

moval,3;

清数码管

movbh,0

movsi,offsetled;

addsi,bx

moval,byteptr[si]

moval,byteptrbz

pushcx

movcx,3000

delay:

loopdelay

movbh,byteptrbz

shrbh,1;

jnzlll

looploop2

movax,wordptr[di]

cmpah,15

jnzset

cmpal,15

movax,0000

mov[di],al

mov[di+1],ah

jmploop1

set:

jneexit;

有键按下转exit

incal

aaa

mov[di],al;

个位

mov[di+1],ah;

十位

moval,3

8255综合实验,8255CS接288H,PB0-PB7接a-g,PC0-PC3接键盘行POW0-POW3,PA0-PA3接键盘列SER0-SER3

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h

用于显示数码管的位置

andal,0fh;

保留低四位有效值

=,即有键按下,确定键值

looplp2

pushax

movdx,io8255a

jnclp4

incsi

looplp3

lp5:

jnclp6

looplp5

lp6:

mulbl

cmpal,39h

jlll

cmpal,40h

jglll

movdx,io8255b

subal,41h

movbx,offset[led+10]

movcx,400h

l2:

loopl2

delayend_

8253脉冲计数,8253CS接280-287H,CLK0接PULSE1+,GATE0接+5V,OUT0接逻辑笔,8255CS接288-28FH,PC0-PC5接L0-L5

timer_ct1equ283h

timer0equ280h

io8255cequ28ah

movdx,timer_ct1

moval,00010000b

movdx,timer0

moval,8

display:

movdx,timer_ct1

moval,00000000b

movbl,al

subal,bl

jzdisplay

endstart

8253可编程时钟发生器,8253CS接280-287H,CLK0接1MHZ,GATE0接+5V,OUT0接CLK1,GATE1接+5V,OUT1接L0

timer0equ280h

timer1equ281h

mode03equ36h

mode12equ76h

moval,mode03

movax,1000;

计数初值

moval,mode12

movdx,timer1

movax,200

8253继电器,8255CS接288-28FH,PA0接8253的OUT1,,PC0接继电器模块IK,8253CS接280-287H,CLK0接1MH,GATE0接+5V,OUT0接CLK1,GATE1接+5V

timerct1equ283h

ll1:

moval,0;

PC0复位,继电器断开

moval,1;

PC0复位,继电器闭合

jmpll1

pushdx

movdx,timerct1

moval,36h

movax,10000

moval,70h

movax,300

ll2:

movah,06

jneexit

andal,01

jzll2

popdx

8253电子琴,8255CS接288-28FH,PA0接逻辑门AND_A,PA1接8253的GATE0,8253CS接280-287H,CLK0接1MHZ,OUT0接逻辑门AND_B,AND_Y接NOT,NOT_Y接音响合成模块的INPUT引脚。

tabledw524,588,660,698,784,880,988,1048;

高音

tabledw262,294,330,347,392,440,494,524;

低音

msgdb'

Press1,2,3,4,5,6,7,8,ESC:

movdx,offsetmsg

movah,9

int21h;

显示提示信息

sing:

movah,7

cmpal,1bh

jefinish

1'

jlsing

8'

jgsing

subal,31h

shlal,1;

左移

movax,4240h

movdx,0fh

divwordptr[table+bx]

movbx,ax

moval,00110110b

movax,bx

moval,10000000b

moval,03h

moval,0h

jmpsing

finish:

movax,4ch

pushax

movax,15

x1:

movcx,0ffffh

x2:

deccx

jnzx2

decax

jnzx1

d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1