资源描述
单片机技术课程设计任务书 电科09级
单片机技术 课程设计任务书
课题名称 基于单片机的电梯控制器设计
系 别 理学院
专 业 _电子信息科学与技术_
班 级 __________
学 号 ___________
姓 名 _________
指导教师 刘青正_
年 月 日
项目名称:
基于单片机的电梯控制器设计
项目类型
硬件设计
要求
设计结果+设计说明书
承担学生姓名
学号
专业
电子信息科学与技术
班级
项目设计要求:
1、主要研究内容和功能要求:
※研究内容:单片机控制技术+显示输出方法研究+电梯操作方法
※功能要求:
1)楼层的显示(可采用数码管或LCD屏或8*8点阵)与电梯运动方向显示(8*8点阵);
2)按键模拟楼层呼叫按钮,控制电梯的上下;
3)充分考虑电梯单向行驶过程中楼层呼叫的设置规则(例如上升期间,低层按向下需等待)。
4)研究四层电梯控制器设计(四层电梯至少要分配14个按键)。
5)完成相关电路的原理图绘制。
2、参考资料(部分,仅供参考、借鉴):
1)求实科技. 单片机典型模块设计实例导航. 北京:人民邮电出版社,2004.5
2)任致程,凌红武. 电子制作工艺技巧. 北京:人民邮电出版社,1999
3)王彦朋.大学生电子设计与应用.北京:中国电力出版社.2007.3
4)胡汉才. 单片机原理及其接口技术.北京:清华大学出版社,2004
3、阶段成果自查:
0-0阶段:第18 周(6月11日~6月17日) 理论研究、电路资料查找、焊接及测试。
2-1阶段:第19 周(6月18日~6月24日) 硬件电路分析与程序设计、编程、调试。
2-2阶段:第20 周(6月25日~6月29日) 完成调试,撰写课程设计说明书,验收。
项目设计进度具体要求:
2012年6月8日~2012年6月10日:确定分组、选择题目、领用器件;
2012年6月11日~2012年6月13日:资料查找、理论学习、原理分析、思路构建;
2012年6月14日~2012年6月17日:电路焊接与测试;
2012年6月18日~2012年6月22日:硬件设计、软件设计;
2012年6月23日~2012年6月24日:系统联调、错误查找,进一步修改、完善;
2012年6月25日~2012年6月28日:撰写设计说明书;
2012年6月28日下午:电科091班学生,验收、上交设计说明书及相关文档;
2012年6月29日上午:电科092班学生,验收、上交设计说明书及相关文档;
2012年6月29日下午:电科093班学生,验收、上交设计说明书及相关文档;
项目验收方式与考核成绩评定:
1、在规定的时间统一进行验收。(检查硬件、检查成果、检查设计说明书,问题回答)
2、考核成绩评定由成果验收(占30%)+设计说明书质量(60%)。
3、成绩由百分制转换为五等级。例(100~90)为优秀,以此类推为良好、中等、及格、不及格。
项目开始时间:
2012-6-11
项目结束时间:
2012-6-29
任务下达:
刘青正
#include <at89x51.h>
unsigned char a1[]={0,0x62,0x57,0x42,0x22,0x12,0xf2,0};
unsigned char a2[]={0,0x72,0x47,0x22,0x22,0x42,0x72,0};
unsigned char a3[]={0,0x42,0x67,0x52,0xfa,0x42,0x42,0};
unsigned char a4[]={0,0x72,0x42,0x22,0x22,0x47,0x72,0};
unsigned char a5[]={0,0x62,0x52,0x42,0x22,0x17,0xf2,0};
unsigned char a6[]={0,0x22,0x22,0x22,0x22,0x27,0x22,0};
unsigned char a0[]={0x7e,0x24,0x24,0xff,0x24,0x24,0x22,0x22};
static int c=1,d=1,e=1,f=1;
int a,m;
void xianshi(a);
void delay(m);
void saomiao();
void kongzhi();
main ()
{
P2_4=1;
while(1)
kongzhi();
}
void delay(n) //0.2毫秒
{
int x,y;
for(x=0;x<n;x++)
for(y=0;y<24;y++);
}
void xianshi(int a)
{
int i,x;
for(x=0;x<1000;x++)
{
for(i=0;i<8;i++)
{ P0=i;
P2_7=1;
P2_7=0;
switch(a)
{
case 0:
P0=a0[i];
break;
case 1:
P0=a1[i];
break;
case 2:
P0=a2[i];
break;
case 3:
P0=a3[i];
break;
case 4:
P0=a4[i];
break;
case 5:
P0=a5[i];
break;
case 6:
P0=a6[i];
break;
}
P2_5=1;
P2_5=0;
delay(5);
saomiao();
}
delay(5);
}
}
void saomiao()
{
P2_4=0;
P0=0x0f;
delay(5);
if(P0_0==0)
c=0;
if(P0_1==0)
d=0;
if(P0_2==0)
e=0;
if(P0_3==0)
f=0;
P2_4=1;
}
void kongzhi()
{ xianshi(1);
if(d==0)
{xianshi(0);
d=1;
}
xianshi(2);
if(e==0)
{xianshi(0);
e=1;
}
xianshi(3);
if(f==0)
{ xianshi(0);
f=1;
}
xianshi(4);
if(e==0)
{ xianshi(0);
e=1;}
xianshi(5);
if(d==0)
{ xianshi(0);
d=1;}
xianshi(6);
if(c==0)
{
xianshi(0);
c=1;}
}
展开阅读全文