当前位置: 首页 > 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://www.yutouwan.com/news/150054/

相关文章:

  • netcore网站开发实战dedecms两网站共享用户名
  • 做网站时链接的网页无法显示无货源一件代发平台
  • 做网站的企业排名外贸大型门户网站制作
  • 网站的特点网站建设设计文档模板下载
  • 十堰响应式网站百度推广代理商
  • 网站开发公司照片织梦模板使用教程
  • 北京网站建设模板建筑网官方网站查询
  • 天津营销型网站建设公司网站转化率是什么意思
  • 辽宁省建设工程招标协会网站做外贸的网站要多少钱
  • 企业网站素材图片网站建设如何开单
  • 网站的图片大小泰安中文网站建设电话
  • 博学网站建设公司网站建设必须要服务器吗
  • 网站留言系统 提交没反应建筑学院官网
  • 邢台公司网站设计德阳建设厅官方网站
  • 互联网建站公司有哪些游戏排行榜页游
  • 做网站l价格响应式布局网站尺寸
  • 众筹网站搭建游戏介绍网站模板下载
  • 医药类网站怎么做seo做网站 网站违法吗
  • 自己做物流网站做外贸 网站
  • 公司网站推广.net 企业网站 模版
  • 北京优化网站公司已备案域名30元
  • wordpress建站软件织梦网站导航固定
  • php网站漂浮广告代码东莞电商网站建设
  • 给家乡做网站做剧情游戏的网站
  • 九一人才网招聘网官方网站wordpress添加验证码
  • 网站建设论文答辩婚纱摄影网站的设计
  • 绿植租摆网站建设外贸网站和内贸
  • 网站背景素材wordpress主题加速插件
  • 网站设计要先做图么苏州园区限电
  • 网站模板如何使用 如何修改吗Checkout v1.4.1 WordPress主题