?? main.c
字號:
/*******************************************************************************
*File: Main.c
*功能: LED數(shù)碼管顯示0-F字符,同時(shí)控制4個(gè)LED顯示對應(yīng)的十六進(jìn)制
*******************************************************************************/
#include "config.h"
#define SPI_CS 0x00000100 /*P0.8*/
#define SPI_DATA 0x00000040 /*P0.6*/
#define SPI_CLK 0x00000010 /*P0.4*/
#define BEEP 0x00000080 /*P0.7為蜂鳴器控制*/
#define SPI_IOCON 0x00003DD0 /*SPI接口的I/O設(shè)置字*/
/*******************************************************************************
*名稱: DelayNS()
*功能: 長軟件延時(shí)
*******************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;
for (;dly>0;dly--)
for(i=0;i<50000;i++);
}
/*******************************************************************************
*名稱: HC595_SendDat()
*功能: 向74HC595發(fā)送一字節(jié)數(shù)據(jù)
*說明: 發(fā)送數(shù)據(jù)時(shí),高位先發(fā)送
*******************************************************************************/
void HC595_SendDat(uint8 dat)
{ uint8 i;
IOCLR=SPI_CS; //SPI_CS=0
for (i=0;i<8;i++) //發(fā)送8位數(shù)據(jù)
{ IOCLR=SPI_CLK; //SPI_CLK=0
/*設(shè)置SPI的DATA輸出值*/
if((dat&0x80)!=0)IOSET=SPI_DATA;
else IOCLR=SPI_DATA;
dat<<=1;
IOSET=SPI_CLK; //SPI_CLK=1
}
IOSET=SPI_CS; //SPI_CS=1,輸出顯示數(shù)據(jù)
}
/*******************************************************************************
*名稱: main()
*功能: 控制LED數(shù)碼管顯示,并控制4個(gè)LED顯示
*******************************************************************************/
int main(void)
{ const uint8 DISP_TAB[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E};
uint8 i;
PINSEL0=0x00000000; //設(shè)置所有引腳連接GPIO
PINSEL1=0x00000000;
IODIR=SPI_IOCON; //設(shè)置SPI控制口為輸出
while(1)
{ for (i=0;i<16;i++)
{ HC595_SendDat(DISP_TAB[i]); //輸出LED顯示數(shù)據(jù)
IOSET=0x00003C00;
IOCLR=i<<10; //設(shè)置LED顯示輸出
DelayNS(50);
/*控制蜂鳴器報(bào)警*/
IOSET=BEEP;
DelayNS(10); //延時(shí)
IOCLR=BEEP;
DelayNS(10); //延時(shí)
}
}
return(0);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -