任务九.可控霓虹灯 - 副本

  • 格式:pps
  • 大小:248.00 KB
  • 文档页数:12

任务九可控霓虹灯
复习回顾
什么是中断
MCS-51中断系统的结构 中断有关寄存器
中断处理过程
学习目标
通过采用1个按键输入的可控霓虹灯系统的制作,了解单片机中断系统的结构及与中断有关的寄存器、中断的开放与禁止,以及中断程序的编写技巧。

工作任务
正确制作可控霓虹灯电路
编写可控霓虹灯电路程序并完成调试
根据要求修改程序并观察运行结果
任务分析
在任务3电路的基础上,增加一个按键,通过按键改变霓虹灯的显示方式。

要求正常情况下8个霓虹灯依次顺序点亮,循环显示,时间间隔为1S。

按键按下后8个霓虹灯同时亮灭一次,时间间隔为0.5S。

用T1、工作方式1编制延时程序,按键动作采用外部中断INT0实现。

可控霓虹灯电路
可控霓虹灯程序#include <reg51.h>
void delay0_5s()
{ unsigned char i;
for(i=0;i<0x0a;i++)
{
TH0=0x3c;
TL0=0xb0;
TR0=1;
while(!TF0);
TF0=0;
}
}
可控霓虹灯程序void delay_t(unsigned char t) {
unsigned char i;
for(i=0;i<t;i++)
{
delay0_5s();
}
}
可控霓虹灯程序
void int_0() interrupt 0
{
P1=0x00;//熄灭八个信号灯delay0_5s();//调用0.5秒延时函数
P1=0xff;//点亮八个信号灯delay0_5s();//调用0.5秒延时函数}
可控霓虹灯程序
void main()
{
unsigned char i,w;
EA=1;
EX0=1;
IT0=1; TMOD=0x01;
while(1)
{
w=0x01;
for(i=0;i<8;i++)
{ P1=~w;
w<<=1;
delay_t(2);
}
}
}
动动手
创建工程保存工程 建立源文件保存源文件 源文件加入工程 编译
链接调试
程序编写调试
拓展思考
如何设计更多的流水花样,并通过一个按键在多个流水花样之间依次切换?。