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

📄 main.c

📁 C8051F005单片机控制CH452驱动程序
💻 C
字号:


#include <C8051F000.h>
#include <intrins.h>
#include "ch452.h"
#include "ch452cmd.h"     //常用命令头文件
#include "pin.h"
/******************初始化子程序****************/
/*时钟初始化*/
void SYSCLK_Init (void)
{
//晶振配置,采用内部晶振,默认为16MHz,八分频为2MHz
//允许时钟丢失监测器
	OSCICN = 0x94;	
	OSCXCN = 0x00;	

//外部晶振	
//  int i;                              // delay counter
//   OSCXCN = 0x67;                      // start external oscillator with
                                       // 18.432MHz crystal
//   for (i=0; i < 256; i++) ;           // Wait for osc. to start up
//   while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
//   OSCICN = 0x88;                      // select external oscillator as SYSCLK
                                       // source and enable missing clock
                                       // detector
}

/*端口初始化*/
void PORT_Init (void)
{
//交叉开关使能,但没有进行外围设备配置
	XBR0 = 0x00;	
	XBR1 = 0x00;	
	XBR2 = 0x40;

	
//均配置为开漏输出	
	PRT0CF |= 0x00;
	PRT1CF |= 0x00;
	PRT2CF |= 0x00;  
	PRT3CF |= 0x00;
}
void delayms(unsigned int i)    //1ms
{	unsigned int	j;
	do{	for(j=0;j!=200;j++)
		{;}
	}while(--i);
}

main()
{
	unsigned char cmd,dat;
//	unsigned short	command;
	unsigned char counter;
 	WDTCN = 0xDE;   //禁止看门狗
   	WDTCN = 0xAD;

	SYSCLK_Init();  //初始化时钟
 	PORT_Init();    //初始化端口

	delayms(10);	

//	dat=CH452_Read();		//读取CH452的版本号,正式应用时不需要。

	CH452_Write(CH452_SYSON2);	//两线制方式,如果SDA用做按键中断输出,那么命令应该为(0x04,0x23)
	CH452_Write(CH452_BCD);   // BCD译码,8个数码管
	CH452_Write(CH452_DIG0 | 0);  // 显示字符8	
	CH452_Write(CH452_DIG1 | 2);
	CH452_Write(CH452_DIG2 | 8);
	CH452_Write(CH452_DIG3 | 8);
	CH452_Write(CH452_DIG4 | 8);
	CH452_Write(CH452_DIG5 | 8);
	CH452_Write(CH452_DIG6 | 8);
//	CH452_Write(CH452_DIG7 | 0x1a);
	delayms(50);
//	LED=!LED;
	while ( 1 ){  // PC机串口通讯单片机,再控制CH452演示

//	while(CH452_DOUT);
	delayms(20);
//	CH452_Write(CH452_GET_KEY);

    dat=CH452_Read();
		delayms(20);
//    for(counter=0;counter<9;counter++)
//	{
//	CH452_Write(CH452_DIG4 | counter);
//	delayms(10);
//	}
//	PCON |=0x01;
	}
}

⌨️ 快捷键说明

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