中断控制的流水节日彩灯控制器课程设计.doc
文本预览下载声明
题 目:__中断控制的流水节日彩灯控制器
年纪专业:__级自动化________
姓 名:________________
学 号:_____________
指导老师:______________
2014年12月5日
课程设计量化评分标准
指标 最高分 评分标准 评分 方案设计 35 方案选择合理,分析设计正确,原理清楚电路程序流程图清晰结构合理程序简洁、正确。 调试 15 过程清晰,调试方案设计合理,测试点选择适当,程序编写正确调试步骤清楚。 结果 20 电路及其程序运行结果正确,达到预期效果。 设计报告
20 报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达正确,重点突出,报告完全符合规范化要求,用计算机打印成文。 工作态度 10 工作态度认真按时完成设计任务是否独立完成。 总评成绩
指导老师评语:
设计题目:中断控制的流水节日彩灯控制器
要求
至少显示4种方式。
析分
用开关来控制流水灯使其显示4种方式,首先通过编写一个程序输入单片机,在单片机最小系统通过开关来控制,用1个开关可以显示4种工作方式,更具试验箱的结构,选择4个LED灯利用高低电平来控制灯亮或者灭,连接电路根据不同的开关指示显示不同的流动方式。
设计
1、 硬件设计
在试验箱上有4个发光二极管,分别与PL接口相连,但是由于开关与PL口的前两个口相连,所以只能用六个发光二极管来显示,而另外两个则与开关相连,用来控制电路,只有这样才能完全显示。
硬件连接图如下:
2,、软件编程
流程图:
否
是
否 否
是 是
完整的程序如下:
#include reg51.h
#include intrins.h
sbit led1 = P1^2;
sbit led2 = P1^3;
sbit led3 = P1^4;
sbit led4 = P1^5;
unsigned int mode=1;
void dis_play(unsigned int a);
void display(mode);
void delay(unsigned int i)
{ int a;
for(;i1;i--)
for(a=0;a200;a++);
}
/***********************************************************
purpose: 系统初始化
/**********************************************************/
void system_Ini()
{
IT0=1; //下降沿触发
EX0=1;
EA=1; //总中断
}
void main(void)
{
P3=0xff;
P2=0xff;
system_Ini();
while(1)
{
display(mode);
}
}
void display(mode)
{
if(mode==1)
{
led1 = 0;
led2 = 0;
led3 = 0;
led4 = 0;
delay(200);
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
delay(200);
}
显示全部