单片机原理及应用课程设计流水广告灯控制程序设计.docx
《单片机原理及应用课程设计流水广告灯控制程序设计.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计流水广告灯控制程序设计.docx(9页珍藏版)》请在冰豆网上搜索。
![单片机原理及应用课程设计流水广告灯控制程序设计.docx](https://file1.bdocx.com/fileroot1/2023-4/20/fb321278-eda4-4eff-b4a9-7dd14a260b32/fb321278-eda4-4eff-b4a9-7dd14a260b321.gif)
单片机原理及应用课程设计流水广告灯控制程序设计
单片机原理及应用课程设计
—流水广告灯控制程序设计
生产实习课题化教学教案首页
课题名称
单片机原理及应用课程设计
分课题名称
流水广告灯控制程序设计
授课时数
7
讲课:
3示范:
0.5练习:
3.5
工艺及专业理论课
第3章汇编语言程序设计
累计课时
课题内容:
流水广告灯控制程序设计
15
授课日期
第8周10月21日
授课班级
班级人数
44人
教学目的和要求
1.了解单片机外围硬件接线、掌握程序设计基本思路及编程方法。
2.学习并掌握流水广告灯控制课题的外围接线、流程图及汇编程序编写。
3.学习并训练基本的程序检查、调试方法。
4.复习相关汇编指令、单片机外围单元电路及延时程序。
重点与难点
重点:
单片机程序设计基本思路、方法。
难点:
流水广告灯控制程序的设计。
示范内容
1.流水广告灯控制实验演示。
2.实验箱的基本操作。
3.单片机外围接线示范。
巡回重点
1.流水广告灯控制硬件接线。
2.流水广告灯控制程序设计。
3.流水广告灯控制程序分析、修改。
4.实验箱的基本操作,程序的基本调试。
教
学
准
备
工具
器材
个人计算机,爱迪克单片机实验箱
仪器仪表
图纸
爱迪克单片机实验箱随机资料
教学内容过程及授课方法
复习导入:
1.AT89S51单片机的基本组成结构。
2.AT89S51单片机的外围基本单元电路。
新课:
1.流水广告灯控制程序的设计。
2.单片机程序基本设计编写方法。
课日一第11周11月10日
组织教学:
1、上课、师生问候
2、检查学生出勤情况,并记录
3、检查教室卫生
4、强调安全文明生产
复习导入:
1.AT89S51单片机的基本组成结构。
2.AT89S51单片机的外围基本单元电路。
3.广告灯控制系统实验功能展示
入门指导:
广告灯控制程序设计
一、任务目标驱动
运用AT89S51单片机及相应硬件电路做单一广告灯的控制,使用汇编语言编写程序,使其实现相关任务要求。
硬件电路如图所示,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0间隔1s依次点亮,之后重复循环,模拟一流水广告灯。
电路原理图:
二、任务分析
本课题主要的任务是通过单片机并行I/0口中的P1口来控制对应发光二极管的点亮与熄灭。
八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上当其输出“0”(低电平)时,对应的发光二极管点亮。
(提问:
由此判断八个发光二极管组成共阳接法还是共阴接法)
根据任务要求,八只发光二极管间隔1s点亮,以此循环往复,可做出具体数据控制表如下:
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
说明
L8
L7
L6
L5
L4
L3
L2
L1
1
1
1
1
1
1
1
0
L1亮
1
1
1
1
1
1
0
1
L2亮
1
1
1
1
1
0
1
1
L3亮
1
1
1
1
0
1
1
1
L4亮
1
1
1
0
1
1
1
1
L5亮
1
1
0
1
1
1
1
1
L6亮
1
0
1
1
1
1
1
1
L7亮
0
1
1
1
1
1
1
1
L8亮
(间隔1s点亮)
根据此控制表,并结合已学过的汇编基本指令,可以将流水广告灯控制程序拆分为以下五个部分:
三、相关理论知识
本课题所涉及的相关理论知识:
1、电路设计知识
单片机外围电路分为以下几个单元电路:
电源、时钟电路、清零复位电路、输入、输出电路。
40脚接+5V电源,20脚接地,18、19脚外接12MHz晶振及两个30pF瓷片电容,9脚接上电复位电路。
P1口分别通过通过8个电阻接8只发光二极管,发光二极管采取共阳连接形式。
(提问:
单片机外围电路由哪几部分构成)
2、程序设计知识
1)ORG0000H:
规定程序存放的起始地址。
(复习提问ORG指令的功能)
2)MOVA,#data:
数据传送指令,给累加器A赋值。
(复习提问基本寻址方式)
3)MOVP1,A:
将累加器A的内容送至P1口输出。
(复习P1口与累加器间的传送方式)
4)RLA:
累加器A内容循环左移指令。
(复习提问RL指令与RLC指令的区别)
5)SJMPrel:
跳转指令。
6)DJNZRn,rel:
减1比较指令,不为0转移,为0顺序执行。
3、延时1s子程序
DELAY:
MOVR5,#4;
D1:
MOVR6,#250
D2:
MOVR7,#250
D3:
NOP
NOP
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
四、任务实施
根据以上任务分析可知,首先用MOVA,#0FEH指令将一个十六进制数FEH送给累加器A,然后用MOVP1,A指令将A中的送至P1口,以驱动P1口所接8只发光二极管中对应的点亮,同时给工作寄存器R2赋值8。
然后调用1s延时程序,亮灯1s后将A的数据左移一位,用RLA实现,并送P1口输出。
并用R2进行计数。
最后执行SJMP跳转指令,程序无条件循环。
按以上分析过程编写流程图及汇编源程序:
流程图:
汇编源程序:
ORG0000H
START:
MOVR2,#8
MOVA,#0FEH;赋亮灯数据初值
LOOP:
MOVP1,A;将亮灯数据送至P1口
LCALLDELAY;调用延时子程序
RLA;A中内容循环左移
DJNZR2,LOOP;判断是否移动8次
SJMPSTART
DELAY:
MOVR5,#20;延时子程序
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
五、PROTEUS仿真测试
根据流水灯的电路原理图,运用PROTEUS仿真软件进行仿真测试。
操作步骤如下:
1.绘制电原理图。
2.运用WAVE仿真软件编写程序并生成“流水广告灯.HEX”文件。
3.将“流水广告灯.HEX”文件送入仿真AT89C51单片机中。
4.通过PROTEUS仿真演示,观察编程的正确性,并随时修改、完善。
PROTEUS仿真演示如下图所示:
六.硬件连接与实物观察
PROTEUS仿真完成后,将单片机硬件系统板进行正确的导线连接,将生成的正确“流水广告灯.HEX”文件烧入至单片机中,进行现象观察。
系统板上硬件连线:
把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:
P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
巡回指导:
1.流水广告灯控制硬件接线。
2.流水广告灯控制程序设计。
3.流水广告灯控制程序分析、修改。
4.实验箱的基本操作,程序的基本调试。
结束指导:
在本课日的教学过程中,采取任务驱动的一体化教学方法,对用单片机进行流水广告灯控制的程序编写进行了讲授。
通过学习,学生基本掌握了用单片机进行程序设计和编写的基本方法,初步取得了较好的效果。