单片机实训教案 下载本文

路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。

(2)双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

5.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。 6.实验框图

程序流程图:

开始初始状态东西南北都是红灯状态1南北绿灯、东西红灯状态2南北绿灯闪转黄灯,东西红灯状态3南北红灯东西绿灯状态4南北红灯,东西绿灯闪转黄灯 TRLED1.ASM主程序框图 7.参考程序

;系统晶振是 11.0592 MHz ORG 0000H LJMP START ORG 0040H START:

MOV SP,#60H

LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯

LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯

LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP

STATUS0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX @DPTR,A

MOV R2,#10 ;延时1秒 LCALL DELAY RET

STATUS1: ;南北绿灯,东西红灯 MOV DPTR, MOV A, ;南北绿灯,东西红灯 MOVX @DPTR,A

MOV R2,#200 ;延时20秒 LCALL DELAY

RET

STATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR, MOV R3,#03H ;绿灯闪3次 FLASH: MOV A,

MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A, MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH

MOV MOVX MOV LCALL RET

STATUS3: MOV MOV MOVX MOV LCALL RET

STATUS4: MOV MOV FLASH1: MOV MOVX MOV LCALL MOV MOVX MOV LCALL DJNZ MOV MOVX MOV LCALL NOP RET

DELAY: PUSH PUSH PUSH DELAY1: MOV DELAY2: MOV DJNZ DJNZ DJNZ POP POP POP RET END

A, ;南北黄灯,东西红灯 @DPTR,A

R2, ;延时1秒 DELAY ;南北红灯,东西绿灯 DPTR,#8300H A,#69H @DPTR,A

R2,#200 ;延时20秒 DELAY ;南北红灯,东西绿灯闪转黄灯 DPTR,#8300H

R3,#03H ;绿灯闪3次 A, @DPTR,A R2,#03H DELAY A,#69H @DPTR,A R2,#03H DELAY R3,FLASH1 A, ;南北红灯,东西黄灯 @DPTR,A

R2,#10 ;延时1秒 DELAY ;延时子程序 2 1 0

1,#00H 0,#0B2H 0,$

1,DELAY2 ;延时 100 mS 2,DELAY1 0 1 2 8.思考题

(1)总结子程序与主程序区别于联系 (2)总结试验步骤和实验方法

(3)如果要实现指示灯多种花样显示,应如何编程 ?试编写几种花样程 序,如流水灯,追逐灯等显示程序。

实验三 外部中断控制实验

一、预习内容

1.8051单片机

8051单片机有五个中断请求源,分别为:两个外部输入中断源(P3.2)和(P3.3);两个片内定时器T0和Tl的溢出中断TF0(TCON.5)或TF1(TCON.7);一个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。

2.中断主要的控制寄存器

中断主要有四个控制寄存器,分别如下所述。 (1)TCON(88H)控制寄存器

TCON为定时器/计数器T0和T1的控制寄存器,同时也锁存T0和T1的溢出中断标志及外部中断INT0和外部中断INT1的中断标志,如表3.1所示。

表3.1 TCON中的中断标志位

位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H

位定义名 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IT0(IT1):选择外部中断 触发方式。当IT0=0时,为电平触发方式(低电平有效)。当外部引脚 为0时,直接向CPU申请中断。当IT0=1时,为边沿触发方式(下降沿有效)。当外部引脚 为下降沿时,中断有效。

IE0(IE1):外部中断中断请求标志。当IT0=1, 为下降沿时,硬件置IE0=1,由IE0向CPU申请中断,进入服务后自动清除IE0。当IT0=0, 为低电平时,硬件置IE0=1,由IE0向CPU申请中断。

(2)SCON(98H)控制寄存器

SCON为串行口控制寄存器,其低2位为RI和TI,RI为接受中断请求标志位,TI为发送中断请求标志位。SCON中TI和RI的格式如表3.2所示。

表3.2 SCON中的中断标志位

位地址 99H 98H

位定义名 TI RI

(3)IE(A8H)控制寄存器

中断允许寄存器IE 对中断的开放和关闭实现两级控制,当EA=0时,屏蔽所有的中断申请,即任何中断申请都不接受;当EA=1 时,CPU开放中断,但五个中断源是否允许中断,还要由IE的低5位控制位的状态进行控制,当标志位设置为1时,允许中断;设置为0时,禁止中断,如表3.3所示。

表3.3 中断允许控制位

位地址 AFH AEH ADH ACH ABH AAH A9H A8H

位定义名 EA ES ET1 EX1 ET0 EX0

EA:开放/禁止所有中断,“1”开放,“0”禁止。 ES:开放/禁止串行通道中断,“1”开放,“0”禁止。

ET1:开放/禁止定时器1溢出中断,“1”开放,“0”禁止。