交通灯单片机课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南航科院
单片机课程设计
题目交通灯程序设计
系(部) 信息工程系
专业(班级) 电子信息工程
学号
指导教师
单片机原理及应用课程设计任务书系(部):专业:指导教师:
交通灯程序设计
摘要
本次单片机课程设计选择的题目是交通灯程序设计,主要是根据本学期所学的《单片机原理和接口技术》的知识,编写交通灯的控制程序,在WAVE6000集成调试软件上进行编译,并在Proteus 7 Professional软件上进行仿真,观看结果。在经过多次的调试和电路上的修改,实现了所需要的结果(达到了设计任务书上的要求)。主要涉及的容包括倒计时、中断等,使用芯片80C51进行程序控制。
关键词
AT89C51 LED显示交通灯
目录
1、交通灯程序 (5)
2、交通灯仿真电路 (8)
3、结论与心得 (9)
4、存在的不足及建议 (10)
参考文献 (10)
1、交通灯程序
#include
//#include
#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 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、交通灯仿真电路