内容正文:
任务2 广告灯电路的硬件、软件设计
一、案头
任务
广告灯电路的硬件、软件设计
授课时间
年 月 日
授课班级
教学形式
讲授、讨论
授课时数
2课时
教学用具
多媒体
教学资源
课件、单片机应用制作成品
课前准备
教学目标
1、掌握单片机并行接口用于输出时与外部电路的连接方法。
2、了解发光二极管工作原理,理解广告灯电路构成,掌握单片机控制广告灯电路的整体构成。
3、理解应用程序的一般结构,掌握广告灯程序的编程思路。
4、理解程序流程图的作用,掌握流程图的画法。
教学重点
1、单片机并行接口用于输出时与外部电路的连接及整体电路构成。
2、应用程序的的编程思路。
教学难点
1、对电路构成的理解和应用。
2、灵活应用指令进行程序设计。
教学过程
1、使用发光二极管模拟广告灯,复习发光二极管特点。
2、I/O端口控制发光二极管接线方法、亮灭控制原理及元件参数选择。
3、在老师引导下,由同学或大家一起画出项目电路原理图。
4、应用程序的一般结构。
5、广告灯电路程序设计。
6、程序流程图绘制。
教学后记
二、教学实施过程
实施环节
教学内容
导学方法
组织教学
1、 检查学生出勤情况并做好记录。
2、 调整学生的注意力,为上课作准备。
互动交流
复习提问
1、将单片机P0口用于输出时,需要注意什么?
2、发光二极管的特点?
提问导思
导入
经过前面的相关知识学习,我们已经可以设计制作发光二极管广告灯电路了,下面我们根据发光二极管特点及所学相关知识来设计广告灯电路。首先看发光二极管与单片机的连接方法。
启发学习积极性
讲授新课
一、广告灯电路设计
1、发光二极管与单片机的连接
由于单片机I/O端口输出高电平时的驱动能力较小,所以常使用低电平驱动方式,即将发光二极管通过限流电阻接于电源正极和单片机I/O端口引脚之间,如图所示。当端口输出0时,发光二极管点亮,当端口输出1时,发光二极管熄灭。
2、广告灯电路原理图设计
根据上述接线原理,可设计出由P0口输出控制8个发光管模拟广告灯的电路原理图。
广告灯电路原理图
3、元件选择
本项目涉及到的元件选择主要有发光二极管和限流电阻两种元件。
发光管的选择主要考虑颜色、亮度和直径;限流电阻的选择依据是发光管的工作电压和工作电流。请同学们来选择。
二、应用程序设计
1、项目程序设计
考虑到本项目要求广告灯有的两种变化效果,现设计第一种变化为8个彩灯反复亮灭,第二种为流水灯效果。参考程序如下:
(1)控制8个彩灯反复亮灭
#include <reg51.h>//定义8051寄存器的头文件
void delay(int); //声明延时函数
/******以下是主程序***************/
main() //主程序开始
{
P0=0xFF; //给P0口赋初值,全灭
while(1) //进入死循环
{
P0=~P0; //P0口取反
delay(500); //延时约0.5s(6MHZ晶振)
}
} //主程序结束
/*******以下是延时子函数************/
void delay(int x) //延时函数开始
{
int i,j; //声明变量i,j
for(i=0;i<x;i++)//计数x次,延迟约xms(6MHZ晶振)
for(j=0;j<60;j++);//计数60次,延迟约1ms(6MHZ晶振)
} //延时函数结束
(2)控制8个彩灯产生流水灯效果
2、应用程序的基本结构
为了使应用程序清晰明了,方便编写和修改,我们通过本项目8个彩灯反复亮灭的例程来说明一下应用程序的基本结构。
#include <reg51.h> //预处理命令,定义8051寄存器的头文件
void delay(int); //声明延时子函数
main() //主函数
{
…
while(1) //while循环
{
…
delay(500); //在主函数中调用延时子程序
}
}
void delay(int x) //延时子程序
{
int i,j; //声明整型变量i,j
…
}
(1)一个C语言源程序可以由一个或多个源文件组成。每个源文件可以由一个或多个函数组成。
(2)一个源程序不论由多少个文件组成,都有一个且只有一个main()函数即主函数。在对程序进行编译时,编译程序会找到main()函数作为程序的入口来编译程序。
(3)源程序中可以有预处理命令("#include"命令只是其中的一种),预处理命令通常放在源文件或源程序的最开始头。
(4)每个声明以及每一个语句都必须