红绿灯的html代码,简易红绿灯的仿真设计与单片机源代码(注释很详细)
//程序:ex5_3.c
//功能:交通灯控制程序
#include //包含头文件reg51.h,定义了51单片机的专用寄存器
unsigned char t0,t1; //定义全局变量,用来保存延时时间循环次数
//函数名:delay0_5s1
//函数功能:用T1的工作方式1编制0.5 s延时程序,假定系统采用12 MHz晶振,定
// 时器T1、工作方式1定时50 ms,再循环10次即可定时到0.5 s
//形式参数:无
//返回值:无
void delay0_5s1()
{
for(t0=0;t0<10;t0++) //采用全局变量t0作为循环控制变量
{
TH1=(65536-50000)/256; //设置定时器初值
TL1=(65536-50000)%256;
TR1=1; //启动T1
while(!TF1); //查询计数是否溢出,即50ms定时时间到,TF1=1
TF1=0; //50ms定时时间到,将定时器溢出标志位TF1清零
}
}
//函数名:delay_t1
//函数功能:实现0.5~128s延时
//形式参数:unsigned char t;
// 延时时间为0.5s×t
//返回值:无
void delay_t1(unsigned char t)
{
for(t1=0;t1
delay0_5s1();
}
//函数名:int_0
//函数功能:外部中断0中断函数,紧急情况处理,当CPU响应外部中断0的中断请求时,
// 自动执行该函数,实现两个方向红灯同时亮10 s
//形式参数:无
//返回值:无
void int_0() interrupt 0 //紧急情况中断
{
unsigned char i,j,k,l,m;
i=P1; //保护现场,暂存P1口、t0、t1、TH1、TL1
j=t0;
k=t1;
l=TH1;
m=TL1;
P1=0xdb; //两个方向都是红灯
delay_t1(20); //延时10 s
P1=i; //恢复现场,恢复进入中断前P1口、t0、t1、TH1、TL1
t0=j;
t1=k;
TH1=l;
TL1=m;
}
//函数名:int_1
//函数功能:外部中断1中断函数,特殊情况处理,当CPU响应外部中断1的中断请求时,
// 自动执行该函数,实现A道放行5 s
//形式参数:无
//返回值:无
void int_1() interrupt 2 //特殊情况中断
{
unsigned char i,j,k,l,m;
EA=0; //关中断
i=P1; //保护现场,暂存P1口、t0、t1、TH1、TL1
j=t0;
k=t1;
l=TH1;
m=TL1;
EA=1; //开中断
P1=0xf3; //A道放行
delay_t1(10); //延时5 s
EA=0; //关中断
P1=i; //恢复现场,恢复进入中断前P1口、t0、t1、TH1、TL1
t0=j;
t1=k;
TH1=l;
TL1=m;
EA=1; //开中断
}
void main() //主函数
{
unsigned char k;
TMOD=0x10; //T1设置为工作方式1
EA=1; //开总中断允许位
EX0=1; //开外部中断0中断允许位
IT0=1; //设置外部中断0为下降沿触发
EX1=1; //开外部中断1中断允许位
IT1=1; //设置外部中断1为下降沿触发
while(1){
P1=0xf3; //A绿灯,B红灯,延时55 s
delay_t1(20);
for(k=0;k<3;k++) //A绿灯闪烁3次
{P1=0xf3;
delay0_5s1(); //延时0.5 s
P1=0xfb;
delay0_5s1(); //延时0.5 s
}
P1=0xeb; //A黄灯,B红灯,延时2 s
delay_t1(4);
P1=0xde; //A红灯,B绿灯,延时55 s
delay_t1(110);
for(k=0;k<3;k++) //B绿灯闪烁3次
{P1=0xde;
delay0_5s1(); //延时0.5 s
P1=0xdf;
delay0_5s1(); //延时0.5 s
}
P1=0xdd; //A红灯,B黄灯,延时2 s
delay_t1(4);
}
}
红绿灯的html代码,简易红绿灯的仿真设计与单片机源代码(注释很详细)相关推荐
- 【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)
typora-root-url: ./ [毕业设计]28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文) 文章目录 typora-root-url: ./ ...
- 51单片机简易电阻测量仪仿真设计
51单片机简易电阻测量仪仿真设计( proteus仿真+程序+报告+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0037 51单 ...
- 基于STM32的简易电子秒表仿真设计(仿真+程序+设计报告+讲解)
基于STM32的简易电子秒表仿真设计(仿真+程序+设计报告+讲解) 视频演示 1.主要功能 2.仿真 3. 程序 4. 设计报告 5.资料清单&下载链接 仿真图proteus 8.9 程序编译 ...
- 【039】基于51单片机的简易门铃Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的简易门铃proteus仿真设计一份: (2).基于51单片机的简易门铃proteus仿真设计keli源代码一份: (3).基于51单片机的简易门铃prote ...
- 用html编写一个红绿灯,利用js实现简易红绿灯
HTML代码: 在一个div容器内,设置3个span CSS代码: .red_light { width: 200px; height: 200px; border-radius: 50%; marg ...
- 基于单片机串口远程多路温湿度采集仿真-基于单片机ADC0809八路电压采集系统设计-基于单片机16x32点阵多模式显示仿真设计-基于单片机餐厅呼叫控制系统仿真设计-基于STM32单片机的智能水杯设计
1220基于单片机ADC0809八路电压采集系统设计-毕设课设资料 数码管显示,测量八路电压表. #define addo (5.0/255.0) #define zero 0.005 //用于校准A ...
- 粒子群算法matlab代码(注释很详细哦,图像也美美哒,任意维度)
2022.07.09更新: 更简洁的实现请点击这里 原博文: 答疑: 我把答疑放在最前面了.很多小伙伴真的是零基础,既不懂matlab也不懂粒子群算法.因此我把最常问我的问题总结一下. Q1:为什么我 ...
- 洗衣机程序c语言代码大全,全自动洗衣机控制器设计的单片机代码
#include //****************************// #define uchar unsigned char #define uint unsigned int //** ...
- 基于51单片机的简易电容值测量仪proteus仿真设计
51单片机简易电感测量仪仿真设计( proteus仿真+程序+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0039 51单片机简 ...
最新文章
- java泛型程序设计——类型变量限定 + 泛型代码和虚拟机
- Redis Client Lettuce 5 GA发布
- v$session v$session_wait
- CSS可以实现可视化设计吗?要如何实现?
- 【集合】JDK 7 HashMap集合的ConcurrentModificationException 原因
- Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化
- RandomAccessFile 随机存取文件任意位置数据
- matlab gabor 滤波器
- CentOS 6.5编译安装MySQL5.7.7rc
- Camshift算法(1)
- 青海师大有没有计算机系,计算机专业选择:北交、重邮实力强劲,青海师大性价比不错...
- 2023中国矿业大学计算机考研信息汇总
- java连连看实验报告_连连看实验报告
- Winform四边阴影
- 基于Simulink宽带单基地雷达系统仿真(附源码)
- Android设备设置Apn相关
- 电流镜电流--第10学时
- mindmanager for mac V2021.13中文版思维导图软件
- 红米note11tpro和红米note11tpro+有哪些区别
- 怎么可以在电脑上录屏