资源简介
在Proteus中,用单片机模拟红绿灯,并在数码管上显示相应的时间,红灯亮之前黄灯闪烁,用的是Proteus7.4版本

代码片段和文件信息
#include
bit redgreenyellowturnred;
code unsigned char tab[]=
{0xc00xf90xa40xb00x990x920x820xf80x800x90};
//共阴数码管 0-9
unsigned char Dis_Shiwei;//定义十位
unsigned char Dis_Gewei; //定义个位
void delay(unsigned int z)
{
unsigned int xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main()
{
TMOD |=0x01;//定时器设置 10ms in 12M crystal
TH0=0xd8;
TL0=0xf0;
IE= 0x82; //打开中断
TR0=1;
P2=0xff;
P1=0x3f;
green=1;
while(1)
{
P2=0xff;
P2=Dis_Shiwei;//显示十位
P3=0;
P3=1;
delay(250);//短暂延时
P2=0xff;
P2=Dis_Gewei; //显示个位
P3=0;
P3=2;
delay(250);
}
}
/********************************/
/* 定时中断 */
/********************************/
void tim(void) interrupt 1 using 1
{
static unsigned char second=30count;
TH0=0xd8;//重新赋值
TL0=0xf0;
count++;
if (count==100)
{
count=0;
if(second==3&&yellow==1)
{
P1=0xf3;
}
second--;//秒减1
if(second==2&&yellow==1)
{
P1=0xff;
}
if(second==1&&yellow==1)
{
P1=0xf3;
}
if(second==0)
{
if(green)
{
green=0;yellow=1;
second=3;
P1=0xF3;//黄灯亮3秒
}
else if(yellow)
{
yellow=0;red=1;
second=20;
P1=0xCF;//红灯亮20秒
}
else if(red)
{
red=0;
second=20;
green=1;
P1=0x3f;
}
}
Dis_Shiwei=tab[second/10];//十位显示值处理
Dis_Gewei=tab[second%10]; //个位显示处理
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 154256 2010-07-21 15:08 赵永刚\123.DSN
文件 768 2010-07-21 19:21 赵永刚\123.PWI
文件 3985 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯
文件 1576 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯.c
文件 1200 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯.hex
文件 4085 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯.LST
文件 6799 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯.M51
文件 4473 2010-07-21 19:26 赵永刚\37-红绿灯\红绿灯.OBJ
文件 1105 2010-07-21 22:57 赵永刚\37-红绿灯\红绿灯.Opt
文件 190 2010-07-21 22:57 赵永刚\37-红绿灯\红绿灯.plg
文件 1985 2010-07-20 20:06 赵永刚\37-红绿灯\红绿灯.Uv2
....... 1107 2010-07-21 19:27 赵永刚\37-红绿灯\红绿灯_Opt.Bak
文件 2104 2010-07-20 20:06 赵永刚\37-红绿灯\红绿灯_Uv2.Bak
文件 154256 2010-07-21 13:04 赵永刚\Last Loaded 123.DBK
目录 0 2010-07-21 22:57 赵永刚\37-红绿灯
目录 0 2010-07-22 10:24 赵永刚
----------- --------- ---------- ----- ----
337889 16
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- proteus仿真 AT89C51输出各种波形
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
评论
共有 条评论