华中科技大学单片机实验报告完整版LED灯控制器Word格式文档下载.docx
- 文档编号:22521798
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:785.95KB
华中科技大学单片机实验报告完整版LED灯控制器Word格式文档下载.docx
《华中科技大学单片机实验报告完整版LED灯控制器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《华中科技大学单片机实验报告完整版LED灯控制器Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
publicInit_Device
INITSEGMENTCODE
rsegINIT
ORG0000H
LJMPMAIN
ORG000BH;
T0中断入口
LJMPIT0P;
转T0中断服务程序
ORG001BH;
T1中断入口
LJMPIT1P;
转T1中断服务程序
ORG1000H;
主程序
MAIN:
LCALLInit_Device;
设备初始化
MOVSP,#60H;
赋堆栈指针
MOVTMOD,#11H;
T1定时方式1,T0定时方式1
MOVR0,#40;
循环400次
MOVR2,#10
MOVR1,#10;
定时0.25s
MOVTH1,#38H;
T1置初值
MOVTL1,#9EH
MOVTH0,#38H;
T0置初值
MOVTL0,#9EH
SETBEA;
允许中断
SETBET0
SETBET1
LOOP:
SETBTR0;
计时开始
SETBTR1
CJNER1,#0,LOOP;
判断是否到达0.25s
CLRP3.1
CPLP0.0;
取反
MOVR1,#10
CJNER0,#0,LOOP;
判断是否到达10s
CLRTR0;
清零
CLRTR1
MOVR1,#20;
R1重新赋值
MOVR0,#40;
SETBP3.1
LOOP1:
SETBTR0;
计时
CJNER1,#0,LOOP1;
判断是否到达0.5s
MOVR1,#20
CJNER0,#0,LOOP1;
CLRTR0;
MOVR1,#40;
R1再次赋值
循环
LOOP2:
SETBP3.1
SETBTR1
CJNER1,#0,LOOP2;
判断是否到达1s
MOVR1,#40
CJNER0,#0,LOOP2;
HERE:
AJMPHERE;
等待中断
ORG1500H;
T0中断服务程序
IT0P:
MOVTH0,#38H;
重置计数初值
MOVTL0,#9EH
DJNZR2,LOOP0;
DECR0
RETI
LOOP0:
RETI
ORG1600H;
T1中断服务程序
IT1P:
MOVTH1,#38H;
DECR1
Peripheralspecificinitializationfunctions,
CalledfromtheInit_Devicelabel
PCA_Init:
anlPCA0MD,#0BFh
movPCA0MD,#000h
ret
Timer_Init:
movTMOD,#001h
Port_IO_Init:
;
P0.0-Unassigned,Open-Drain,Digital
P0.1-Unassigned,Open-Drain,Digital
P0.2-Unassigned,Open-Drain,Digital
P0.3-Unassigned,Open-Drain,Digital
P0.4-Unassigned,Open-Drain,Digital
P0.5-Unassigned,Open-Drain,Digital
P0.6-Unassigned,Open-Drain,Digital
P0.7-Unassigned,Open-Drain,Digital
P1.0-Unassigned,Open-Drain,Digital
P1.1-Unassigned,Open-Drain,Digital
P1.2-Unassigned,Open-Drain,Digital
P1.3-Unassigned,Open-Drain,Digital
P1.4-Unassigned,Open-Drain,Digital
P1.5-Unassigned,Open-Drain,Digital
P1.6-Unassigned,Open-Drain,Digital
P1.7-Unassigned,Open-Drain,Digital
P2.0-Unassigned,Open-Drain,Digital
P2.1-Unassigned,Open-Drain,Digital
P2.2-Unassigned,Open-Drain,Digital
P2.3-Unassigned,Open-Drain,Digital
movXBR1,#040h
Oscillator_Init:
movOSCICN,#083h
Interrupts_Init:
movIE,#082h
Initializationfunctionfordevice,
CallInit_Devicefromyourmainprogram
Init_Device:
lcallPCA_Init
lcallTimer_Init
lcallPort_IO_Init
lcallOscillator_Init
lcallInterrupts_Init
end
【程序测试方法与结果、软件即硬件性能分析】
【一】软件测试与性能分析
1.开始时,LED灯以2Hz频率闪动,P0.0位输入,可以看到P0.0位的闪动。
10秒前,蜂鸣器位P3.1一直为低电平。
截图如下:
此时时间为:
2.10s时刻,蜂鸣器响一次,P3.1恰变为高电平,截图如下:
3.之后LED灯以1Hz频率闪动,观察发现,P0.0口的闪动比之前慢,且与显示时间对应,符合设计要求,截图如下:
4.20s时刻,蜂鸣器响一次,对应的P3.1口变为高电平。
5.20s之后,LED灯以0.5Hz频率闪动,观察发现,P0.0口的闪动比之前又慢一些,且与显示时间对应,符合设计要求,截图如下:
6.30s时刻,蜂鸣器又响一次,P3.1口变为高电平,截图如下:
7.30s之后,LED灯又以2Hz闪动,即循环执行以上过程,截图如下:
通过以上分析可知程序在每一步骤运行正常,0~10sLED灯内以频率2Hz闪动,10s时蜂鸣器响一次,之后10s~20s间,LED灯以频率1Hz闪动,20s时蜂鸣器又响一次,之后LED灯以频率0.5s闪动,30s时蜂鸣器响一次,30s之后循环以上操作。
软件运行结果达到预期目标,测试成功!
【二】硬件测试(照片说明)
【思考题】
1.若想实现3种闪耀方式的持续时间在5s-20s范围内可调,且每种方式的持续时间各不相同,应如何设计程序?
答:
可以通过更改定时器T1的多次循环计时次数,来使10s计时变为其他时间。
通过KINT键进入更改模块,使用矩阵键盘以1s的步长增减T1计时时间。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中科技大学 单片机 实验 报告 完整版 LED 控制器