单片机综合实验LED灯控制器讲解学习文档格式.docx

上传人:b****6 文档编号:17444636 上传时间:2022-12-01 格式:DOCX 页数:9 大小:419.58KB
下载 相关 举报
单片机综合实验LED灯控制器讲解学习文档格式.docx_第1页
第1页 / 共9页
单片机综合实验LED灯控制器讲解学习文档格式.docx_第2页
第2页 / 共9页
单片机综合实验LED灯控制器讲解学习文档格式.docx_第3页
第3页 / 共9页
单片机综合实验LED灯控制器讲解学习文档格式.docx_第4页
第4页 / 共9页
单片机综合实验LED灯控制器讲解学习文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机综合实验LED灯控制器讲解学习文档格式.docx

《单片机综合实验LED灯控制器讲解学习文档格式.docx》由会员分享,可在线阅读,更多相关《单片机综合实验LED灯控制器讲解学习文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

单片机综合实验LED灯控制器讲解学习文档格式.docx

4.在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。

5.利用单片机内部定时器定时,要求采用中断方式。

提高要求:

1)使用按键(KINT)切换LED灯闪烁频率。

2)在LED显示器上显示当前模式和频率值。

3)其它个性化设计。

2、设计思路

利用定时器T0实现0.1s,0.5s和1s的定时,分别对应5Hz,1Hz和0.5Hz三种闪烁方式的半周期,用T0的中断服务程序实现LED信号灯的闪烁和LED显示器显示当前模式,并重新开始计时。

这三种定时时间的定时器计数初值存于工作寄存器中,赋计数初值时取出,一种频率的闪烁结束后通过改变寄存器内的值来改变半周期,接着再赋值取出。

利用另一个工作寄存器来控制闪烁次数,是当前模式运行时间为20s。

3、资源分配

R0、R1:

当前模式下定时器计数初值

R2:

循环次数,即闪烁次数

4、流程图

5、源代码

$include(C8051F310.inc)

LEDBITP0.0

BEEPBITP3.1

KINTBITP0.1

ORG0000H

LJMPMAIN

ORG0003H

LJMPT_KINT

ORG001BH

LJMPTIME1

MAIN:

LCALLInit_Device

MOVR0,#00H

CLRLED

CLRBEEP

CLRPSW.1

CLRPSW.5

SETBEA

SETBEX0

SETBIT0

MOVTMOD,#10H

SETBET1

CHOO:

CJNER0,#02H,LOOP

LJMPCASE2

LOOP:

JCCASE1

LJMPCASE3

CASE1:

MOVR1,#0D7H

MOVR2,#14H

MOVR7,#0C8H

MOVP1,#0

SETBP1.6

SETBP1.5

LJMPSTART

CASE2:

MOVR1,#83H

MOVR2,#63H

MOVR7,#28H

SETBP1.7

SETBP1.4

SETBP1.3

SETBP1.1

LJMPSTART

CASE3:

MOVR1,#06H

MOVR2,#0C6H

MOVR7,#14H

LJMPSTART

START:

LCALLVOICE

MOVTH1,R1

MOVTL1,R2

MOVA,R7

BACK:

SETBTR1

LOOP1:

MOVC,PSW.5

JNCLOOP1

CLRPSW.5

DJNZR7,BACK

MOVC,PSW.1

JCTHERE

CJNEA,#28H,LOOP2

LJMPCASE3

LOOP2:

JCTHERE

LJMPCASE2

THERE:

SJMP$

VOICE:

SETBBEEP

MOVTH1,#06H

MOVTL1,#0C6H

LOOP3:

JNCLOOP3

RET

T_KINT:

SETBPSW.1

INCR0

CJNER0,#04H,K_RET

CLRPSW.1

MOVR0,#00H

K_RET:

CLRTR1

POPSP

POPSP

MOVDPTR,#0036H

PUSHDPL

PUSHDPH

RETI

TIME1:

SETBPSW.5

CLRTR1

CPLLED

RETI

PCA_Init:

anlPCA0MD,#0BFh

movPCA0MD,#000h

ret

Timer_Init:

movTMOD,#010h

movCKCON,#002h

Port_IO_Init:

movXBR1,#040h

Interrupts_Init:

movIE,#009h

Init_Device:

lcallPCA_Init

lcallTimer_Init

lcallPort_IO_Init

lcallInterrupts_Init

END

6、程序测试方法与结果

思考题

1.若想实现3种闪烁方式的持续时间在5s-60s范围内可调,且每种方式的持续时间各不相同,应如何设计程序?

答:

只需将R2的值改成相应的即可。

本人承诺:

本报告内容真实,无伪造数据,无抄袭他人成果。

本人完全了解学校相关规定,如若违反,愿意承担其后果。

签字:

年月日

其它说明:

1.标题:

黑体,小四号

2.正文:

宋体,五号,1.5倍行距

3.流程图使用SmartDraw7或Visio软件绘制

4.不要加封面

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

当前位置:首页 > 教学研究 > 教学计划

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

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