久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
簡單的交通燈,為什么進不了中斷
[打印本頁]
作者:
Zach_m
時間:
2018-2-21 22:49
標題:
簡單的交通燈,為什么進不了中斷
#include <reg52.h>
#define u8 unsigned int
#define u16 unsigned char
#define GPIO_dig P0
#define GPIO_traffic P1
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit RED_1=P1^0;
sbit GREEN_1=P1^1;
sbit RED_2=P1^2;
sbit YELLOW_2=P1^3;
sbit GREEN_2=P1^4;
sbit RED_3=P1^5;
sbit YELLOW_3=P1^6;
sbit GREEN_3=P1^7;
sbit RED_4=P3^1;
sbit GREEN_4=P3^0;
u8 code smgduan[17]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
u8 DisplayData[8];
u8 second;
void delay(u16 z)
{
while(z--);
}
void DigDisplay()
{
u8 i;
for(i=0; i<8; i++)
{
switch(i)
{
case(0):
LSA=0;LSB=0;LSC=0; break;//顯示第0位
case(1):
LSA=1;LSB=0;LSC=0; break;//顯示第1位
case(2):
LSA=0;LSB=1;LSC=0; break;//顯示第2位
case(3):
LSA=1;LSB=1;LSC=0; break;//顯示第3位
case(4):
LSA=0;LSB=0;LSC=1; break;//顯示第4位
case(5):
LSA=1;LSB=0;LSC=1; break;//顯示第5位
case(6):
LSA=0;LSB=1;LSC=1; break;//顯示第6位
case(7):
LSA=1;LSB=1;LSC=1; break;//顯示第7位
}
GPIO_dig=DisplayData[i];
delay(100);
GPIO_dig=0x00;
}
}
void Time0Init()
{
TMOD|=0x01;
TH0=0xFC;
TL0=0x18;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
second=1;
Time0Init();
while(1)
{
if(second==70)
{
second=1;
}
if(second < 31)
{
DisplayData[0] = 0x00;
DisplayData[1] = 0x00;
DisplayData[2] = smgduan[(30 - second) % 100 / 10];
DisplayData[3] = smgduan[(30 - second) %10];
DisplayData[4] = 0x00;
DisplayData[5] = 0x00;
DisplayData[6] = DisplayData[2];
DisplayData[7] = DisplayData[3];
DigDisplay();
GPIO_traffic=0xff;
RED_4=1;
GREEN_4=1;
GREEN_2=0;
GREEN_1=0;
RED_3=0;
RED_4=0;
}
else if(second < 36)
{
DisplayData[0] = 0x00;
DisplayData[1] = 0x00;
DisplayData[2] = smgduan[(35 - second) % 100 / 10];
DisplayData[3] = smgduan[(35 - second) %10];
DisplayData[4] = 0x00;
DisplayData[5] = 0x00;
DisplayData[6] = DisplayData[2];
DisplayData[7] = DisplayData[3];
DigDisplay();
GPIO_traffic=0xff;
RED_4=1;
GREEN_4=1;
GREEN_1=0;
YELLOW_2=0;
YELLOW_3=0;
RED_4=0;
}
else if(second < 66)
{
DisplayData[0] = 0x00;
DisplayData[1] = 0x00;
DisplayData[2] = smgduan[(65 - second) % 100 / 10];
DisplayData[3] = smgduan[(65 - second) %10];
DisplayData[4] = 0x00;
DisplayData[5] = 0x00;
DisplayData[6] = DisplayData[2];
DisplayData[7] = DisplayData[3];
DigDisplay();
GPIO_traffic=0xff;
RED_4=1;
GREEN_4=1;
RED_1=0;
RED_2=0;
GREEN_3=0;
GREEN_4=0;
}
else
{
DisplayData[0] = 0x00;
DisplayData[1] = 0x00;
DisplayData[2] = smgduan[(70 - second) % 100 / 10];
DisplayData[3] = smgduan[(70 - second) %10];
DisplayData[4] = 0x00;
DisplayData[5] = 0x00;
DisplayData[6] = DisplayData[2];
DisplayData[7] = DisplayData[3];
DigDisplay();
GPIO_traffic=0xff;
RED_4=1;
GREEN_4=1;
YELLOW_2=0;
RED_1=0;
YELLOW_3=0;
GREEN_4=0;
}
}
}
void Time0() interrupt 1
{
static u16 a;
TH0=0xFC;
TL0=0x18;
a++;
if(a == 1000)
{
a=0;
second ++;
}
}
IMG20180221224747.jpg
(4.86 MB, 下載次數: 33)
下載附件
2018-2-21 22:49 上傳
作者:
Zach_m
時間:
2018-2-21 22:50
數碼管不走路
作者:
nhwuxi2008
時間:
2018-2-22 08:45
要開中斷的
作者:
david888
時間:
2018-2-22 08:46
void main()
{
second=1;
// Time0Init();
不用調用
作者:
wulin
時間:
2018-2-22 09:48
因為你使用的數據類型與宏定義數據類型不一致,char是8位,int是16位.
#define u8 unsigned int
#define u16 unsigned char
void Time0() interrupt 1
{
static u16 a;
TH0=0xFC;
TL0=0x18;
a++;
if(a == 1000) //超過255
{
a=0;
second ++;
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久一二区
|
国产日韩精品视频
|
aaa在线
|
天天草夜夜骑
|
欧美视频xxx
|
岛国毛片在线观看
|
日韩电影a
|
久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新
|
一区二区三区中文字幕
|
黄在线免费观看
|
区一区二在线观看
|
久草网免费
|
日韩成人精品
|
国内自拍视频在线观看
|
亚洲视频在线播放
|
一区二区三区四区av
|
久久久久久久国产
|
www.99热这里只有精品
|
国产一区二区
|
日韩福利视频
|
色综合一区二区三区
|
97中文视频
|
91传媒在线观看
|
男人的天堂一级片
|
色婷婷av99xx
|
插插插干干干
|
一区二区三区在线观看视频
|
国产精品久久久久久福利一牛影视
|
国产女人叫床高潮大片免费
|
一级毛片观看
|
热re99久久精品国产99热
|
国产精品亚洲欧美日韩一区在线
|
亚洲国产精品久久久久
|
精品国产乱码久久久久久88av
|
日韩在线小视频
|
久久大陆
|
国产精品亚洲一区二区三区在线
|
亚洲精品电影
|
亚洲精品久久久久久宅男
|
国产精品久久久久久久久久久久久久
|
午夜一区二区三区在线观看
|