当前位置: 首页 > news >正文

网站说服力 营销...ps做网页

网站说服力 营销...,ps做网页,唐山哪里做网站,保险平台官网基于51单片机十字路口交通灯_5s黄灯闪烁 #xff08;程序仿真仿真视频#xff09; 仿真#xff1a;proteus 7.8 程序编译器#xff1a;keil 4/keil 5 编程语言#xff1a;C语言 设计编号#xff1a;J006 功能要求 交通灯运行状态#xff1a; #xff08;1…基于51单片机十字路口交通灯_5s黄灯闪烁 程序仿真仿真视频 仿真proteus 7.8 程序编译器keil 4/keil 5 编程语言C语言 设计编号J006 功能要求 交通灯运行状态 1模式1东西向红灯与南北向绿灯亮5s 2模式2南北向绿灯灭黄灯闪烁5s5次 3模式3东西向绿灯与南北向红灯各5s 4模式4东西向绿灯灭黄灯闪烁5s5次 5具体秒数可在程序改数字实现。 仿真图 南北通行 东西通行 程序 主要程序代码 #includereg52.h #includeintrins.h//数据类型定义 typedef unsigned char uchar; typedef unsigned int uint;void led_sacn(); void delay_ms(ms); void seg_disp(uchar number,uchar wei);#define ON 1 //LED给告电平亮灯 #define OFF 0 //LED给低电平灭灯//通用IO引脚分配 sbit W0P3^4; sbit W1P3^5; sbit W2P3^6; sbit W3P3^7;sbit NS_G P2^0; sbit NS_Y P2^1; sbit NS_R P2^2; sbit WE_R P2^3; sbit WE_Y P2^4; sbit WE_G P2^5;bit flag1s; bit half_1sflag; uchar one_sec_flag,main_road_time,secondary_road_time,half_sec_flag; //1秒定时标志位 南北方向显示时间 东西方向显示时间 uchar state0;//正常模式不同状态 uchar code seg_du[]{0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};uchar main_green_straight_cnt5,yellow_cnt 5,2sec_green_straight_cnt 5; //南北方向直行绿灯时间 _黄灯时间 _东西方向绿灯时间void main() {EA1; //开总中断TMOD0X01;//T0的工作模式为模式1TH00X4C;TL00X00;//11.0592M晶振 50ms定时初值ET01; //允许定时器1中断TR01;//启动定时器0 // state2; while(1){ led_sacn(); //LED和数码管显示时刻刷新if(flag1s) //一秒刷新一次{flag1s0;main_road_time--; //红绿灯倒计时时间减secondary_road_time--;}if (half_1sflag){half_1sflag 0;if(state 0){//黄灯闪烁WE_Y ~WE_Y;}else if(state 2){NS_Y ~NS_Y;}}} }void led_sacn() {if(main_road_time0 || secondary_road_time0)//当南北方向或者东西方向倒数到0切换状态。//这一段程序只有倒计时为0才执行一次执行完一次等下一次倒计时为0才再执行一次{switch(state)//改变红绿灯的状态{case 0:{state1;//下次切换到下一个模式main_road_timemain_green_straight_cntyellow_cnt;//南北方向直行绿灯通行时间secondary_road_timesec_green_straight_cnt;//东西方向红灯时间NS_G ON;NS_Y OFF;NS_R OFF;WE_R ON;WE_Y OFF;WE_G OFF;}break;case 1:{state2; // main_road_time yellow_cnt;//南北方向直行黄灯时间secondary_road_time yellow_cnt;NS_G OFF;NS_Y ON;NS_R OFF;WE_R ON;WE_Y OFF;WE_G OFF; }break;case 2:{state3;main_road_timesec_green_straight_cnt;secondary_road_timesec_green_straight_cntyellow_cnt;NS_G OFF;NS_Y OFF;NS_R ON;WE_R OFF;WE_Y OFF;WE_G ON;}break;case 3:{state0; // secondary_road_timeyellow_cnt;//黄灯时间main_road_timeyellow_cnt;NS_G OFF;NS_Y OFF;NS_R ON;WE_R OFF;WE_Y ON;WE_G OFF;}break;default:break;}}seg_disp(main_road_time/10,0);//显示W0控制的数码管 时刻刷新seg_disp(main_road_time%10,1);//显示W1控制的数码管seg_disp(secondary_road_time/10,2);//显示W2控制的数码管seg_disp(secondary_road_time%10,3);//显示W3控制的数码管}void seg_disp(uchar number,uchar wei) //数码管动态显示程序 wei代表数码管W0 W1 W2 W3的位选 {P00XFF;//清零防止重影if(wei 0){//显示第一位W00;W11;W21;W31; P0seg_du[number];delay_ms(2);W01;}if(wei 1){//显示第二位W01;W10;W21;W31; P0seg_du[number];delay_ms(2);W11;}if(wei 2){//显示第三位W01;W11;W20;W31; P0seg_du[number];delay_ms(2);W21;}if(wei 3){//显示第四位W01;W11;W21;W30; P0seg_du[number];delay_ms(2);W31;} }程序讲解 主要的核心点是倒计时主干道直行绿灯时间黄灯时间次干道红灯时间 在次干道红灯的过程中主干道完成了绿灯倒计时黄灯倒计时两个步骤。 倒计时的产生 记住这个点就可以设计软件了。首先要有时间基础倒计时从哪来呢 一般两个来源 1延时 delay(1000ms);通过死循环卡主软件的运行来达到延时效果程序执行效率极低不可取。 2定时 通过定时器产生时基。软件设置50ms产生一次定时中断在中断执行函数中做计数。 EA1; //开总中断TMOD0X01;//T0的工作模式为模式1TH00X4C;TL00X00;//11.0592M晶振 50ms定时初值ET01; //允许定时器1中断TR01;//启动定时器0 50ms执行一次中断函数通过one_sec_flag累加到20判断时间过去了一秒。设置一秒标志位flag1s置一。 void Timer0() interrupt 1 {TH00X4C;TL00X00;//11.0592M晶振 50ms定时初值if(half_sec_flag10){half_1sflag 1;half_sec_flag 0;}if(one_sec_flag20){return;//提前结束函数}one_sec_flag0;flag1s1; }在主函数while循环里判断标志位如果是1则倒计时计数值减一即完成了倒计时的软件设计思路 if(flag1s) //一秒刷新一次{flag1s0;main_road_time--; //红绿灯倒计时时间减secondary_road_time--;}红黄绿灯状态处理 交通灯状态实际上分为四个状态 1.主干道绿灯通行次干道红灯 2.主干道黄灯通行次干道红灯 3.主干道红灯次干道绿灯通行 4.主干道红灯次干道黄灯通行 做一个状态机设置四个状态在四个状态的变化中设置红绿黄灯的亮和灭实现基础交通灯运行逻辑 if(main_road_time0 || secondary_road_time0)//当南北方向或者东西方向倒数到0切换状态。//这一段程序只有倒计时为0才执行一次执行完一次等下一次倒计时为0才再执行一次{switch(state)//改变红绿灯的状态{case 0:{state1;//下次切换到下一个模式main_road_timemain_green_straight_cntyellow_cnt;//南北方向直行绿灯通行时间secondary_road_timesec_green_straight_cnt;//东西方向红灯时间NS_G ON;NS_Y OFF;NS_R OFF;WE_R ON;WE_Y OFF;WE_G OFF;}break;case 1:{state2; // main_road_time yellow_cnt;//南北方向直行黄灯时间secondary_road_time yellow_cnt;NS_G OFF;NS_Y ON;NS_R OFF;WE_R ON;WE_Y OFF;WE_G OFF; }break;case 2:{state3;main_road_timesec_green_straight_cnt;secondary_road_timesec_green_straight_cntyellow_cnt;NS_G OFF;NS_Y OFF;NS_R ON;WE_R OFF;WE_Y OFF;WE_G ON;}break;case 3:{state0; // secondary_road_timeyellow_cnt;//黄灯时间main_road_timeyellow_cnt;NS_G OFF;NS_Y OFF;NS_R ON;WE_R OFF;WE_Y ON;WE_G OFF;}break;default:break;}}seg_disp(main_road_time/10,0);//显示W0控制的数码管 时刻刷新seg_disp(main_road_time%10,1);//显示W1控制的数码管seg_disp(secondary_road_time/10,2);//显示W2控制的数码管seg_disp(secondary_road_time%10,3);//显示W3控制的数码管 倒计时显示处理 实际上倒计时显示就是显示main_road_time–; secondary_road_time–;设计函数通过数码管分别显示主干道的main_road_time和次干道的secondary_road_time即可 seg_disp(main_road_time/10,0);//显示W0控制的数码管seg_disp(main_road_time%10,1);//显示W1控制的数码管seg_disp(secondary_road_time/10,2);//显示W2控制的数码管seg_disp(secondary_road_time%10,3);//显示W3控制的数码管资料清单 资料下载链接
http://wiki.neutronadmin.com/news/150054/

