单片机原理实验
- 格式:doc
- 大小:364.50 KB
- 文档页数:25
..
《单片机原理及应用》
实验报告册
系别:电气学院
班级:自动化142
姓名:
学号:
实验一:熟悉keil c51 集成开发环境及常用指令
一、实验目的:
(1)了解80c51典型应用系统的开发过程,熟悉keil c51集成开发环境;
(2)掌握单步执行程序,查看专用寄存器和单片机RAM的执行结果;
(3)掌握80c51的寻址方式及常用指令的使用方法。
二、实验内容
(1)基本指令练习;
(2)数据转送(循环方式)。
三、思考题
1、分别执行以下程序,在调试状态下观察有关单元的内容顺序执行的程序:
ORG 00H
SJMP MAIN
ORG 30H
MAIN:
MOV SP,#60H
MOV R0,#40H
MOV R1,#30H
MOV 30H,#50H
MOV A,#40H
MOV @R0,A ;R0与A内容相等为40H
INC A
MOV A,@R1 ;A的内容为30H,R1的内容给A
PUSH ACC ;61H给A
POP 32H ;60H给30H
MOV A,#5FH
SWAP A ;高四位低四位交换,A为F5H
MOV DPTR,#0030H
MOVX @DPTR,A
循环程序:
XUNHUAN1:
MOV R0,#30H ;要赋值的首地址
MOV R2,#10H ;一共赋值16次
CLR A ;从0开始赋值
LOOP1:
MOV @R0,A ;赋值16次后停止赋值
INC A ;32H=2,37H=7,3BH=0B,3FH=0F
INC R0
DJNZ R2,LOOP1
XUNHUAN2:
MOV R0,#30H
MOV R1,#40H
MOV R2,#10H
LOOP2:
MOV A,@R0 ;从40H开始一直赋值
MOV @R1,A ;赋的值从30H开始
INC R0 ;就是40H=30H,41H=31H
INC R1 ;一直到R2=0
DJNZ R2,LOOP2 ;就是4FH=3FH
汇编程序3:
PANDUAN1:
MOV 30H,#10H
MOV 31H,#4BH
MOV R0,#30H
MOV R1,#31H
PAN0:
MOV A,@R0
CLR C ;进位位清零
SUBB A,@R1 ;带进位位的加法
JNC PAN1 ;判断进位位C,不为零跳转
MOV A,@R0 ;所以当C等于零时,将
MOV 40H,@R1 ;30H和30H的内容互换
MOV @R0,40H
MOV @R1,A
PAN0:
NOP
END
2、编程完成:单片机内部RAM40H~4FH置初值A0H~4FH 的内容传送到外部RAM中的2000H~200FH单元,在把外部RAM中的2000H~200FH单元的内容传送到单片机内部RAM的50H~5FH单元。
汇编代码:
ORG 00H
AJMP MAIN
ORG 30H
MAIN:
MOV R0,#40H
MOV R1,#16
MOV A,#01H
MOV DPTR,#2000H
LOOP1:
MOV @R0,A
MOVX @DPTR,A
INC DPTR
INC R0
INC A
DJNZ R1,LOOP1 MOV R0,#50H MOV R1,#16
MOV DPTR,#2000H LOOP2:
MOVX A,@DPTR MOV @R0,A
INC DPTR
INC R0
DJNZ R1,LOOP2 END
实验二:中断、定时器与I/O口控制
一、实验目的
(1)掌握定时器/计数器、中断初始化程序设计的方法;
(2) 掌握定时/计数器方式2的编程方法;
(3)掌握中断的编程方法;
(4)掌握使用单片机P1口和P3口做I/O输出,各参数的配置。
二、实验任务
完成在每隔50MS/1S下接在P1口的八个发光二极管循环亮灭程序设计和调试。
要求:1、选择定时器T0方式一定时,中断方式产生50MS,使P1口的八个发光二极管循环亮灭。
2、用定时器与计数器的方式,使T0工作定时产生50MS,使T1工作与计数器,计数10次,每次T0溢出后从P3.0给T1端P3.5一个脉冲。
三、
(1)用定时器定时,计数器计数,当50ms到来时,取反
P3.0让P3.0口能够输出一个周期为100ms的脉冲,通过外接导线到P3.5,则计数器就有了外部脉冲的信号,而计数器是在下降沿时计数,所以应该让P3.0一开始就输出低电平。电路图如下:
(2)定时器方式一和方式二最大定时间分别是:
方式一:65.536ms(2^13微秒)
方式二:0.256ms(2^8微秒)
实验三:扩展并行接口8155
一、实验目的:
(1)掌握8051单片机与8155的接口方法
(2)掌握keil c51集成开发环境在硬件仿真条件下各参数的设置;
(3)掌握软件延时和定时器中断延时的编程方法。
二、实验内容
画出实验电路图:
汇编程序: