⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 C8051F120 _AD开发过程中的一些代码和文档
💻 C
字号:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#include "C8051f.h"
#include "Serial0.h"
#include "Serial1.h"
#include "Timer.h"
#include "Analog.h"
#include "Sd2000.h"
#include "Lcd.h"
#include "Key.h"
#include "App.h"
#include "Func.h"
#include "24LC02.h"
#include "24LC32.h"
#include "Dout.h"

//全局变量
unsigned int  Count1msInc;
unsigned char Count1ms;
unsigned char Count100ms;
unsigned char Count1s;
unsigned int TimeSecond;
unsigned int TimeMinute;

unsigned char EEPROMTime;
unsigned long Tick_100ms;

unsigned char RecCh;
unsigned char RecFlag;

unsigned long idata cpu_temperature;


void PORT_Init (void)
{
	//XBR0    = 0x04;                     // Enable SMBus, SPI0, and UART0
	XBR0    = 0x04;
	XBR1    = 0x04;
	XBR2    = 0x44;                     // Enable crossbar and weak pull-ups
   
	EMI0TC  = 0x21;
	P74OUT  = 0xFF;

	P0MDOUT = 0x15;
	P1MDOUT = 0xff;
	P2MDOUT |= 0xFA;
	P3MDOUT |= 0xFC;
}

void SYSCLK_Init (void)
{
   int i;                              
   OSCXCN = 0x67;                     
                                      
   for (i = 0; i < 256; i++) ;           
   while (!(OSCXCN & 0x80)) ;          
   OSCICN = 0x88;       
}

void init_main(void)
{
}
/*
void main (void)
{
	unsigned char Temp;
	unsigned char Str[16];
	unsigned char Str2[16];
	unsigned long Tmp;
	unsigned long Tmp2;
	unsigned char i;

	EA = 0;
	WDTCN = 0xde;
	WDTCN = 0xad;
	EA = 1;

	EMI0CF = 0x24 ;						// share low 4K XRAM

	SYSCLK_Init ();                     // initialize oscillator
	PORT_Init ();                       // initialize crossbar and GPIO
	Timer0_Init();
	init_main();

	Delayms(200);
    Lcd_Initil();
	Lcd_CLS();

	init_serial0(1200);
	init_serial1(1200);

	InitSD();

	ADC_Init();

	Tick_Init();

	//Lcd_Dis(0,0,"nihao");
	//Disp_Date();
	//Disp_WeekTime();
	//Drv_CursorMove(2,2,1);
	//Drv_CursorMove(3,3,1);
	//Lcd_Dis(3,3,"12345");
	//Drv_CursorMove(3,3,1);

	Temp = Drv_E2PRead32(0);
	Temp = Drv_E2PRead32(1000);
	Temp = Drv_E2PRead32(2000);
	Temp = Drv_E2PRead32(3000);
	Temp = Drv_E2PRead32(3999);


	E2PWrite32(0,0xaa);
	Temp = E2PRead32(0);
	E2PWrite32(1000,0xf5);
	Temp = E2PRead32(1000);
	E2PWrite32(2000,0x65);
	Temp = E2PRead32(2000);
	E2PWrite32(3000,0x89);
	Temp = E2PRead32(3000);
	E2PWrite32(3999,0x27);
	Temp = E2PRead32(3999);
	E2PWrite32(0x38,0x27);
	Temp = E2PRead32(0x38);
	Temp = E2PRead32(0);

	Lcd_CLS();
	while(1)
	{
		sprintf(Str,"%d",TimeMinute);
		Lcd_Dis(0,0,Str);
		sprintf(Str,"%d",TimeSecond);
		Lcd_Dis(1,0,Str);
		sprintf(Str,"%ld",Tick_100ms);
		Lcd_Dis(2,0,Str);

		for(i = 0; i < 16; i++)
		{
			Str2[i] = 0;
		}
		Tmp2 = Read_Analog_Inputs(MUX_AN1);
		sprintf(Str2,"%8ld",Tmp2);
		Lcd_Dis(3,0,Str2);

		Delayms(255);

		for(i = 0; i < 16; i++)
		{
			Str[i] = 0;
		}
		Tmp = Read_Analog_Inputs(MUX_AN0);
		sprintf(Str,"%8ld",Tmp);
		Lcd_Dis(3,4,Str);


		serial_send(Str2);
		serial_send("\r");
		Dout(0x55);
	}
	
	while(1)
	{
		serial_send("hello\r");
		serial_send_("hello\r");
		Read_Analog_Inputs(MUX_AN0);
		Delayms(255);
		Read_Analog_Inputs(MUX_AN1);
		Delayms(255);
		Read_Analog_Inputs(MUX_CPU_TEMP);
		Delayms(255);
		Lcd_CLS();
		Disp_Date();
		Disp_WeekTime();
	}

}*/

void main()
{

	unsigned char ch,i;
	unsigned char xdata buf[11];

	EA = 0;
	WDTCN = 0xde;
	WDTCN = 0xad;
	EA = 1;

	EMI0CF = 0x24 ;						// share low 4K XRAM

	SYSCLK_Init ();                     // initialize oscillator
	PORT_Init ();                       // initialize crossbar and GPIO
	Timer0_Init();
	init_main();

	Delayms(200);
    Lcd_Initil();
	Lcd_CLS();

	init_serial0(1200);
	init_serial1(1200);

	InitSD();

	ADC_Init();

	Tick_Init();

	Lcd_Dis(0,0,"成都市");
	while(1)
	{
		memset(buf,0,11);
		E2PWrite32(0,'X');
		Delayms(50);
		E2PWrite32(1,'I');
		Delayms(50);
		E2PWrite32(2,'E');
		Delayms(50);
		E2PWrite32(3,'Y');
		Delayms(50);
		E2PWrite32(4,'I');
		Delayms(50);
		E2PWrite32(5,'N');
		Delayms(50);
		E2PWrite32(6,'Q');
		Delayms(50);
		E2PWrite32(7,'I');
		Delayms(50);
		E2PWrite32(8,'A');
		Delayms(50);
		E2PWrite32(9,'O');
		Delayms(50);
		for(i=0;i<10;i++)
		{
			buf[i] = E2PRead32(i);
		}
		E2PWrite32(8,'A');
		Delayms(50);
		E2PWrite32(0x38,1);
		Delayms(50);
		E2PWrite32(0x48,2);
		Delayms(50);
		E2PWrite32(0x39,3);
		Delayms(50);
		E2PWrite32(0x49,4);
		Delayms(50);
		ch = E2PRead32(0x38);

		memset(buf,0,11);
		for(i=0;i<10;i++)
		{
			buf[i] = E2PRead32(i);
		}
		ch = E2PRead32(0x38);
		ch = E2PRead32(0x38);
		ch = E2PRead32(0);
		ch = E2PRead32(8);
		Dout(0xff);
		Dout(0x0);
	}
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -