• 大小: 12.51MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签: c8051f040  例程  

资源简介

里面有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\cyglink.txt

     文件        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个文件信息

评论

共有 条评论