?? trafficlight.c
字號:
#include"uhal.h"
//#include"keyboard.h"
#include"zlg7289.h"
#include"44b.h"
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
extern int Zlg7289SIOBand;
extern int Zlg7289SIOCtrl;
int hide[3]={0x41,0x22,0x14};
//void led1(void);
//void led2(void);
//void led3(void);
/*#define LED0 0x01
#define LED1 0x02
#define LED2 0x04
#define LED3 0x08
#define LED4 0x10
#define LED5 0x20
#define LED6 0x40
#define LED7 0x80*/
void led(int,int,long);
int i;
int main(void)
{
//U32 key;
ARMTargetInit(); //開發版初始化
Uart_Printf("\nArm Target Init OK.");
Zlg7289_Reset();//zlg7289復位
while(1)
{
/*ZLG7289_ENABLE();
WriteSDIO(ZLG7289_CMD_DATA1|3);
WriteSDIO(1);
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|7);
WriteSDIO(2);
Delay(5);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x88);
Delay(5);
ZLG7289_DISABLE();*/
for(i=1;i<=4;i++)
{
//key=GetKey();//得到按鍵值
//Delay(1);
switch(i)
{
case 1: led(0,6,70000);break;//led1();break;
case 2: led(1,5,30000);break;//led2();break;
case 3: led(2,4,70000);break;//led3();break;
case 4: led(1,5,30000);break;//led2();break;
default: break;
}
}
}
return 0;
}
void led(int x,int y,long z)//x是路2的燈,y是路1的燈,z是燈亮的時間
{
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|x);//數碼管以方式1譯碼,第x個數碼管亮
WriteSDIO(0);
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|y);//數碼管以方式1譯碼,第x個數碼管亮
WriteSDIO(0);
Delay(5);
/*WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(1<<x|1<<y);//顯示第x,y位數碼管
Delay(5);*/
WriteSDIO(ZLG7289_CMD_DATA1|3);
WriteSDIO(2);
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|7);
WriteSDIO(1);
Delay(5);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x88|1<<x|1<<y);//顯示第7位數碼管為1,第4位數碼管為2,顯示第x,y位數碼管為0;
Delay(5);
if(x==1)//判斷是否為黃燈;
{WriteSDIO(ZLG7289_CMD_FLASH);
WriteSDIO(~(1<<x|1<<y));
Delay(5);
ZLG7289_DISABLE();
Delay(z);}
else
{
ZLG7289_DISABLE();
Delay(z);
}
}
/*
void led1(void)
{
ZLG7289_ENABLE();//使zlg7289占有同步串口
Delay(5);//延時
WriteSDIO(ZLG7289_CMD_DATA1|0);//數碼管以方式0譯碼,第一個數碼管亮
WriteSDIO(0);//顯示個位
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|6);
WriteSDIO(0);
Delay(5);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(hide[0]);
Delay(5);
ZLG7289_DISABLE();
Delay(100000);
//i=2;
}
void led2(void)
{
ZLG7289_ENABLE();
WriteSDIO(ZLG7289_CMD_DATA1|1);//數碼管以方式0譯碼,第一個數碼管亮
WriteSDIO(0);//顯示個位
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|5);
WriteSDIO(0);
Delay(5);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(hide[1]);
Delay(5);
WriteSDIO(ZLG7289_CMD_FLASH);
WriteSDIO(~hide[1]);
//Delay(5);
Delay(1);
//WriteSDIO(ZLG7289_CMD_RST);
ZLG7289_DISABLE();
Delay(30000);
}
void led3(void)
{
ZLG7289_ENABLE();
WriteSDIO(ZLG7289_CMD_DATA1|2);//數碼管以方式0譯碼,第一個數碼管亮
WriteSDIO(0);//顯示個位
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA1|4);
WriteSDIO(0);
Delay(5);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(hide[2]);
Delay(50);
//WriteSDIO(ZLG7289_CMD_RST);
ZLG7289_DISABLE();
Delay(100000);}
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -