📄 main.c
字号:
#include"uhal.h"
#include"keyboard.h"
#include"zlg7289.h"
#include"44b.h"
#include"def.h"
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
extern int Zlg7289SIOBand;
extern int Zlg7289SIOCtrl;
int main(void)
{
U32 led1=1,led2=8,led3=8,led4=8,led5=2,led6=8,led7=8,led8=8,i=1,j=1,k=1;
ARMTargetInit(); //开发版初始化
Uart_Printf("\nArm Target Init OK.");
Zlg7289_Reset();//zlg7289复位
Delay(5);
//No.1Road,在LED第一位显1
ZLG7289_ENABLE();//使zlg7289占有同步串口
Delay(5);//延时
WriteSDIO(ZLG7289_CMD_DATA0|0);//数码管以方式0译码,第一个数码管亮
WriteSDIO(led1%10);//显示个位
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);//使个位数码管显示
WriteSDIO(1);
Delay(1);
Uart_Printf("\nNO.1 Road!.");
ZLG7289_DISABLE();
//No.2Road,在LED第5位显2
ZLG7289_ENABLE();
WriteSDIO(ZLG7289_CMD_DATA0|4);//数码管以方式0译码,第5个数码管亮
WriteSDIO(led5%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x11);
Delay(1);
ZLG7289_DISABLE();
//1路绿灯与2路红灯同时亮
//road1 green
while(1)
{
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|1);//数码管以方式0译码,第2个数码管亮
WriteSDIO(led2%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x13);
Delay(1);
ZLG7289_DISABLE();
//road2 red
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|7);
WriteSDIO(led8%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x93);
Delay(1);
ZLG7289_DISABLE();
Delay(15030);
i++;
if(i==5)
{
// 两路黄灯同时亮
while(j<=5)
{//road1 yellow
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|2);
WriteSDIO(led3%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x15);
Delay(1);
ZLG7289_DISABLE();
//road2yellow
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|6);
WriteSDIO(led7%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x55);
Delay(1);
ZLG7289_DISABLE();
Delay(15030);
j++;
}
while(k<=5)
{
//1路绿灯与2路红灯同时亮
//road1 red
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|3);
WriteSDIO(led4%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x19);
Delay(1);
ZLG7289_DISABLE();
//road2 green
ZLG7289_ENABLE();
Delay(5);
WriteSDIO(ZLG7289_CMD_DATA0|5);
WriteSDIO(led6%10);
Delay(1);
WriteSDIO(ZLG7289_CMD_HIDE);
WriteSDIO(0x39);
Delay(1);
ZLG7289_DISABLE();
Delay(15030);
k++;
}
k=1;
j=1;
i=1;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -