MC-51单片机红绿灯+数码管计时实验
//主机板的P1接口 平接 显示板P00接口 即数码管段选接口
//主机板的P3接口 平接 显示板P20接口 即数码管位选接口
//主机板的P0接口 平接 显示板灯的接口
#include
unsigned char time[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int n = 2000;//每半秒中断一次
bit change=1;
bit Shan=1;//闪
//定义显示管为位选特殊位
sbit A=P3^7;
sbit B1=P3^6;
sbit C=P3^5;
sbit G1=P3^4;
sbit daul = P3^3;
ZY();//左右通行
SX();//上下通行
ZYS();//左右绿灯闪
SXS();//上下绿灯闪
lock();
delay();
//一下定义使灯亮的特殊位
sbit ZL=P0^0;
sbit ZH=P0^1;
sbit SH=P0^2;
sbit SL=P0^3;
sbit YH=P0^4;
sbit YL=P0^5;
sbit XH=P0^6;
sbit XL=P0^7;
//
unsigned char rl=70;
unsigned char ud=45;
unsigned int working=0;//
unsigned char num;
main()
{
TMOD=2;//设置定时/计数器0工作方式2
working = rl*2;
//
}
//中断程序
T0_int() interrupt 1{
}
ZY(){//左右绿灯亮,上下红灯亮
YL=0;//右绿
ZL=0;//左绿
SH=0;//上红
XH=0;//下红
//
ZH=1;
YH=1;
SL=1;
XL=1;
}
SX(){//上下绿灯亮,左右红灯亮
YL=1;//
ZL=1;
SH=1;
XH=1;
//
ZH=0;
YH=0;
SL=0;
XL=0;
}
ZYS(){//左右绿灯闪烁
YL=1;
ZL=1;
SH=0;
XH=0;
//
ZH=1;
YH=1;
SL=1;
XL=1;
}
SXS(){//上下绿灯闪烁
YL=1;//
ZL=1;
SH=1;
XH=1;
//
ZH=0;
YH=0;
SL=1;
XL=1;
}
lock(){
daul=0;
G1=0;
}
delay(){
int i=40;
while(i>0){
i--;
}
}
MC-51单片机红绿灯数码 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)