#include "IOSTM8S103F3.h"
#define DIO PD_ODR_ODR1
#define RCLK PD_ODR_ODR2
#define SCLK PD_ODR_ODR3
#define u8 uint8_t
#define u16 uint16_t
#define u32 unin32_t
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
u8 LED_T[]={0x01,0x02,0x04,0x08,0x20};
u8 LED[5];
void delay(u16 Count);
void LED8_Display(void);
void LED_OUT(u8 outdata);
void main(void)
{
u8 x;
PD_ODR=0xFF;
PD_CR1=0xFF;
PD_CR2=0x00;
for (x=0;x<5;x++)
LED[x]=x;
while(1)
{
LED8_Display();
}
}
void delay(u16 count)//延遲函數
{
u16 i,j;
while(count--)
{
for(i=0;i<50;i++)
for(j=0;j<50;j++);
}
}
void LED8_Display(void)
{
u8 i,duan_table;
for (i=0;i<5;i++){
duan_table=*(LED_T+LED[i]);
LED_OUT(duan_table);
RCLK=0;
RCLK=1;
delay(50);
}
}
void LED_OUT(u8 outdata)
{
u8 i;
for(i=0;i<8;i++)
{
if(outdata&0x80)
DIO=1;
else
DIO=0;
outdata<<=1;
SCLK=0;
SCLK=1;
}
}
|