1微机原理实验资料文档格式.docx

上传人:b****6 文档编号:16505435 上传时间:2022-11-24 格式:DOCX 页数:18 大小:94.55KB
下载 相关 举报
1微机原理实验资料文档格式.docx_第1页
第1页 / 共18页
1微机原理实验资料文档格式.docx_第2页
第2页 / 共18页
1微机原理实验资料文档格式.docx_第3页
第3页 / 共18页
1微机原理实验资料文档格式.docx_第4页
第4页 / 共18页
1微机原理实验资料文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

1微机原理实验资料文档格式.docx

《1微机原理实验资料文档格式.docx》由会员分享,可在线阅读,更多相关《1微机原理实验资料文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

1微机原理实验资料文档格式.docx

ADDAX,[SI+4];

连加加数2

MOV[SI+100H],AX;

存结果低位

存结果高位

JMP$;

结束

CODEENDS

ENDSTART

实验二BCD码转换为二进制码

一、实验目的

1、掌握BCD码到二进制码的转换方法。

2、用于BCD码输入信号处理。

对于内存中给定的几个十进制BCD码数转换为二进制数。

三、实验程序框图

  

(1)在内存单元4000H~4006H中依次写入四个十进制数(12、34、56、78)的BCD码,即输入01、02、03、04、05、06、07,按MON键,返回P状态。

  

(2)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S3.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

  (3)复位RST键,查看结果在4100~4107中,其内容应为:

0C,00,22,00,38,00,4E,00。

脱机模式:

⑴在P.态下,按SCAL键,然后在内存单元4000H~4006H中依次写入四个十进制数(12、34、56、78)的BCD码,即输入01、02、03、04、05、06、07,按MON键,返回P状态。

⑵在P.态下,输入2D40,按EXEC键。

⑶复位RST键,查看结果在4100~4107中,其内容应为:

五、实验程序清单

CODESEGMENT;

S3.ASM,BCD码转换为2进制码

ASSUMECS:

CODE

ORG2D40H

MOVCX,0004H;

输入数据长度。

[4000]:

01,02..

MOVDI,4000H;

结果存放在[4100]:

0C,00,..

CON1:

MOVAL,[DI]

ADDAL,AL;

*2

MOVBL,AL

ADDAL,BL;

*10

INCDI

MOVAH,00

ADDAL,[DI];

BCD码个位,十位相加

MOV[DI+0FFH],AX;

存结果

INCDI;

结果地址加1

LOOPCON1;

CX不为零继续

JMP$

实验三内存清零

1、掌握内存读写方法。

2、了解内存的块操作方法。

对指定内存起址和长度的块,要求将其内容清零,设起址为4000H,长度为1000H。

 

