当前位置:文档之家› 单片机应用系统实验

单片机应用系统实验

ﻩDECR0
ﻩDJNZ R7,LP1
POPACC
ﻩMOVR0, A
ﻩﻩMOVR7,#16ﻩ
LP2:ﻩPUSH ACC
ﻩﻩCLRC
ﻩﻩMOVA, R4ﻩ;R4中为二进制数的低位
ﻩRLCA
ﻩﻩMOVR4, A
ﻩMOVA, R3;R3中为二进制数的高位
ﻩRLCA
MOVR3, A
ﻩMOVB,#03H
LP3:ﻩMOVA, @R0
ﻩORG0000H
ﻩLJMPMAIN
ﻩORG0100H
MAIN:MOVR0, #20Hﻩ;BCD存放高位地址
ﻩﻩMOVR7, #03H;BCD码0--255,最多3位
ﻩCLR A
ﻩMOVR4, A
LP1:ﻩMOVA, R4
ﻩﻩMOV B,#0AH
ﻩMUL ABﻩ;乘10
ADD A,@R0ﻩﻩﻩ;加下一位的值
单片机应用系统实验
————————————————————————————————作者:
————————————————————————————————日期:

实验一系统认识及基本程序设计实验
一、实验目的
1.学习Keil集成开发环境的操作;
2.熟悉TD-51系统板的结构及使用,熟悉51指令系统;
3.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解;
ﻩﻩANL A,#0F0H;取待转换数的高4位
SWAPAﻩﻩﻩ;高4位与低4位交换
ﻩﻩMOVCA, @A+DPTRﻩﻩ;查表
ﻩMOV R6,Aﻩﻩﻩ;高4位转换结果送R2
ﻩSJMP MAINﻩﻩ;设置断点观察结果
ASCTAB:ﻩDB30H,31H,32H, 33H,34H
ﻩDB 35H,36H, 37H,38H,39H
;文件名称:Asm4-2.asm
; 功能描述:查表程序,用程序实现Y=X*X, X为0到9的十进制数,
;用BCD码(00H到09H)表示,将X的平方,即Y也以BCD码
;的形式保存到R1中.
;==============================================================
ADDC A,@R0ﻩ;执行乘2操作
DAAﻩﻩ;十进制调整
ﻩMOV @R0,Aﻩﻩ;结果保存
DEC R0
DJNZB, LP3
ﻩPOP ACC
ﻩﻩMOVR0,A
ﻩDJNZR7, LP2
ﻩﻩLJMP MAINﻩ;设置断点观察结果,可进行下一次转换
END
3.通过查表的方法将16进制数转换为ASCII码;
参考程序:
ﻩORG 0000H
ﻩLJMPMAIN
ﻩORG 0100H
MAIN:ﻩMOVDPTR, #ASCTABﻩ;表格首地址送DPTR
ﻩMOVA,R7ﻩ;R7中为待转换的数
ﻩANL A,#0FHﻩﻩ;取低4位
ﻩMOVC A, @A+DPTRﻩ;查表
ﻩMOV R5,A;低4位转换结果送R1
ﻩMOV A, R7
;=============================================================
;文件名称:Asm4-1.asm
;功能描述:查表程序设计, 将十六进制数0~F通过查表的方法
;转换为ASCII码
;=============================================================
ﻩEND
参考程序:
;==============================================================
;文件名称:Asm2-1.asm
;功能描述:BCD整数转换为二进制整数(8位,范围从00H--FFH)
;==============================================================
DB41H, 42H,43H,44H, 45H, 46H
ﻩﻩEND
4.通过查表的方法实现y=x2,其中x为0~9的十进制数,以BCD码表示,结果仍以BCD码形式输出。
参考程序:
;==============================================================
; 0--FFFFH(R3R4)==>0--65535
ﻩORG0000H
ﻩLJMPMAIN
ﻩﻩORG 0100H
MAIN:ﻩMOVR0, #22Hﻩ;转换结果低位地址
ﻩMOVA, R0
ﻩPUSHACCﻩ;ACC表示累加器A的直接地址
ﻩMOV R7, #03H
ﻩCLRA
LP1:MOV@R0,A;结果存储地址清零
参考程序:
;=============================================================
;文件名称:Asm2-2.asm
;功能描述:二进制整数(16位)转换为十进制整数(组合BCD)
;=============================================================
INCR0ﻩﻩﻩ;指向下一单元
ﻩMOVR4,Aﻩﻩ;结果存入R4
ﻩﻩDJNZR7,LP1ﻩ;转换未结束则继续
ﻩﻩSJMPMAINﻩﻩﻩ;设置断点,观察实验结果R4中的内容
ﻩEND
2.将16位二进制整数存入R3R4寄存器中,转换为十进制整数,以组合BCD形式存储在RAM的20H、21H、22H单元中。
ﻩﻩORG 0000H
ﻩﻩLJMPMAIN
ﻩﻩORG0100H
MAIN:MOVDPTR,#SQRﻩ;取表格首地址
ﻩMOV A,R7ﻩ;要计算的值
ﻩMOVCA,@A+DPTRﻩﻩ;查表
MOVR6,Aﻩﻩ;结果保存
ﻩSJMPMAIN
SQR:ﻩDB 49H,64H,81H
4.学习查表程序的设计方法,进一步熟悉51的指令系统。
二、实验设备
PC机一台,TD-NMC+教学实验系统。
三、实验步骤
⑴编写实验程序,经编译、链接无误后,启动调试功能;
⑵观察实验现象,并分析原因;
⑶按复位键退出调试状态。
四、实验内容
1.将BCD码整数0~255存入片内RAM 的20H、21H、22H中,然后转换为二进制整数00H~FFH,保存到寄存器R4中。修改20H、21H、22H单元的内容,如:00H,05H,08H;观察实验结果。
相关主题