已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计与编辑:湖南信息职院 信息工程 XXX编辑道路交通灯单片机程序设计思路:东西直行和左转同控制、南北直行和左转通控制。人行东西同控制、南北通控制,共4组LED灯组成整个交通灯仿真电路(真实的情况是8组)。仿真电路图没有最小系统,实际的电路请添加最小系统!人行则对面的车辆禁止直行和左转,车辆左转则禁止同组的直行和对面车辆的左转和直行,车辆直行则禁止同组的左转和对面车辆的左转和直行。使用74HC164控制12个LED交通指示灯用中断服务减少误差等。这里数码管区分了东西和南北方向的电路仿真图:C程序:#include #define uchar unsigned char#define uint unsigned intsbit DAT = P17;/模拟串口数据发送端 * 控制车辆交通灯sbit CLK = P16;/模拟时钟控制端sbit DAT1 = P15;/模拟串口数据发送端 * 控制人行交通灯sbit CLK1 = P14;/模拟时钟控制端sbit S1 = P30; /繁忙模式sbit S2 = P31;/特殊模式/*东西交通倒计时显示数码管选通位*/sbit K1 = P10;sbit K2 = P11;/*南北交通倒计时显示数码管选通位*/sbit K3 = P12;sbit K4 = P13;/* - * led_mode表示通行的方向, * time0_count表示定时器0的计数 * time_second表示中断的时间 * time1_count表示定时器1的计数 * left_mode表示左转的开关 * second表示通行的时间 * left_second表示左转通行时间 * -*/uint led_mode,time0_count,time_second,time1_count,left_mode,second = 60,left_second = 20;/*七段数码管显示0-9*/uchar code SEGNUM=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/*延时函数*/void delay(uint s)uint ms;for(;s0;s-)for(ms=0;ms256;ms+);/*车辆指示灯数据传输服务*/void SendByteCar(uchar byte)uchar i;for(i=0;i= 1;/*人行指示灯数据传输服务*/void SendBytePerson(uchar byte)uchar i;for(i=0;i= 1;/*东西数码管显示*/void DisplayEW_SEG(uint seg)K1 = 1;P0 = SEGNUMseg/10;delay(10);K1 = 0;P0 = 0xff;K2 = 1;P0 = SEGNUMseg%10;delay(10);K2 = 0;P0 = 0xff;/*南北数码管显示*/void DisplaySN_SEG(uint seg)K3 = 1;P2 = SEGNUMseg/10;delay(10);K3 = 0;P2 = 0xff;K4 = 1;P2 = SEGNUMseg%10;delay(10);K4 = 0;P2 = 0xff;/*LED交通指示灯显示*/void Mode_LED()if(led_mode = 1)/DisplayEW_SEG(9);if(left_mode = 1)/南北左拐,东西、南北人行红灯,SendByteCar(0xd3);SendBytePerson(0xaf);else/南北直行、南北左转红灯、东西左转直行红灯、东西人行绿灯SendByteCar(0xdb);SendBytePerson(0x6f);if(led_mode = 2)/南北黄灯、东西红灯,东西、南北人行红灯SendByteCar(0xd2);SendBytePerson(0xaf);if(led_mode = 3)if(left_mode = 1)/东西左拐,东西、南北人行红灯,SendByteCar(0x3d);SendBytePerson(0xaf);else/东西直行、东西左转红灯、南北左转直行红灯、南北人行绿灯SendByteCar(0xbd);SendBytePerson(0x9f);if(led_mode = 4) /东西黄灯、南北红灯SendByteCar(0x2d);SendBytePerson(0xaf);void main()EA = 1; /*总开关*/ET0 = 1;/*定时器开关*/ET1 = 1;TMOD = 0x11; /*工作方式*/TH0 = (65536 - 50000) / 256; /*高低8位寄存器初始化*/TL0 = (65536 - 50000) % 256;TH1 = (65536 - 50000) / 256;TL1 = (65536 - 50000) % 256;EX0 = 1; /*外部中断*/EX1 = 1;IT0 = 0; /*矩阵开关为下降沿触发*/IT1 = 1; /*还有这一个为上升沿触发,其实只用一个外部中断就够了*/led_mode = 1;/*初始化数据*/TR0 = 1;P3 = 0xfc;P1 = 0x00;TR0 = 1;TR1 = 1;Mode_LED();while(1)DisplayEW_SEG(second - time_second);DisplaySN_SEG(second - time_second);/*指示灯显示的模式切换*/void time0(void) interrupt 1 using 1time0_count+;if(time0_count = 20)time_second+;if(time_second = (second - left_second)left_mode = 1;/开启左转if(time_second = (second - 5)led_mode+; /亮黄灯if(time_second = second)led_mode+;if(led_mode = 5)led_mode = 1;left_mode = 0;/灭黄灯time_second = 0;time0_count = 0;TH0 = (65536 - 50000) / 256;TL0 = (65536 - 50000) % 256;/*交通指示灯*减少误差时间*/void time1(void) interrupt 3 using 3time1_count+;if(time1_count = 20)Mode_LED();time1_count = 0;TH1 = (65536 - 50000) / 256;TL1 = (65536 - 50000) % 256;void int0(void) interrupt 0 using 0P3 = 0xfb;if(S1 = 0)/繁忙模式se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沙漠变绿洲的方案
- 2025浙江杭州市人才集团有限公司招聘16人考前自测高频考点模拟试题附答案
- 厨师职业性烫伤的愈合促进方案
- 2026年二级建造师之二建水利水电实务考试题库300道附答案(夺分金卷)
- 2026年投资项目管理师之宏观经济政策考试题库300道附答案【培优a卷】
- 2025江西景德镇陶瓷大学管理助理、教学助理、科研助理岗位招聘22人参考题库附答案
- 2025江西吉安市政府经济发展研究中心遴选工作人员3人备考题库附答案
- 2025湖北宜昌市部分县市区面向服务期满且考核合格“三支一扶”人员专项招聘事业单位工作人员23人备考题库附答案
- 2025辽宁沈阳盛京资产管理集团有限公司所属子公司沈阳盛京大笔试备考试题附答案
- 2026年一级注册建筑师之建筑结构考试题库300道附完整答案【各地真题】
- resform地质研究工作室使用指南
- 2023年中信证券投资银行管理委员会实习生招聘笔试参考题库附带答案详解
- 矿山压力与岩层控制智慧树知到答案章节测试2023年湖南科技大学
- 机加工车间主任年终总结3篇
- 七年级数学竞赛模拟试题北师大版
- GB/T 4937.3-2012半导体器件机械和气候试验方法第3部分:外部目检
- 发光材料与器件基础
- 玉米高产栽培技术课件
- 2万吨年硫酸法钛白黑段设计
- 社区护理学社区儿童与青少某年健康保健与护理优选课件
- 合理选择静脉输液工具-课件
评论
0/150
提交评论