file-type

"Keil集成开发环境实验:单片机应用系统基本程序设计与转换方法"

DOC文件

下载需积分: 5 | 328KB | 更新于2024-01-02 | 20 浏览量 | 0 下载量 举报 收藏
download 立即下载
本次实验的目的是学习Keil集成开发环境的操作,并且熟悉TD-51系统板的结构与使用,以及掌握不同进制数与编码相互转换的程序设计方法。此外,还需要学习查表程序的设计方法,进一步熟悉51的指令系统。 在实验中,我们需要准备一台PC机和TD-NMC教学实验系统作为实验设备。 实验步骤如下: 1. 首先,我们需要编写实验程序,并且对其进行编译,确保没有错误。之后,我们可以启动调试功能进行实验。 2. 在实验过程中,我们需要观察实验现象,并分析其原因。通过观察不同进制数与编码之间的转换结果,可以加深对数码转换的理解。 3. 在实验完成后,可以按下复位键退出调试状态。 实验内容主要是将BCD码整数0~255存入片内RAM的20H、21H、22H中,然后转换为二进制整数00H~FFH,并将结果保存到寄存器R4中。我们还可以修改20H、21H、22H单元的内容,例如将其改为00H、05H、08H,然后观察实验结果。 下面是参考程序: ```Assembly ;============================================================== ; 文件名称: Asm2-1.asm ; 功能描述: BCD整数转换为二进制整数(8位, X围从00H--FFH) ;============================================================== ORG 0000H MOV R0, #20H MOV R1, #00H MOV R2, #255 MOV R3, #20H LOOP1: MOV A, R1 MOV R4, #00H MOV R5, #00H LOOP2: MOV B, A JB ACC.4, HEXA JB ACC.5, HEXB JB ACC.6, HEXC JB ACC.7, HEXD HEXA: ADD A, #0AH ;只要 A 中的数据为 '0'~'9'(0000 0000b~0000 1001b) , SJMP HEXE ;则增加 10(0000 1010b),不影响 C(进位标志) HEXB: ADD A, #4 ;只要 A 中的数据为 'A'~'F'(0000 1010b~0000 1111b), SJMP HEXE ;则增加 04(0000 0100b),不影响 C(进位标志) HEXC: ADD A, #6 ;只要 A 中的数据为 'a'~'f'(0110 0001b~0110 0110b), SJMP HEXE ;则增加 06(0000 0110b),不影响 C(进位标志) HEXD: ADD A, #00H ;保持如此的值不变 HEXE: ADD R4, #01H RRC A ;不停地右移数位,每右移一位,上述 RR A ;指令后面的运算结果将被送到 C(进位标志) DJNZ R5, LOOP2 MOVC @R3, A ;将 A 指定的数据,送到 R3 指定的地址,in cyce +2 INC R3 ;指向下一个单元,in cyce +1 DJNZ R0, LOOP1 ;依次循环20H、21H、22H 3 次。共 241 次操作 LOOP3: MOV A, R1 MOV R3, #0FFH AJMP LOOP4 LOOP4: MOVC A,@R3 ;将 R3 指定的数据,传送到 A,in cycle +2 MOV @R3, A ;将 A 传送到 R3 指定的单元,in cycle +2 DEC R3 ;依次将 A 指定的数据传送到 R3 指定的 RAM 单元,共 256 次操作 JBC ACC.0,LOOP3 END ``` 通过以上实验步骤和参考程序,我们可以完成本次实验,并且加深对单片机应用系统的认识与基本程序设计的理解。这些实验对于提高我们的嵌入式系统开发能力具有重要意义。

相关推荐

智慧安全方案
  • 粉丝: 3921
上传资源 快速赚钱