tm1639c语言程序,单片机实验指导书(2012).doc

《 单 片 机 原 理 与 应 用 》

实 验 指 导 书

温州大学物理与电子信息工程学院

2012年9月

目 录

TOC \o "1-3" \h \z \u 实验一 指令和汇编语言 3

实验二 集成开发环境的使用 6

实验三 I/O和中断实验 11

实验四 定时器计数器实验 15

实验五 可编程计数器阵列实验 18

实验六 IIC总线实验 22

实验七 模数转换实验 28

实验八 温度传感器实验 31

实验九 键盘显示电路实验 34

附录1 Keil 工程文件的建立、设置与目标文件的获得 36

1.1 系统集成环境设置 36

1.2 建立工程文件 36

实验一 指令和汇编语言

一、实验目的

1、了解单片机开发系统的各主要组成部分,包括PC、仿真器和实验开发系统;

2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;

3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。

二、实验仪器

1、自制的C51实验开发板 1块

2、直流温压电源 1台

3、仿真器(EASYPROBE) 1只

4、PC机 1台

三、实验内容

1、认识51单片机开发系统的结构。

40芯扁平电缆

40芯扁平电缆

PC机

仿真器

C51实验开发板

(目标板)

电 源

图1-1 51单片机开发系统的结构

2、初步认识仿真器软件和Keil C51软件界面及使用,参见附录1。

3、简单程序调试

(1) 传送指令

设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。

MOV R0,#30H

MOV A,@R0

MOV R1, A

MOV B, @R1

STOP: SJMP STOP

执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。

(2) 运算指令

单步

执行

MOV A, #0BFH

MOV 20H, #85H

SETB C

ADD A, 20H

MOV A, #0BFH

MOV 20H, #85H

SETB C

ADDC A, 20H

MOV A, #0BFH

MOV 20H, #85H

SETB C

SUBB A, 20H

MOV A, #0BFH

MOV B, #85H

MUL AB

SJMP $

结果

标志

(A)=

CY= AC=

OV= P=

(A)=

CY= AC=

OV= P=

(A)=

CY= AC=

OV= P=

(A)= (B)=

CY= AC=

OV= P=

4、多字节十进制数加1499613249

被加数

加数

结果

低位

20H

67

30H

65

20H

84/48

21H

45

31H

72

21H

7B/ef

22H

23

32H

98

22H

79/6f

23H

01

33H

89

23H

60/05

高位

图1-2 4字节十进制数相加

两个4字节十进制数1234567加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。

运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。分别按“跟踪”、“单步”和“全速”方式调试程序。检查运算结果,区别“跟踪”、“单步”调试方式的不同。在“ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DA A”的功能。同时理解“断点” 方式调试程序的特点。

;;;;;;;;;;;;;;;;;;;主程序 ;;;;;;;;;;;;;;;;;;;;;

MOV R0, #20H ;置被加数首地址

MOV R1, #30H ;置加数首地址

MOV R2, #04H ;置被加数和加数的长度(字节数)

ACALL ADD_BCD ;调用多字节十进制数加法子程序ADD_BCD

STOP:SJMP STOP ;停止

;;;;;;;;;; 多字节十进制数加法子程序 ;;;;;;;;;;

;入口: R0、R1为被加数和加数的首地址,按低位到高位存放

;出口: R0为运算结果的首地址,也按低位到高位存放

ADD_BCD:CLR C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值