?? main.c
字號:
//==================================
//===文件:main.c
//===功能:讀取CS5460A
//===創建日期:20080815
//===創建人:劉彥亮
//==================================
#include<STC12C5410AD.H>
#include<stdio.h>
#include<intrins.h>
//---口線定義
sbit bRESET=P1^0; //CS5460-RESET
sbit bCS=P1^1; //CS5460-CS
sbit bSDI=P1^2; //CS5460-SDI
sbit bSDO=P1^3; //CS5460-SDO
sbit bSCLK=P1^4; //CS5460-SCLK
sbit bINT=P3^2; //CS5460-INT
sbit bXIN=P2^4; //CS5460-XIN,CPU高速脈沖輸出,5460晶振輸入
//---全局變量聲明
unsigned char rxData[32];
unsigned char txData[32];
unsigned char rxIndex=0;
bit bEnd=0;
//---發送檢查
void Check_UART()
{
while(TI==0)
{}
TI=0;
}
//---發送一個字節
void Write_Byte_UART(unsigned char byte)
{
SBUF = byte;
Check_UART();
}
//===寫一個字節到CS5460A
void Write_CS5460A(unsigned char out)
{
out=0;
}
//===從CS5460A讀一個字節
void Read_CS5460A()
{
}
//===中斷服務程序:定時器0,顯示
void time0_int(void) interrupt 1 {
}
//===中斷服務程序:串口
void UART_int() interrupt 4
{
EA=0; //關全局中斷
rxData[rxIndex]=SBUF;
if(rxData[rxIndex]==0xff)bEnd=1;
rxIndex++;
RI=0;
EA=1;
}
//=============================主程序=====================
main(void)
{
unsigned char i;
//---特殊功能寄存器設置
AUXR=0x80; //1定時器0的速度是傳統8051的12倍,不分頻
//0定時器1的速度是傳統8051的1倍,12分頻
//0UART串口模式0的速度和傳統8051相等
//0禁止AD中斷
//0禁止SPI中斷
//0禁止低壓中斷
//---定時器0,1
TMOD=0x22; //定時器0,1設置為模式2,8位自動裝載
SM0=0;
SM1=1; //設置串口為方式1,10位異步收發
PCON=PCON|0x80; //波特率加倍
//---18.432MHz
TL1=0xFB;
TH1=0xFB; //波特率為19200
//---11.0592MHz
TL1=0xFD;
TH1=0xFD; //波特率為19200
TH0=0x38;
TL0=0x38;
EA=1; //全局中斷使能,(EA=0,關全局中斷;EA=1,開全局中斷)
ET0=0; //定時器0不產生中斷
ET1=0; //定時器1不產生中斷
TR0=1; //啟動定時器0
TR1=1; //啟動定時器1
REN = 1; //允許串口接受使能
//---PCA/PWM
CMOD=0x02; //Fosc/2 ,禁止中斷
CCAPM3=0x42; //PCA工作模式8位PWM
CL=0x00; //PCA Base Timer Low
CH=0x00; //PCA Base Timer High
CCAP3L=0xC0; //PCA模塊-0捕獲寄存器低字節
CCAP3H=0xC0; //PCA模塊-0捕獲寄存器高字節
CR=1; //啟動PCA計數器
//---SPI-------------
//---端口輸入輸出設定
P1M0 = 0x00;//準雙向口(8051 IO)
P1M1 = 0x00;
P2M0 = 0x00;//推挽輸出(強上拉輸出,可達20mA,要加限流電阻)
P2M1 = 0xFF;
P3M0 = 0x00;//準雙向口(8051 IO)
P3M1 = 0x00;
while(1){
if(bEnd==1){
for(i=0;i<rxIndex;i++){
txData[i]=rxData[i];
Write_Byte_UART(txData[i]);
}
bEnd=0;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -