单片机各种开发小程序

  • 格式:doc
  • 大小:194.86 KB
  • 文档页数:24

下载文档原格式

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

LJMP $

END

五、思考题

如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作。

实验二二进制与BCD码转换

一、实验目的

1.掌握简单的数值转换算法

2.基本了解数值的各种表达方法

二、实验说明

单片机中的数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。我们将给定的一字节二进制数,转换成二十进制(BCD)码。将累加器A的值拆为三个BCD 码,并存入RESULT开始的三个单元,例程A赋值#123。

三、实验内容及步骤

1.启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加TH

2.ASM源程序进行编译,编译无误后,全速运行程序,打开View菜单中的Memory Window,在Address窗口输入D:30H后回车,点击运行按钮,观察地址30H、31H、32H的数据变化,30H内容将更新为01,31H更新为02,32H更新为03。修改源程序中给累加器A的赋值,重复实验,观察实验效果。

2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、流程图及源程序(见光盘中的程序文件夹)

1.源程序

RESULT EQU 30H

ORG 0000H

LJMP START

BINTOBCD:

MOV B,#100

DIV AB

MOV RESULT,A ;除以100得百位数

MOV A,B

MOV B,#10

DIV AB

MOV RESULT+1,A ;余数除以10得十位数

MOV RESULT+2,B ;余数为个位数

RET

START:

MOV SP,#40H

MOV A,#123

CALL BINTOBCD

LJMP $

END

2.流程图

实验三 BCD码与ASCII码转换

一、实验目的

1.了解BCD值和ASCII值的区别

2.掌握用查表的方法将BCD值转换成ASCII值

二、实验说明

此实验主要让学生了解数值的BCD码和ASCII码的区别,利用查表方法可以快速地进行数值转换。进一步掌握数值的各种表达方式。现在我们给出一个BCD数,将其转换成ASCII值。如下:将累加器A的值拆为二个ASCII码,并存入Result开始的二个单元,例程A赋值#1AH。

三、实验内容及步骤

1.启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加TH3.ASM源程序进行编译,编译无误后,打开View菜单中的Memory Window,在Address窗口输入D:30H后回车,点击运行按钮,观察地址30H、31H的数据变化,30H更新为31,31H更新为41。修改源程序中给累加器A的赋值,重复实验,观察实验效果。

2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、流程图及源程序(见光盘中的程序文件夹)

1.源程序

RESULT EQU 30H

ORG 0

LJMP START

ASCIITAB:

DB ‘0123456789ABCDEF' ;定义数字对应的ASCII表

BCDTOHEX:

MOV DPTR,#ASCIITAB

MOV B, A ;暂存A

SWAP A

ANL A,#0FH ;取高四位

MOVC A,@A+DPTR ;查ASCII表

MOV RESULT, A

MOV A,B ;恢复A

ANL A,#0FH ;取低四位

MOVC A,@A+DPTR ;查ASCII表

MOV RESULT+1,A

RET

START:

MOV SP,#40H

MOV A,#1AH

CALL BCDTOHEX

LJMP $ END

2.流程图

实验四程序跳转表

一、实验目的

1.了解程序的多分支结构

2.掌握多分支结构程序的编程方法

二、实验说明

多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

三、实验内容及步骤

1.启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加TH4.ASM源程序进行编译,编译无误后打开View菜单中的Memory Window,在Address窗口输入D:30H后回车,点击运行按钮,观察地址30H、31H、32H、33H的数据变化,30H更新为0,31H 更新为1,32H更新为2,33H更新为3。修改源程序中给30H~33H的赋值,重复实验,观察实验效果。

2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、流程图及源程序(见光盘中的程序文件夹)

1.流程图

2.源程序

ORG 0

LJMP START

FUNC0: MOV 30H,#0 RET

FUNC1: MOV 31H,#1 RET