相关文章:

  • 织梦网站打不开软件推广平台
  • 云南做网站的公司有哪些做网站的心得
  • 网站的设计思路怎么写中装建设股票行情
  • 龙岗区住房和建设局在线网站公司网站运营方案策划
  • 搭建模板seo营销名词解释
  • 网站开发工具排行江西省建设厅教育网站
  • 新浪做网站库存管理系统软件
  • 系统网站怎么做的检测网站是否正常
  • 建一个收费网站 怎么收费成都今晚全部解封
  • 模板网站有哪几类公众号登录超时
  • 大型网站开发用的技术装修平台app
  • 学校网站php源码微信公众平台应用开发
  • 学校网站怎么做优化河南搜索引擎推广公司
  • 最好网站建设WordPress的数据库在哪
  • 营销推广费计入什么科目谷歌排名网站优化
  • 找网站建设需要问什么软件国外有哪些优秀的网站
  • 网站建设中企动力最佳a5公司备案查询网站
  • 网页设计做军事网站的感想南京电子商务网站开发公司
  • 和平东路网站建设施工队找工程
  • 网站单个页面紧张搜索引擎蜘蛛oa手机端
  • 做公司子网站的请示报告常州地区网页制作公司
  • 手机网站怎么优化关键词网站咋做
  • 网站自己做还是用程序四川学校网站建设公
  • 织梦网站怎样做百度主动推送网站建设知识文章
  • 上市公司网站建设评价佛山做外贸网站案例
  • 网站开发存在的问题备案ip 查询网站查询网站查询系统
  • 贵阳国家经济技术开发区门户网站深圳产品设计培训机构
  • 网站建设kaodezhuandroid官网入口
  • 报名网站怎么做猎聘网招聘官方网站
  • 服装工厂做网站的好处网页设计与网站建设期末考试试卷