微机原理实验报告一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
一、实验目的
1. 熟悉80C51单片微机汇编语言设计及编程技巧。

2. 掌握逻辑运算程序的设计方法。

3. 掌握求最小数和最大数程序的设计方法。

4. 掌握多字节无符号十进制数加、减法程序的设计
二、实验器材
1. Micetek仿真器一台
2. 实验板一块
三、实验内容
1.逻辑运算:
根据以下逻辑运算式,编写程序计算运算结果。

Y=A⊕B•C • D+A
设:A=63H,B=82H,C=C5H,D=36H。

求Y=?
2. 求最小数和最大数:
10个无符号数连续存放在以20H为起始地址的RAM中,找出其中的最小值存入30H单元中,找出其中的最大值存入31H单元中。

3. 十进制加、减运算:
286729+652430-752196=?
在8051片内RAM的20H~22H中放入3字节被加数〔低位在先〕、23H~25H放入加数〔低位在先〕、26H~28H放入减数,结果存入2DH~2FH单元〔低位在先〕。

四、实验数据记录和分析
1.逻辑运算:
A.实验程序:
ORG 0000H
AJMP fx
ORG 0080H
fx:MOV A,#63H
MOV R0,#36H
ORL A,R0
CPL A
MOV R1,A
MOV A,#82H
MOV R0,#0C5H
ANL A,R0
CPL A
MOV R0,#63H
XRL A,R0
CPL A
ANL A,R1
End
B.程序list文件
符号值类型
AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量CY = 00D7H CONST 常量DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA = 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量
F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量FX = 0080H CODE 标号IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP = 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量OV = 00D2H CONST 常量P = 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量
SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP = 0081H CONST 常量TB8 = 009BH CONST 常量TCON = 0088H CONST 常量TF0 = 008DH CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 57
私有符号: 0
C.实验思路:
3.将A和D逻辑或,并把结果存入累加器A 5.将A和D 取非以后的结果存到R1中7.将C值给R0
2. 求最小数和最大数:A.实验程序:
ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:MOV R0,#20H MOV A,@R0
MOV R7,#09H
MOV R2,A
MOV R3,A
LOOP:INC R0
ACALL COMP
DJNZ R7,LOOP
AJMP DONE
COMP:CLR C
MOV A,@R0
SUBB A,R2
JC MIN
MOV A,@R0
MOV R1,A
MOV A,R3
SUBB A,R1
JC MAX
RET
MIN:MOV A,@R0
MOV R2,A
RET
MAX:MOV A,R1
MOV R3,A
RET
DONE:MOV 30H,R2
MOV 31H,R3
END
B.实验生成list文件:
符号值类型
AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量COMP = 008EH CODE 标号CY = 00D7H CONST 常量DONE = 00A0H CODE 标号DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA = 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量EX1 = 00AAH CONST 常量F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP = 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量
LOOP = 0087H CODE 标号MAIN = 0080H CODE 标号MAX = 009DH CODE 标号MIN = 009AH CODE 标号OV = 00D2H CONST 常量P = 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量SM0 = 009FH CONST 常量SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP = 0081H CONST 常量TB8 = 009BH CONST 常量
TCON = 0088H CONST 常量TF0 = 008DH CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 62
私有符号: 0
4将最大值和最小值放到制定的地址
5.在比较大小环节采用冒泡法。

C. 十进制加、减运算
A.实验程序:
ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:MOV 20H,#09H
MOV 21H,#60H
MOV 22H,#04H
MOV 23H,#8EH
MOV 24H,#0F4H
MOV 25H,#09H
MOV 26H,#44H
MOV 27H,#7AH
MOV 28H,#0BH
MOV A,20H
ADDC A,23H
MOV 32H,A
MOV A,21H
ADDC A,24H
MOV 31H,A
MOV A,22H
ADDC A,25H
MOV 30H,A
MOV A,32H
SUBB A,26H
MOV 2DH,A
MOV A,31H
SUBB A,27H
MOV 2EH,A
MOV A,30H
SUBB A,28H
MOV 2FH,A
END
B.实验生成list文件:
符号值类型
AC = 00D6H CONST 常量ACC = 00E0H CONST 常量B = 00F0H CONST 常量CY = 00D7H CONST 常量
DPH = 0083H CONST 常量DPL = 0082H CONST 常量EA = 00AFH CONST 常量ES = 00ACH CONST 常量ET0 = 00A9H CONST 常量ET1 = 00ABH CONST 常量EX0 = 00A8H CONST 常量EX1 = 00AAH CONST 常量F0 = 00D5H CONST 常量F1 = 00D1H CONST 常量IE = 00A8H CONST 常量IE0 = 0089H CONST 常量IE1 = 008BH CONST 常量IP = 00B8H CONST 常量IT0 = 0088H CONST 常量IT1 = 008AH CONST 常量MAIN = 0080H CODE 标号OV = 00D2H CONST 常量P = 00D0H CONST 常量P0 = 0080H CONST 常量P1 = 0090H CONST 常量P2 = 00A0H CONST 常量P3 = 00B0H CONST 常量PCON = 0087H CONST 常量PS = 00BCH CONST 常量PSW = 00D0H CONST 常量PT0 = 00B9H CONST 常量PT1 = 00BBH CONST 常量PX0 = 00B8H CONST 常量
PX1 = 00BAH CONST 常量RB8 = 009AH CONST 常量REN = 009CH CONST 常量RI = 0098H CONST 常量RS0 = 00D3H CONST 常量RS1 = 00D4H CONST 常量SBUF = 0099H CONST 常量SCON = 0098H CONST 常量SM0 = 009FH CONST 常量SM1 = 009EH CONST 常量SM2 = 009DH CONST 常量SP = 0081H CONST 常量TB8 = 009BH CONST 常量TCON = 0088H CONST 常量TF0 = 008DH CONST 常量TF1 = 008FH CONST 常量TH0 = 008CH CONST 常量TH1 = 008DH CONST 常量TI = 0099H CONST 常量TL0 = 008AH CONST 常量TL1 = 008BH CONST 常量TMOD = 0089H CONST 常量TR0 = 008CH CONST 常量TR1 = 008EH CONST 常量公有符号: 57
私有符号: 0
C.实验思路:
2将低字节相加。

3.将低字节相加。

4.将高字节相加。

5.将减数取补码。

6.核心就是减去一个数等于加上这个数的补码。

五、讨论和心得:
本次实验我熟悉了80C51单片微机汇编语言设计及编程技巧,掌握了逻辑运算程序的设计方法,同时了解了求最小数和最大数程序的设计方法和多字节无符号十进制数加、减法程序的设计。

收获很大。

相关文档
最新文档