单片机控制的循环彩灯控制系统的设计

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

单片机控制的循环彩灯控制系统的设计

一、实习目的

《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。

二、实习内容

利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。

三、实习器材

TDN86/51二合一微机实验教学系统1台,配套计算机一台,连接导线若干。

四、系统仿真图

五、软件流程图

选择花型

六、程序设计

1、程序是按照模块化设计的,一共分为四大模块

1) 基本程序模块

延时程序、设置按键处理程序、主程序初始化及初值设定

2)LED控制程序

3)取消按键抖动程序

4)控制程序

2、设计要求

能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。

参考花型:

(1)使彩灯从右到左逐一循环点亮。

(2)使彩灯交替闪烁。

(3)使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。

(4)使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。

2)循环彩灯的循环速度可调。

按键要求:

(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。

(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。

(3)速度+。按键一次,速度略加快一点。

(4)速度-。按键一次,速度略减慢一点。

3)在LED显示器上显示相应的花型号。

3、系统总体设计

充分利用TDN86/51二合一微机实验教学系统的硬件资源来实现循环灯的功能,因此:

(1)利用8051的P1端口接发光二极管,以模拟彩灯控制。

(2)利用8051的P3端口接拨动开关;利用拨动开关提供逻辑0和逻辑1,模拟按键操作,以实现4种花型之间的切换、加快循环速度、减慢循环速度以及暂停循环灯循环等操作,具体定义如表1.1和表1.2所示。

表1.1拨动开关与对应的花型

表1.2拨动开关功能表

(3)8051通过8155对LED显示器控制显示相应的花型编号。

(4)利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。

4、实验程序如下:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP JIAN

ORG 0013H

LJMP JIA

ORG 1000H

MAIN: MOV SP, #60H

MOV 20H,#8 ;初始化20H

MOV P1,#0FFH ;初始化P0口

SETB ET0 ;开INT0中断

SETB EX0

SETB ET1 ;开INT1中断

SETB EX1

SETB EA

LOOP:LCALL KEY ;调用按键程序

LJMP LOOP

JIAN:JNB P3.2,$ ;取消按键抖动,等待释放

INC 20H ;延时单元加2

INC 20H

MOV A,20H

CJNE A,#14,YY ;判断延时单元是否等于14

MOV A,#14

YY: MOV 20H,A

RETI

JIA: JNB P3.3,$ ;取消按键抖动,等待释放

DEC 20H ;延时单元减2

DEC 20H

MOV A,20H

JNZ YY ;判断延时单元是否等于0 MOV A,#02

MOV 20H,A

RETI

KEY:MOV A,P3 ;按键程序

ANL A,#03H

MOV 19H,A ;初始化19H

CJNE A,#00H,L1

LJMP LP0 ;选择花形1

L1: CJNE A,#01H,L2

LJMP LP1 ;选择花形2

L2: CJNE A,#02H,L3

LJMP LP2 ;选择花形3

L3: LJMP LP3 ;选择花形4 DISP: MOV A,#03H ;显示程序MOV DPTR,#8000H

MOVX @DPTR,A

MOV R0,#4FH

MOV A,27H

ACALL PUTT

MOV R0,#4FH

MOV R2,#0FEH

DISP1: MOV DPTR,#8002H

MOV A,#00H

MOVX @DPTR,A

MOV A,@R0

MOV DPTR, #SEGTAB

MOVC A, @A+DPTR

MOV DPTR, #8002H

MOVX @DPTR, A

MOV A, R2

MOV DPTR, #8001H

MOVX @DPTR, A

MOV R3, #00H

DISP3: DJNZ R3, DISP3

INC R0

RR A

MOV R2, A

JB ACC.7, DISP1

RET

PUTT: MOV R1,A

ANL A, #0FH

MOV @R0, A

RET

LP0: MOV 27H, #01H ;花形1

LCALL DISP

MOV DPTR, #TABLE

MOV R4, #09

L6:MOV A, #09

SUBB A, R4

LCALL XX

DJNZ R4, L6

RET

LP1: MOV 27H, #02H ;花形2 LCALL DISP

MOV DPTR, #TABLE

MOV A, #09H

LCALL XX

相关文档
最新文档