📄 ledshuma.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "2410addr.h"
#include "option.h"
#include "strata16.h"
volatile unsigned int * pLedData;
void delay1()
{
int i;
for(i=1;i<20000;i++)
{
//int b;
// for (j=0;j<1000;j++);
}
}
//------------------------------------------------------------------------
// 函数名 : HC164_SendDat()
// 功 能 : 向74HC164发送一字节数据
//------------------------------------------------------------------------
void HC164_SendDat(unsigned char data_input)
{ unsigned char j;
for(j=0; j<8; j++) // 发送8位数据
{
rGPGDAT=rGPGDAT&(~(0x1<<9)); // CLK = 0
// 设置DATA移位输出
if( (data_input&0x80)!=0 )
rGPGDAT=rGPGDAT|(0x1<<8);
else
rGPGDAT=rGPGDAT&(~(0x1<<8));
data_input <<= 1;
rGPGDAT=rGPGDAT|(0x1<<9); // CLK = 1
}
}
// 8段数码管码表
unsigned char const LED_TAB[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 };
void Main(void)
{
pLedData=(volatile unsigned int *)( 0x20000000);
rGPGCON = 0x50000;
while(1)
{ int k;
printf("fftchina");
for(k=0;k<16;k++)
{
HC164_SendDat(~LED_TAB[k]);
delay1();
}
/* *pLedData=0xc0c00000;
delay1();
*pLedData=0xf9f90000;
delay1();
*pLedData=0xa4a40000;
delay1();
*pLedData=0xb0b00000;
delay1();
*pLedData=0x99990000;
delay1();
*pLedData=0x92920000;
delay1();
*pLedData=0x82820000;
delay1();
*pLedData=0xf8f80000;
delay1();
*pLedData=0x80800000;
delay1();
*pLedData=0x90900000;
delay1();
*/
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -