单片机原理及应用实验指导书(12

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

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

湖南人文科技学院

二00一年三月

实验一I /O口输出实验—LED流水灯实验

一、实验目的

1、掌握单片机最小系统的构成;

2、掌握I/O口的使用及驱动能力的概念;

3、熟悉移位指令和软件延时程序。

二、实验设备与器件

1、计算机1台

2、PROTEUS单片机教学实验箱FB-EDU-P51A

三、实验原理

如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,

四、实验内容

1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。

2、用Keil C51软件创建程序

3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;

4、实验板验证

(1)用ISP下载hex程序到CPU

(2)按连接表连接电路

(3)检查验证结果

五、实验报告

在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。

六、预习要求

1、单片机最小系统的构成

2、单片机I/O口的使用以及软件延时程序的编写。

七、实验参考程序

ORG 00H

START: MOV R2,#8

MOV A,#0FEH

LOOP: MOV P1,A

LCALL DELAY

RL A ;循环左移

DJNZ R2,LOOP ;判断移动是否超过8 位,

未超过继续循环

LJMP START

DELAY: MOV R5,#20 ;延时程序,延时0.2s

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

END

实验二定时器实验

一、实验要求

用51单片机的P1.0口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间隔1S,要求A T89C51内部定时器计时。

二、实验目的

掌握单片机定时计数器定时方式的使用及编程方法。

三、实验电路及连线

1、Proteus实验电路

2、硬件验证实验(CPU板+006板)

硬件连接表

四、实验说明

1.主要知识点概述:

关于内部计数器的编程,主要是定时常数的位置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本例使用的是定时器,定时1S。

CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二级管1S亮一次。

定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。

内部计数器用于定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。本例中单片机晶振12MHZ,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:

机器周期=12/12MHZ=1us

(256-定时常数)*1us=100us

定时常数=156。然后对100us中断次数计数10000次,就是1S。

2.实验效果说明:

发光二级管按设定的定时时间闪烁。

五、实验参考程序:

TICK EQU 10000 ;10000×100us=1s

T100us EQU 256-100 ;100us时间常数(12M)

C100us EQU 30H ;100us计数单元

LEDBUF EQU 40H

LED BIT P1.0

ORG 00H

LJMP START ;跳至主程序

ORG 000BH ;定时中断入口地址

T0INT: PUSH PSW ;状态保护

MOV A,C100us+1

JNZ GOON

DEC C100us ;秒计数值减1

GOON: DEC C100us+1

MOV A,C100us

ORL A,C100us+1

JNZ EXIT ;100us计数器不为0,返回

MOV C100us,#HIGH(TICK) ;100us计数器为0,重置计数器

MOV C100us+1,#LOW(TICK)

CPL LEDBUF ;取反LED

EXIT: POP PSW

RETI

START: MOV TMOD,#02H ;方式2,定时器

MOV TH0,#T100us ;置定时器初值

MOV TL0,#T100us

MOV IE,#10000010B ;EA=1,IT0=1

SETB TR0 ;开始定时

CLR LEDBUF

CLR LED

MOV C100us,#HIGH(TICK) ;设置10000次计数值

MOV C100us+1,#LOW(TICK)

LOOP: MOV C,LEDBUF

MOV LED,C

LJMP LOOP

END

实验三多个中断同时存在实验

一、实验目的

1、了解MCS-51中断系统

2、了解中断嵌套及中断优先级的概念和编程方法。

二、实验设备与器件

1、计算机1台

2、PROTEUS单片机教学实验箱FB-EDU-P51A

三、实验原理

如下图所示,在实验图中将MCU的P1口与LED的阴极相连,外部中断未发生时,系统通过定时器定时的方法,使LED做流水灯操作,当有中断产生,LED闪烁5次,完毕返回。

相关文档
最新文档