(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S5.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

   ⑵按复位键RST,查看内存4000H~4FFFH单元内容应为00 

1、在P.态下,按SCAL键,输入2DC0,按EXEC键。

2、按复位键RST,查看内存4000H~4FFFH单元内容应为00

CODESEGMENT;

S5.ASM,CLR

ORG2DC0H;

thisisaprogramofclear"

0"

MOVAL,00H;

CLEARRAM:

4000--4FFFH

MOVBX,4000H;

内存首址

MOV[BX],AL;

清零

INCBX;

内存加一

CMPBX,5000H;

比较末址

JNECON1;

不等继续

ENDSTART

-------------硬件实验------------

实验四 8255A并行口实验--模拟交通灯

掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。

三、实验接线图

图6-4

四、编程指南

⑴通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。

⑵要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。

⑶程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。

⑷各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

五、实验程序框图

六、实验步骤

⒈ 在系统显示监控提示符“P.”时,按SCAL键。

⒉ 按图6-4连好实验线路

8255A:

PC0->

L3,PC1->

L6,PC2->

L9,PC3->

L12,PC4->

L2,PC5->

L5,PC6->

L8,PC7->

L11;

 PB4->

L1,PB5->

L4,PB6->

L7,PB7->

L10

⒊在“P.”态时,输入11E0后,按EXEC键;

系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。

七、实验程序清单

CODESEGMENT;

H8255-2.ASM

IOCONPTEQU0FF2BH;

8255控制口

IOAPTEQU0FF28H;

PA口

IOBPTEQU0FF29H;

PB口

IOCPTEQU0FF2AH;

PC口

ORG11e0H

MOVAL,82H;

PB输入,PA,PC输出

MOVDX,IOCONPT

OUTDX,AL;

写命令字

MOVDX,IOBPT;

读PB口

INAL,DX

MOVBYTEPTRDS:

[0601H],AL;

保存PB口数据

MOVDX,IOCONPT;

MOVAL,80H

写命令字,PA,PB,PC输出

MOVAL,DS:

[0601H]

ORAL,0F0H

OUTDX,AL

MOVDX,IOCPT

MOVAL,0F0H

四路口红灯全亮

CALLDELAY1;

延时

IOLED0:

MOVAL,10100101B

南北绿灯亮,东西红灯亮

南北绿灯灭

MOVCX,8H

IOLED1:

MOVDX,IOBPT

ANDAL,10101111B

南北黄灯亮

CALLDELAY2;

ORAL,01010000B

南北黄灯灭

LOOPIOLED1;

南北黄灯闪烁8次

MOVAL,0F0H

MOVAL,01011010B

东西绿灯亮

CALLDELAY1

东西绿灯灭

IOLED2:

ANDAL,01011111B

东西黄灯亮

ORAL,10100000B

东西黄灯灭

LOOPIOLED2;

东西黄灯闪烁8次

CALLDELAY2

JMPIOLED0;

循环继续

DELAY1:

PUSHAX

PUSHCX

MOVCX,0030H

DELY2:

CALLDELAY2

LOOPDELY2

POPCX

POPAX

RET

DELAY2:

PUSHCX

MOVCX,8000H

DELA1:

LOOPDELA1

实验五 电子琴实验

一、实验目的

l、进一步掌握定时器编程和应用。

2、了解微机利用定时器产生音乐的基本方法。

利用实验仪键盘,使数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调,PB0作为定时器门控信号,OUT1发出音频信号,驱动喇叭。

图6-11

1、根据音阶频率表,利用定时器可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。

2、对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:

⑴8253的CLK1接分频输出端T2。

⑵GATE1接PB0。

⑶OUT1接VIN。

⑷8MHZ→T。

⑸VOUT->

SP+、SP-GND。

⑹在P.态,按SCAL键,输入18F0,按EXEC键,显P.,按1、2……7键,依次发出1、2……7音调声。

DZQ.ASM

CODE,ds:

code

CONTROLequ43h

COUNT0equ40h

COUNT1equ41h

COUNT2equ42h

IOCONPTEQU0FF2BH;

扩展8255命令口

IOBPTEQU0FF29H;

扩展8255PB口

IOAPTEQU0FF28H;

扩展8255PA口

PAEQU0FF20H;

字位口

PBEQU0FF21H;

字形口

PCEQU0FF22H;

键入口

ORG18F0H

JMPSTART0

BUFDB?

?

;

显示缓冲区

KZDB?

;

存放键值

ltimedb?

定时单元

lkeydb?

上次键值

ZPDW?

显示指针

data1:

;

字形代码表

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1H

data3:

dw2273,2024,1805,1704;

音频表

dw1517,1353,1205,1136

START0:

movax,cs;

取代码段

movds,ax;

写数据段

CALLBUF1;

写”P”

MOVAL,88H;

扩展8255命令字

MOVDX,IOCONPT

OUTDX,AL

movdx,IOBPT;

PB口置零

moval,00

outdx,al

movzp,offsetbuf;

设定显示指针初值

redikey:

calldispkey;

调用显示键扫

cmpKZ,09h;

键值和9比较

JNCredikey;

大于9继续读键

cmpkz,01h;

键值和1比较

jcredikey;

小于1继续读键

movbx,zp;

显示指针送BX

moval,kz

mov[bx],al;

键值送显示缓存

cmpbx,offsetbuf+5;

比较指针

jzzp1;

等于5重置初值

incbx;

指针加一

movzp,bx;

存指针

jmpouttone;

转音频处理

zp1:

movzp,offsetbuf

outtone:

movdx,IOBPT;

PB置1(gate置1)

moval,0ffh

moval,kz;

取键值

movah,00h

decax

shlax,1

movbx,offsetdata3;

音频首址

addbx,ax

movax,[bx];

查表得音频数据

callt8253;

调用8253置T1初值

movcx,20h;

延时(调用显示次数)

con1:

pushcx

calldisp;

显示子程序

popcx

loopcon1

关GATE1

jmpredikey;

继续读键

t8253:

pushax;

8253子程序

moval,76h;

计数器1,16位二进制,方式3。

movdx,CONTROL

outdx,al

popax

movdx,COUNT1

moval,ah

ret

;

-------------------------

dispkey:

calldisp;

显示子程序,注释见前

callkey;

键扫子程序,注释见前

movah,al;

newkey

movbl,ltime;

ltime

movbh,lkey;

lkey

moval,01h

movdx,PA;

0ff21h

outdx,al

cmpah,bh

movbh,ah;

bh=newkey

movah,bl;

al=time

jzdisk4

movbl,88h

movah,88h

disk4:

decah

cmpah,82h

jzdisk6

cmpah,0eh

cmpah,00h

jzdisk5

movah,20h

decbl

jmpdisk7

disk5:

movah,0fh

disk6:

movbl,ah

movah,bh

disk7:

movltime,bl

movlkey,bh

movKZ,bh

moval,ah

ret

key:

movdx,PB

movbl,00h

movah,0feh

movcx,08h

key1:

moval,ah

movdx,PA

rolal,01h

movah,al

nop

movdx,PC

inal,dx

notal

andal,0fh

jnzkey2

incbl

loopkey1

jmpnkey

key2:

testal,01h

jekey3

moval,00h

jmpkey6

key3:

testal,02h

jekey4

moval,08h

key4:

testal,04h

jekey5

moval,10h

key5:

testal,08h

jenkey

moval,18h

key6:

addal,bl

cmpal,10h

jncfkey

movbl,al

movbh,0h

movsi,offsetdata2

moval,[bx+si]

nkey:

moval,20h

fkey:

data2:

db07h,04h,08h,05h,09h,06h,0ah,0bh

DB01h,00h,02h,0fh,03h,0eh,0ch,0dh

DISP:

MOVAL,0FFH;

显示子程序,5ms

MOVDX,PA

MOVCL,0DFH;

20H

MOVBX,OFFSETBUF

DIS1:

MOVAL,[BX]

MOVAH,00H

PUSHBX

MOVBX,OFFSETDATA1

ADDBX,AX

MOVAL,[BX]

POPBX

MOVDX,PB

MOVAL,CL

DIS2:

MOVCX,0a0H

LOOP$

CMPCL,0FEH

JZLX1

INCBX

RORCL,1

JMPDIS1

LX1:

MOVAL,0FFH

MOVDX,PB

RET

BUF1:

MOVBUF,11H;

写’P’

MOVBUF+1,10H

MOVBUF+2,10H

MOVBUF+3,10H

MOVBUF+4,10H

MOVBUF+5,10H

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

当前位置:首页 > 表格模板 > 合同协议

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

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