实验目的
1、熟悉掌握顺序程序设计方法。
2、熟悉掌握MCS-51系统指令。
实验程序一:
在内部单元存有1字节代码,要将其拆分成两个4位数,高4位存入原单元的低4位,其低4位存入21单元的低4位,且要这两单元的高4位均为0。
分析:可用ANL指令来实现,通过ANL A, #0F0H 截取高4位,在通过 ANL A ,#0FH 取低4位。
具体程序如下:
ORG 0000H
LJMP START
ORG 1000H
START: MOV R0, #20H ; 设置地址指针
MOV A, @ R0 ; 取数
MOV B, A ; 暂存
ANL A, #0F0H ; 截取高4位
SWAP A ; 高4位为0,低4位为20H单元中的高4位
MOV @R0, A ; 送结果至20H单元
ANL B, #0FH ; 截取低4位
MOV A, B ; 高4位为0,低4位为20H中的低4位
INC R0 ; 修改地址指针
MOV @R0, A ; 送结果至21H单元
LOOP: SJMP LOOP ; 等待
END
实验程序二:
在内部RAM的40H单元中存放一个8位二进制数,要求将其转换成相应的BCD码,并由高位到低位的顺序存入内部RAM 以60H为首址的三个连续单元中。
分析:由于51系列指令系统中有除法指令,先将此数除以100,其商为百位数,再将余数除以10,其商为十位数,最后的余数为个位数。具体程序如下:
ORG 0000H
LJMP START
ORG 1000H
START:MOV R0 ,#60H ;设置存数指针R0初值
MOV A , 40H ;取被转换的二进制数
MOV B , #100 ;置除数为100
DIV AB ;除以100,求百位数
MOV @R0 , A ;将百位数送指定单元
INC R0 ;修改指针
MOV A ,#10 ;置除数为10
XCH A , B
DIV AB ;求十位数
MOV @R0 , A ;将十位数送指定单元
INC R0 ;修改指针
XCH A , B ;A中为个位数
MOV @R0 , A ;将个位数送指定单元
LOOP: SJMP LOOP
END
单片机教程,五系列(55讲)电子书全集下载论坛精选:
单片机教程,MCS51单片机从零开始 第一讲:初识单片机
http://bbs.huazhoucn.com/Topic.aspx?id=2539
单片机教程,MCS51单片机从零开始 第二讲:MCS-51单片机简述
http://bbs.huazhoucn.com/Topic.aspx?id=2540
单片机教程,MCS51单片机从零开始 第三讲:单片机相关常用名词解释
http://bbs.huazhoucn.com/Topic.aspx?id=2541
单片机教程,MCS51单片机从零开始 第四讲:计算机中数的表示及运算
http://bbs.huazhoucn.com/Topic.aspx?id=2542
单片机教程,MCS51单片机从零开始 第五讲:常用逻辑电路
http://bbs.huazhoucn.com/Topic.aspx?id=2544
单片机教程,MCS51单片机从零开始 第六讲:51单片机的结构及其组成
http://bbs.huazhoucn.com/Topic.aspx?id=2545
单片机教程,MCS51单片机从零开始 第七讲:51单片机的引脚
http://bbs.huazhoucn.com/Topic.aspx?id=2546
单片机教程,MCS51单片机从零开始 第八讲:8051单片机I/O引脚工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2547
单片机教程,MCS51单片机从零开始 第九讲:8051单片机的存储器结构
http://bbs.huazhoucn.com/Topic.aspx?id=2548
单片机教程,MCS51单片机从零开始 第十讲:编码及译码器工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2549
单片机教程,MCS51单片机从零开始 第十一讲:存储器的存储原理
http://bbs.huazhoucn.com/Topic.aspx?id=2550
单片机教程,MCS51单片机从零开始 第十二讲:51单片机的特殊功能寄存器
http://bbs.huazhoucn.com/Topic.aspx?id=2551
单片机教程,MCS51单片机从零开始 第十三讲:51单片机CPU的内部结构
http://bbs.huazhoucn.com/Topic.aspx?id=2552
单片机教程,MCS51单片机从零开始 第十四讲:定时器/计数器的基本结构及工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2553
单片机教程,MCS51单片机从零开始 第十五讲:51单片机的中断系统
http://bbs.huazhoucn.com/Topic.aspx?id=2554
单片机教程,MCS51单片机从零开始 第十六讲:51单片机的复位
http://bbs.huazhoucn.com/Topic.aspx?id=2555
单片机教程,MCS51单片机从零开始 第十七讲:51单片机执行指令的过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第十八讲:51单片机的延时及时序分析
http://bbs.huazhoucn.com/Topic.aspx?id=2557
单片机教程,MCS51单片机从零开始 第十九讲:汇编语言基础
http://bbs.huazhoucn.com/Topic.aspx?id=2558
单片机教程,MCS51单片机从零开始 第二十讲:汇编语言及汇编过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第二十一讲:汇编程序的基本结构
http://bbs.huazhoucn.com/Topic.aspx?id=2560
单片机教程,MCS51单片机从零开始 第二十二讲:51单片机的寻址方式
http://bbs.huazhoucn.com/Topic.aspx?id=2561
单片机教程,MCS51单片机从零开始 第二十三讲:数据传送类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2562
单片机教程,MCS51单片机从零开始 第二十四讲:算术运算类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2563
单片机教程,MCS51单片机从零开始 第二十五讲:逻辑运算及移位指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2564
单片机教程,MCS51单片机从零开始 第二十六讲:控制转移类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2565
单片机教程,MCS51单片机从零开始 第二十七讲:布尔变量操作指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2566
单片机教程,MCS51单片机从零开始 第二十八讲:伪指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2567