教师队伍
   教学大纲
   实验大纲
   实验指导
       实验指导
       综合实验设计
       预定表格
   课程教案
   教学进度
   科研工作
   教学研究
   教学成果
   教学效果
   教学课件
   授课录像
   参考试卷
   学习资料
 

《单片机原理及应用》实验指导

控制技术实验室

实验一 熟悉Keil c51集成开发环境及常用指令实验

                                        2课时,验证型)
一、实验目的
1) 了解8051典型应用系统的开发过程,熟悉Keil C51集成开发环境。
2) 掌握单步执行程序,查看专用寄存器和单片机RAM的执行结果。
3) 掌握8051的寻址方式及常用指令的使用方法。
二、实验内容
1) 基本指令练习。
2) 数据传送(循环方式)。
3) 位操作指令。
4) 8051内部RAM40H4FH置初值A0H~AFH,然后将40H~4FH的内容传送到外部RAM中的C000H~C00FH单元,再把外部数据RAM中的C000H~C00FH单元的内容传送到8051内部RAM中的50H~5FH单元。
5) 调试下列程序,熟悉程序调试手段,观测程序运行结果。
         ORG 0000H
             SJMP   MAIN
             ORG 0030H
MAIN:        
MOV    SP,#6FH
MOV R0,#40H
MOV    R1,#30H
MOV    30H,#40H
              MOV    A,#40H
              MOV    @R0,A ;哪一个存储单元的内容与A中内容相等
INC    A
MOV    A,@R1 ;A中的内容?哪一个存储单元的内容传给A
PUSH   ACC
POP    32H    ;SP指针的变化?32H中的内容
MOV    A,#5FH
SWAP   A     ;A中的内容
                ;上面程序为顺序执行的程序
XUNHUAN1: 
MOV    R0,#30H
           MOV    R7,#10H
           CLR    A     ;3条指令的作用
LOOP1:
      MOV    @R0,A
       INC    A
       INC    R0
DJNZ   R7,LOOP1   ;R7的作用
;循环程序执行完之后,指出32H37H3BH3FH存储单元中的值,为什么?
          
XUNHUAN2:
MOV    R0,#30H
           MOV    R1,#40H
           MOV    R2,#10H
    LOOP2:
MOV A,@R0
           MOV    @R1,A
           DJNZ   R2,LOOP2 ;说明这段程序的功能
                           ;上面程序为2个循环程序
 
;下面为2个数比较程序,最大值存放在30H,最小值存放在31H
PANDUAN1:
MOV    30H,#10H 
           MOV    31H,#4BH
           MOV    R0,#30H
           MOV    R1,#31H
     PAN0: 
MOV    A,@R0
           CLR    C
           SUBB   A,@R1
          JNC    PAN1
          MOV    A,@R0
          MOV    40H,@R1
          MOV    @R0,40H
          MOV    @R1,A
        PAN1:
NOP              ;注意能不能继续往下运行,为什么
           END
、实验步骤
1) 启动计算机。
2)  进入Keil C51集成开发环境。
3)  建立工程项目文件,选择单片机型号:PHILIPS 公司的P80/P87C52X2
4) Keil C51集成开发环境中, 编辑源程序;将源文件添加至工程项目的源文件组中。
5)  对源文件进行编译,生成目标代码。
6)  运行、调试程序和查看执行结果。
7) 分别采用单步、宏单步、执行到光标处等调试手段,调试用户程序,观察有关存储器单元中的内容。
8) 修改有关单元中的内容,再观察有关单元中的内容。
四、思考题
1) 说明每段程序分别完成哪些任务。
2) 若比较程序为3个数比较,数据从大到小排列,最大值放在30H,最小值放在32H。如果是16个数排序,如何排序,提出编程思路。
五、预习要求
1)  阅读教科书中8051的指令系统,重点掌握的指令有数据传送、判断跳转指令的使用方法。
2) 阅读Keil C51集成开发软件说明书,掌握集成开发软件的进入、退出、源文件的编辑和编译等方法。熟悉各种调试手段。
六、实验报告
1) 将程序加上注释语句,写出程序执行的结果。
2) 回答思考题(第2题的第2个问题选作)。
实验二 8051程序设计实验
(3课时,设计型)
一、实验目的
1) 掌握8051汇编语言程序设计基本方法。
2) 掌握8051汇编语言程序的调试方法。
二、实验内容
1)   完成二字节加法程序的设计与调试。
  要求:
     加数首地址由R0指出,被加数和结果的存贮单元首地址由R1指出,字节数由R2指出,地址可以任意指定。
2)   完成2个存储单元中的四位BCD码十进制数拆分为4个存储单元的四位BCD码十进制数,如下图所示:
要求:
30H31H中四位BCD码十进制数拆分为4个存储单元的四位BCD码十进制数,分别存放在40H(个位),41H(十位),42H(百位),43H(千位)中。
或者由R0指出四位BCD码十进制数存放个位和十位的首地址,R1指出拆分后4个存储单元的四位BCD码十进制数的个位首地址。
三、实验步骤
1)  针对2个实验内容提出的要求设计相应的程序。
2)  写出实验步骤及调试方法。 
四、预习要求
1)  阅读教科书中8051的指令系统及程序的设计方法,重点掌握算术运算,转移等指令。
2)  熟悉Keil C51开发环境,重点掌握连续运行程序的方法和设置断点运行程序的方法。
3)  写出预习报告。
五、思考题
如何将8位二进制数转换为BCD码十进制数以及双字节二进制数转换成BCD?
、实验报告
1)   写出实验步骤及调试方法。
2)  整理好执行正确的程序和数据。
3)  对思考题提出自己的基本思路。

                  第1页                                         第一页  下一页  最后页

 

广西壮族自治区柳州市东环路268号广西工学院电子信息与控制工程系
网址:http://www.gxut.edu.cn 电话:0772-2684012