交通灯单片机课程设计报告

  • 格式:doc
  • 大小:89.00 KB
  • 文档页数:10

南航科院
单片机课程设计
题目交通灯程序设计
系(部) 信息工程系
专业(班级) 电子信息工程
学号
指导教师
单片机原理及应用课程设计任务书系(部):专业:指导教师:
交通灯程序设计
摘要
本次单片机课程设计选择的题目是交通灯程序设计,主要是根据本学期所学的《单片机原理和接口技术》的知识,编写交通灯的控制程序,在WAVE6000集成调试软件上进行编译,并在Proteus 7 Professional软件上进行仿真,观看结果。

在经过多次的调试和电路上的修改,实现了所需要的结果(达到了设计任务书上的要求)。

主要涉及的容包括倒计时、中断等,使用芯片80C51进行程序控制。

关键词
AT89C51 LED显示交通灯
目录
1、交通灯程序 (5)
2、交通灯仿真电路 (8)
3、结论与心得 (9)
4、存在的不足及建议 (10)
参考文献 (10)
1、交通灯程序
#include <reg51.h>
//#include <stdio.h> //??
#define uchar unsigned char
#define uint unsigned int
uchar h;
uint r=0;
uint s;
uchar code dis[]={ 0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90,0Xff}; void delay(uint c)
{
uint i,j;
for(i=0;i<c;i++)
for(j=0;j<100;j++);
}
//interrupt 1
void t0(void) interrupt 0 using 1
{
delay(2);
if(INT0==0)
{
P1=0xdb;
P0=0xff;
}
for(h=15;h>0;h--)
{
for(s=248;s>0;s--)
{
P0=0xff;
P2=0x01;
P0=dis[h/10];
delay(1);
P0=0xff;
P2=0x02;
P0=dis[h%10];
delay(1);
P0=0xff;
P2=0x04;
P0=dis[h/10];
delay(1);
P2=0x00;
P0=0xff;
P2=0x08;
P0=dis[h%10];
delay(1);
}
}
}
void main(void)
{
EA=1;
EX0=1;
while(1)
{
P1=0xeb;
for(h=15;h>0;h--)
{
for(s=248;s>0;s--) { if(h<=3)
P1=0xfb;
if(s<=124)
P1=0xeb;
P0=0xff;
P2=0x01;
P0=dis[h/10];
delay(1);
P0=0xff;
P2=0x02;
P0=dis[h%10];
delay(1);
P0=0xff;
P2=0x04;
P0=dis[(h+3)/10];
delay(1);
P2=0x00;
P0=0xff;
P2=0x08;
P0=dis[(h+3)%10];
delay(1);
}
}
P1=0xf3;
for(h=3;h>0;h--)
{ delay(120);
P0=0xff;
P2=0x0a;
P0=dis[h%10];
delay(900);
}
delay(248);
P1=0xdd;
for(h=10;h>0;h--)
{
for(s=248;s>0;s--) {
if(h<=3)
P1=0xdf;
if(s<=124)
P1=0xdd;
P0=0xff;
P2=0x01;
P0=dis[(h+3)/10];
delay(1);
P0=0xff;
P2=0x02;
P0=dis[(h+3)%10];
delay(1);
P0=0xff;
P2=0x04;
P0=dis[h/10];
delay(1);
P0=0xff;
P2=0x08;
P0=dis[h%10];
delay(1);
}
}
P1=0xde;
for(h=3;h>0;h--) {
delay(120);
P0=0xff;
P2=0x0a;
P0=dis[h%10]; delay(900); }
delay(248);
}
}
2、交通灯仿真电路
3、结论与心得
本次单片机程设计收获颇丰,不仅对于WAVE6000集成调试软件和Proteus 7 Professional软件有了进一步的熟悉,使用WAVE6000集成调试软件进行了C语言的程序编写与编译,也再次的复习了本学期所学的知识。

本学期学习了《单片机原理与接口技术》这门功课,主要学习了使用汇编语言进行编写程序,利用单片机实现其功能。

这次的课程设计,根据所学知识,包括LED的显示、倒计数器、中断等,进行交通灯程序的设计,对于软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,也对单片机的使用有了更深刻的了解。

遗憾的是
没有作出实物,只是在Proteus 7 Professional软件进行仿真,看到了所编程序所实现的功能,完全达到了课程设计的要求。

也通过这次的课程设计,对使用C语言进行程序编写,在AT89C51上实现功能,有了更多的了解与认识,也因为学习过C语言,所以很快就摸清了门路。

整个设计过程很顺利。

通过这次的课程设计,对《单片机原理与接口技术》所学的知识有了更进一步的了解,也看到单片机的优点。

收获颇丰。

4、存在的不足及建议
由于实验室机器的落后,电脑的病毒太多,导致多次劳动的成功打了水漂。

实验室电脑不能连网,交流不便。

参考文献
曾屹.单片机原理与应用[M].:中南大学,2009年.。