久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
簡易交通燈[c語言+仿真圖]完整注釋
[打印本頁]
作者:
森小胖
時間:
2017-5-2 23:58
標題:
簡易交通燈[c語言+仿真圖]完整注釋
簡易交通燈【c語言+仿真圖】完整注釋
0.png
(36.26 KB, 下載次數: 75)
下載附件
2017-5-3 03:02 上傳
0.png
(64.4 KB, 下載次數: 99)
下載附件
2017-5-3 03:02 上傳
單片機源程序:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define PA XBYTE[0xf8ff] //定義A口
#define PB XBYTE[0xf9ff] //定義B口
#define PC XBYTE[0xfaff] //定義C口
#define CTRL XBYTE[0xfbff] //ctrol簡寫為CTRL 定義控制口
uint i = 0, cnt = 120, flag=0;
uchar table[]={ //共陰極
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void display(int x, int y, int m, int n, int a, int b, int c, int d);
void delay(int);
void main()
{
CTRL = 0x80; //1000 0000B 方式選擇控制字: A口方式0 A口位輸出 C口高4位輸出 B口方式0 B口輸出 C口低4位輸出
IP = 0x05;
TMOD = 0x01; //方式寄存器TMOD 0000 0001B 定時器0,方式1
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256; //定時50ms
EA = 1; //開總中斷
ET0 = 1; //允許定時器0中斷
TR0 = 1; //開啟定時器0
while(1)
{
if(cnt > 65) //120-cnt 小于55
{
XBYTE[PA] = 0x33; //0011 0011B PA2綠燈亮 PA3紅燈亮
display(0xfe ,0xfd, 0xfb, 0xf7, (cnt-65)/10, (cnt-65)%10, (cnt-60)/10, (cnt-60)%10);
} //1111 1110B,(P1.0) 1111 1101B,(P1.1) 1111 1011B,(P1.2) 1111 0111B,(p1.3)假設cnt=70即計數50次此時南北綠燈顯示05 東西紅燈顯示10;
else if(cnt > 60 && cnt <= 65) //120-cnt介于 55與60之間
{
if(flag == 0)
{
XBYTE[PA] = 0x35;//0011 0101B PA1黃燈亮 PA3紅燈亮
display(0xff ,0xff, 0xfb, 0xf7, (cnt-60)/10,(cnt-60)%10, (cnt-60)/10,(cnt-60)%10);
} //1111 1111B,1111 1111B 1111 1011B 1111 0111B 假設cnt=62 即計數120-62=58次,此時南北黃燈顯示數字02 東西顯示紅燈02;
if(flag == 1)
{
XBYTE[PA] = 0x35;//0011 0101B PA1黃燈亮 PA3紅燈亮
display(0xfe ,0xfd, 0xfb, 0xf7, (cnt-60)/10,(cnt-60)%10, (cnt-60)/10,(cnt-60)%10);
}//1111 1110B,1111 1101B,1111 1011B,1111 0111B 假設cnt=62 即計數120-62=58次,此時南北紅燈顯示數字02,東西顯示綠燈02;
}
else if(cnt <= 60 && cnt > 5) //120-cnt介于 60與115之間
{
XBYTE[PA] = 0x1e; //0001 1110B PA0紅燈亮 PA5綠燈亮
display(0xfe ,0xfd, 0xfb, 0xf7, (cnt)/10,(cnt)%10, (cnt-5)/10,(cnt-5)%10);
}//1111 1110B,1111 1101B,1111 1011B,1111 0111B 假設cnt=40 即計數120-40=80次,此時南北紅燈顯示數字40,東西綠燈顯示35;
else if(cnt > 0 && cnt <= 5) //120-cnt 介于 115與120之間
{
if(flag == 0)
{
XBYTE[PA] = 0x2e;//0010 1110B PA0紅燈亮 PA4黃燈亮
display(0xfe ,0xfd, 0xff, 0xff, (cnt)/10,(cnt)%10, (cnt)/10,(cnt)%10);
}//1111 1110B,1111 1101B,1111 1111B,1111 1111B 假設cnt=3即計數120-3=117次,此時南北紅燈顯示數字03,東西黃燈顯示數字03
if(flag == 1)
{
XBYTE[PA] = 0x2e;//0010 1110B PA0紅燈亮 PA4黃燈亮
display(0xfe ,0xfd, 0xfb, 0xf7, (cnt)/10,(cnt)%10, (cnt)/10,(cnt)%10);
}//1111 1110B,1111 1101B,1111 1101B,1111 0111B 假設cnt=3即計數120-3=117次,此時南北紅燈顯示數字03,東西黃燈顯示數字03
}
}
}
void display(int x, int y, int m, int n, int a, int b, int c, int d) //數碼管
{
P1 = x; //P1.0
PB = table[a]; //南北方向高位數碼管顯示數字
delay(1); //調用延時函數
P1 = y; //P1.1
PB = table[b]; //南北方向低位數碼管顯示數字
delay(1); //調用延時函數
P1 = m; //P1.2
PC = table[c]; //東西方向高位數碼管顯示數字
delay(1); //調用延時函數
P1 = n; //P1.3
PC = table[d]; //東西方向低位數碼管顯示數字
delay(1); //調用延時函數
}
void delay(int z) //延時子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void mytimer0() interrupt 1 //定時器中斷0
{
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256; //定時50ms
i++;
if(i >= 10) //T=50ms*10=500ms
{
flag ++; //flag每0.5秒加1
i = 0;
}
if(flag > 1)
{
flag=0;
cnt --; //cnt每秒減1
}
…………限于本文篇幅 余下代碼請從51hei下載附件…………
復制代碼
下載:
NO.3.rar
(60.16 KB, 下載次數: 80)
2017-5-2 23:57 上傳
點擊文件名下載附件
簡易交通燈【c語言+仿真圖】完整注釋
下載積分: 黑幣 -5
作者:
沒心沒肺挺好丶
時間:
2017-12-10 10:29
沒有黑幣啊
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲成人激情在线观看
|
国产传媒在线观看
|
国产黄色精品
|
国产日韩精品视频
|
亚洲精品视频在线
|
狠狠涩
|
婷婷91
|
情侣av
|
日韩在线播放av
|
美国a级毛片免费视频
|
在线免费观看欧美
|
国产精品久久在线
|
久久综合狠狠综合久久综合88
|
欧美黄在线观看
|
国产精品福利在线
|
国产精品久久一区二区三区
|
免费在线观看一区二区三区
|
国产精品我不卡
|
中文字幕在线观看国产
|
黄色精品
|
日韩国产一区二区三区
|
日韩中文字幕第一页
|
又爽又黄axxx片免费观看
|
在线观看黄色电影
|
久久久久久久电影
|
欧美午夜精品
|
自拍 亚洲 欧美 老师 丝袜
|
日韩中文在线观看
|
在线免费观看日本
|
九九亚洲
|
成人激情视频免费在线观看
|
久久91av
|
国产69久久精品成人看动漫
|
日韩电影免费在线观看中文字幕
|
亚洲第一成年免费网站
|
凹凸日日摸日日碰夜夜
|
亚洲精品白浆高清久久久久久
|
99视频免费播放
|
日p视频免费看
|
中午字幕在线观看
|
亚洲一区视频在线
|