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

上传人:b****3 文档编号:2490106 上传时间:2022-10-30 格式:DOCX 页数:10 大小:342.26KB
下载 相关 举报
单片机控制的循环彩灯控制系统的设计.docx_第1页
第1页 / 共10页
单片机控制的循环彩灯控制系统的设计.docx_第2页
第2页 / 共10页
单片机控制的循环彩灯控制系统的设计.docx_第3页
第3页 / 共10页
单片机控制的循环彩灯控制系统的设计.docx_第4页
第4页 / 共10页
单片机控制的循环彩灯控制系统的设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

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

《单片机控制的循环彩灯控制系统的设计.docx》由会员分享,可在线阅读,更多相关《单片机控制的循环彩灯控制系统的设计.docx(10页珍藏版)》请在冰豆网上搜索。

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

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

一、实习目的

《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。

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

二、实习内容

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

三、实习器材

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

四、系统仿真图

五、软件流程图

字型码赋值

赋值给RR

开始

Nid

8155初始化

字位码初始值

总控制开关

字位码C口

花型控制开关

显示数据

查表字形码C口

花型

显示

显示字形

结束

选择花型

P3.4=0?

调速

P3.2=1?

否 否

P3.3=1?

加速

是 否

P3.0=0?

P3.1=0?

减速

是 否 是 否

00011011

花型1

花型3

花型4

花型2

六、程序设计

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 拨动开关与对应的花型

K1

K2

花型

0

0

花型1

0

1

花型2

1

0

花型3

1

1

花型4

表1.2 拨动开关功能表

K3

功能

K4

功能

K5

功能

0

加速无效

0

减速无效

0

暂停

1

加速

1

减速

1

启动

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

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

4、实验程序如下:

ORG0000H

LJMPMAIN

ORG0003H

LJMPJIAN

ORG0013H

LJMPJIA

ORG1000H

MAIN:

MOVSP,#60H

MOV20H,#8;初始化20H

MOVP1,#0FFH;初始化P0口

SETBET0;开INT0中断

SETBEX0

SETBET1;开INT1中断

SETBEX1

SETBEA

LOOP:

LCALLKEY;调用按键程序

LJMPLOOP

JIAN:

JNBP3.2,$;取消按键抖动,等待释放

INC20H;延时单元加2

INC20H

MOVA,20H

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

MOVA,#14

YY:

MOV20H,A

RETI

JIA:

JNBP3.3,$;取消按键抖动,等待释放

DEC20H;延时单元减2

DEC20H

MOVA,20H

JNZYY;判断延时单元是否等于0

MOVA,#02

MOV20H,A

RETI

KEY:

MOVA,P3;按键程序

ANLA,#03H

MOV19H,A;初始化19H

CJNEA,#00H,L1

LJMPLP0;选择花形1

L1:

CJNEA,#01H,L2

LJMPLP1;选择花形2

L2:

CJNEA,#02H,L3

LJMPLP2;选择花形3

L3:

LJMPLP3;选择花形4

DISP:

MOVA,#03H;显示程序

MOVDPTR,#8000H

MOVX@DPTR,A

MOVR0,#4FH

MOVA,27H

ACALLPUTT

MOVR0,#4FH

MOVR2,#0FEH

DISP1:

MOVDPTR,#8002H

MOVA,#00H

MOVX@DPTR,A

MOVA,@R0

MOVDPTR,#SEGTAB

MOVCA,@A+DPTR

MOVDPTR,#8002H

MOVX@DPTR,A

MOVA,R2

MOVDPTR,#8001H

MOVX@DPTR,A

MOVR3,#00H

DISP3:

DJNZR3,DISP3

INCR0

RRA

MOVR2,A

JBACC.7,DISP1

RET

PUTT:

MOVR1,A

ANLA,#0FH

MOV@R0,A

RET

LP0:

MOV27H,#01H;花形1

LCALLDISP

MOVDPTR,#TABLE

MOVR4,#09

L6:

MOVA,#09

SUBBA,R4

LCALLXX

DJNZR4,L6

RET

LP1:

MOV27H,#02H;花形2

LCALLDISP

MOVDPTR,#TABLE

MOVA,#09H

LCALLXX

MOVA,#10

LCALLXX

RET

LP2:

MOV27H,#03H;花形3

LCALLDISP

MOVDPTR,#TABLE

MOVR5,#11

L7:

MOVA,#22

SUBBA,R5

LCALLXX

DJNZR5,L7

RET

LP3:

MOV27H,#04H;花形4

LCALLDISP

MOVDPTR,#TABLE

MOVR6,#09

L8:

MOVA,#30

SUBBA,R6

LCALLXX

DJNZR6,L8

RET

XX:

MOVCA,@A+DPTR;查表

MOVP1,A

LCALLDEL1S;调用延时程序

RET

DEL1S:

JNBP3.4,$ ;判断是否需要暂停

MOVA,P3

ANLA,#03H

CJNEA,19H,PP;判断花形是否改变

MOVR2,20H;延时程序

D1:

MOVR3,#30

D2:

MOVR1,#120

DJNZR1,$

DJNZR3,D2

DJNZR2,D1

RET

PP:

LJMPLOOP

SEGTAB:

DB3FH,06H,5BH,4FH,66H

TABLE:

DB0FFH

DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;花形1字码

DB0AAH,55H;花形2字码

DB7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH,00H;花形3字码

DB7EH,3CH,18H,00H,18H,3CH,7EH,0FFH;花形4字码

DB00H

END

七、进行软、硬件的调试过程

将程序装载进MD51,调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1