




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于51单片机的交通灯C语言程序设计2011-05-07 07:57十字交叉路口的交通灯控制器,是很常见的课程设计题目。做而论道以前写过一个,功能十分简单。最近,综合了一些百度知道中的题目要求,写出了一个稍稍复杂一点设计方案,使用了大家比较喜欢的C语言编写程序。基本功能如下:(1)东西、南北方向各设有一个绿、黄、红指示灯,两个显示数码管。(2)两个方向交替允许通行,基本放行时间为25s,另外有黄灯闪烁5s。(3)控制人员可以暂停自动的交替,使某个方向可以无限长时间的通行。(4)暂停期间,控制人员可以调整通行的时间,程序中还设置了调整的上下限。(5)暂停之后,灯光将按照设置的通行时间自动变换通行方向。(6)在正常通行期间,可以强制变换通行方向。强制变换的时候,也是要先显示闪烁的黄灯,然后切换到指定的方向。程序用PROTEUS仿真成功,并没有进行硬件实验。仿真截图画面如下。C语言的控制程序如下:/-#include #define uchar unsigned char#define uint unsigned intuchar data buf4;uchar data sec_dx=30;/东西数默认uchar data sec_nb=30;/南北默认值uchar data set_timedx=30;uchar data set_timenb=30;int n;uchar data b;/定时器中断次数sbit k1=P16;/定义5组开关sbit k2=P17;sbit k3=P27;sbit k4=P30;sbit k5=P31;sbit Yellow_nb=P25;/南北黄灯标志sbit Yellow_dx=P22;/东西黄灯标志sbit Green_nb=P24;sbit Green_dx=P21;sbit Red_nb=P26;sbit Red_dx=P23;sbit Buzz=P37;bit Buzzer_Indicate;bit time=0;/灯状态循环标志bit set=1;/调时方向切换键标志uchar code table10= /共阴极字型码0x3f, /-00x06, /-1?0x5b, /-2?0x4f, /-30x66, /-4?0x6d, /-50x7d, /-60x07, /-7?0x7f, /-80x6f, /-9/0x00 /-NULL;/函数的声明部分void delay(int ms);/延时子程序void key();/按键扫描子程序void key_to1();/键处理子程序void key_to2();void key_to3();void display();/显示子程序void logo(); /开机LOGOvoid Buzzer();/主程序void main()TMOD=0X01;TH0=0XD8;TL0=0XF0;EA=1;ET0=1;TR0=1; EX0=1;EX1=1; logo();P2=0Xc3;/ 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5; while(1) key(); /调用按键扫描程序display(); /调用显示程序Buzzer();/函数的定义部分void key()/按键扫描子程序 if(k1!=1)delay(10);if(k1!=1)while(k1!=1) key_to1(); for(n=0;n40;n+) display(); if(k2!=1)delay(10);if(k2!=1)while(k2!=1) key_to2(); for(n=0;n40;n+) display();if(k3!=1) TR0=1; /启动定时器Buzzer_Indicate=0;sec_nb=set_timenb;/从中断回复,仍显示设置过的数值sec_dx=set_timedx;if(time=0) P2=0X99;sec_nb=sec_dx+5; else P2=0xC3;sec_dx=sec_nb+5; if(k4!=1) delay(10);if(k4!=1) while(k4!=1);set=!set; if(k5!=1) delay(10); if(k5!=1) while(k5!=1) key_to3(); void display() /显示子程序buf1=sec_dx/10; /第1位 东西秒十位buf2=sec_dx%10; /第2位 东西秒个位buf3=sec_nb/10; /第3位 南北秒十位buf0=sec_nb%10; /第4位 南北秒个位 P1=0xff; / 初始灯为灭的 P0=0x00; P1=0xfe; /片选LCD1 P0=tablebuf1; delay(1); P1=0xff; P0=0x00; P1=0xfd; /片选LCD2 P0=tablebuf2; delay(1); P1=0xff; P0=0x00; P1=0Xfb; /片选LCD3P0=tablebuf3; delay(1);P1=0xff; P0=0x00;P1=0Xf7;P0=tablebuf0; /片选LCD4 delay(1);void time0(void) interrupt 1 using 1 /定时中断子程序b+;if(b=19) / 定时器中断次数b=0;sec_dx-;sec_nb-;if(sec_nb=5&time=0) /东西黄灯闪 Green_nb=0 ;Yellow_nb=!Yellow_nb; if(sec_dx=5&time=1) /南北黄灯闪 Green_dx=0 ;Yellow_dx=!Yellow_dx; if(sec_dx=0&sec_nb=5) sec_dx=5;if(sec_nb=0&sec_dx=5)sec_nb=5;if(time=0&sec_nb=0) P2=0x99;time=!time;sec_nb=set_timenb;sec_dx=set_timenb+5;if(time=1&sec_dx=0)P2=0Xc3;time=!time;sec_dx=set_timedx;sec_nb=set_timedx+5;void key_to1()/键盘处理子程序之+TR0=0; /关定时器if(set=0)set_timenb+; /南北加1Selseset_timedx+; /东西加1Sif(set_timenb=100)set_timenb=1;if(set_timedx=100)set_timedx=1; /加到100置1sec_nb=set_timenb ; /设置的数值赋给东西南北sec_dx=set_timedx;void key_to2() /键盘处理子程序之-TR0=0; /关定时器if(set=0)set_timenb-; /南北减1Selseset_timedx-; /东西减1Sif(set_timenb=0)set_timenb=99;if(set_timedx=0 )set_timedx=99; /减到1重置99sec_nb=set_timenb; /设置的数值赋给东西南北sec_dx=set_timedx;void key_to3() /键盘处理之紧急车通行 TR0=0; P2=0Xc9; sec_dx=00; sec_nb=00; Buzzer_Indicate=1;void int0(void) interrupt 0 using 1 /只允许东西通行TR0=0;P2=0Xc3;Buzzer_Indicate=0;sec_dx=00;sec_nb=00;void int1(void) interrupt 2 using 1 /只允许南北通行 TR0=0;P2=0X99;Buzzer_Indicate=0;sec_nb=00;sec_dx=00;void logo()/开机的Logo - - - - for(n=0;n50;n+) P0=0x40; P1=0xfe;delay(1); P1=0xfd;dela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场开发策划管理制度
- 冶炼企业设备管理制度
- 北京十一学校管理制度
- 公司影像展馆管理制度
- 公司贴现方案模板(3篇)
- 学校安全预警管理制度
- DB62T 4469-2021 西瓜品种 金城9号
- DB6529T 0006-2025 春播油葵高产栽培技术规程
- DB62T 4293-2021 商贸物流配送服务规范
- 街区路灯改造方案(3篇)
- 安徽省合肥八中2025届高三最后一卷历史试题及答案
- 2025年四川省成都市初中学业水平考试生物试题(无答案)
- 计算机系统的故障与维护技巧试题及答案
- 领养猫合同协议书范本
- 2025年地理信息系统与应用考试试题及答案
- 2025国家开放大学电大【信息管理概论】形考12答案 及 一体化终结性测试答案
- 河南省烟草专卖局(公司)笔试试题2024
- 四川省绵阳市名校联盟2025届八年级物理第二学期期末复习检测试题含解析
- 2025-2030中国烘焙食品行业市场发展分析与发展趋势及投资风险研究报告
- 《无脊椎动物的演化》课件
- 建筑施工资料员培训课件:提升工程档案管理技能
评论
0/150
提交评论