資源簡介
里面有c8051f040例程及原理圖和說明
代碼片段和文件信息
/**********************************************************************************
*本程序是通過LM324運放進行采樣并將其值放到液晶上顯示出來
**********************************************************************************/
#include?“c8051F040.h“
#define?uchar?unsigned?char
#define?uint?unsigned?int
void?os_init();
void?adc_init();
uchar?temp_l;
uchar?temp_h;
uint?temp;
uchar?xdata?virt_port;
bit?SPI_BUSY;
unsigned?char?xdata?tab1[12]={0x300x310x320x330x340x350x360x370x380x390x2e0x56};
sbit?LcdCs=P2^5;
void?os_init();
void?port_init();
void?spi_init();
void?writecode(uchar?ins);
void?writedata(uchar?d);
void?lcdchar?(void);
void?lcdinit();
void?writelcd(uchar?spi_data);
/*********************************************************************
*
*主函數
**********************************************************************/
void?main()
{??
????WDTCN?=?0xDE;???????????????????????????????????????????//?關閉看門狗
WDTCN?=?0xAD;
os_init();
????adc_init();
?????port_init();
spi_init();
lcdinit();
SFRPAGE???=?CONFIG_PAGE;
? EIE2??????=?0x02;??????????????????????????????//允許ADC中斷
//IE????????=?0x80; ???//允許所有中斷
?????
?EIE1??????=?0x01;
?EA=1;
?while(1)
{
?SFRPAGE???=?ADC0_PAGE;
?AD0INT=0;
?AD0BUSY=1;
?while(AD0INT==0);
?lcdinit();
?lcdchar();
}
}
/*********************************************************************
*
*晶振選擇及時鐘初始化函數
**********************************************************************/
void?os_init()
{
????int?i?=?0;
????SFRPAGE???=?CONFIG_PAGE;
????OSCXCN????=?0x67;
????for?(i?=?0;?i?3000;?i++);???????????????????//?等待外部晶振穩定
????while?((OSCXCN?&?0x80)?==?0);
????CLKSEL????=?0x01; ??//選擇系統時鐘頻率
}
/*********************************************************************
*
*12位ADC初始化
**********************************************************************/
void?adc_init()
{
????SFRPAGE???=?ADC0_PAGE;
????REF0CN????=?0x00; ?//0x03
ADC0CN????=?0x80; ????????????//向AD0BUSY寫1啟動轉換
}
/*********************************************************************
*
*ADC中斷函數
*********************************************************************/
void?adc_isr?()?interrupt?15
{
???if(AD0INT==1)
????{temp_l=ADC0L;
?????temp_h=ADC0H;
?
?}
?SFRPAGE???=?ADC0_PAGE;
??AD0INT=0;
}
void?port_init()
{
????SFRPAGE???=?CONFIG_PAGE;
??? P0MDOUT=0xff;
????XBR0??????=?0x06;
????XBR2??????=?0x40;
}
void?spi_init()
{
??????SFRPAGE???=?SPI0_PAGE;
??????SPI0CFG???=?0x40;
??????SPI0CN????=?0x01;
??????SPI0CKR???=?0x6D;
}
?void?delay1us(void)
{
uchar?xdata?i;
for(i=10;i>0;i--);
}?
void?writelcd(uchar?spi_data) ???//向LV595寫數據以SPI方式
{
??uint?xdata?ijk;
? for(i=0;i<9;i++);
LcdCs=0;
delay1us();
SPI_BUSY=1;
SFRPAGE???=?SPI0_PAGE;
SPI0DAT=spi_data;
for(j=0;j<500;j++)
{
???if(!SPI_BUSY)break;
}?
delay1us();
LcdCs=1;
delay1us();
delay1us();
delay1us();????????????????????????????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????964608??2009-07-29?21:07??原理圖及封裝庫重要\Siliconpcb.Ddb
?????文件?????440320??2008-08-25?09:34??原理圖及封裝庫重要\Siliconsch.Bkp
?????文件?????440320??2009-07-29?20:45??原理圖及封裝庫重要\Siliconsch.ddb
?????文件???12365828??2008-03-20?12:58??原理圖及封裝庫重要\protel99seservicepack6.exe
?????文件???????5090??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\UART_040
?????文件??????24452??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\c8051F040.h
?????文件?????????86??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\cygli
?????文件????????141??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\tmp.out
?????文件???????2334??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.#1
?????文件???????2334??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.#2
?????文件???????2334??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.#3
?????文件???????5184??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.LST
?????文件???????6336??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.M51
?????文件???????1729??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.OBJ
?????文件???????1348??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.Opt
?????文件???????2334??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.c
?????文件?????????48??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.lnp
?????文件????????894??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.plg
?????文件???????2164??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_uart\uart_040.uv2
?????文件????????362??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ANALOG.H
?????文件???????5079??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ANALOG.LST
?????文件??????14395??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ANALOG.OBJ
?????文件????????589??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ARP.H
?????文件??????14777??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ARP.LST
?????文件??????22923??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\ARP.OBJ
?????文件???????2459??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\Analog.c
?????文件???????8246??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\Arp.c
?????文件??????18402??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\C8051F.H
?????文件???????1002??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\CKSUM.C
?????文件????????238??2006-12-15?11:44??BTF040實驗程序\BTFF040實驗程序\F040_tcpip\CKSUM.H
............此處省略224個文件信息
評論
共有 條評論