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

📄 p89c668.h

📁 一个流量控制仪器的源码
💻 H
字号:
/************************************************************************************/
/* P89C668系统参考     														*/
/* MCU 型号: Philips P89C668														*/
/* 时钟频率: 11.0592 MHz														    */
/* 开发环境: Keil C51 V7.06a															*/
/* 开发日期: 2003.08.22													        	*/
/* 程序编写: BaoFang  鲍方															*/
/* 系统版本: V3.00																	*/
/************************************************************************************/


/***********************************************************************************

Philips P89C668芯片特殊功能控制程序  P89C668.H

MCU 型号: Philips P89C668
时钟频率: 11.0592 MHz
接口方式: I2C 100KHz,UART 9600
开发环境: Keil C51 V7.04	
开发日期: 2003.05.07
程序编写: BaoFang
	
***********************************************************************************/

#ifdef uchar            /*宏uchar定义*/ 
  #define READYDEF_uchar 1
#else  
  #define uchar unsigned char
#endif


//Timer/Counter initialize
#define timer0_13bit	   		TMOD&=0xf0
#define timer0_16bit	  		TMOD&=0xf0;TMOD|=0x01               
#define timer0_auto_reload		TMOD&=0xf0;TMOD|=0x02
#define timer1_13bit	   		TMOD&=0x0f
#define timer1_16bit	    		TMOD&=0x0f;TMOD|=0x10
#define timer1_auto_reload		TMOD&=0x0f;TMOD|=0x20
#define timer2_auto_reload		CP_RL=0;
#define timer2_capture	     		CP_RL=1;

#define timer2_extern_enable		EXEN2=1;
#define timer2_extern_disable		EXEN2=0;

#define timer0_stop			TR0=0
#define timer1_stop			TR1=0
#define timer2_stop			TR2=0;

#define timer0_start			TR0=1
#define timer1_start			TR1=1
#define timer2_start			TR2=1;

#define	enable()			EA=1
#define	disable()			EA=0

#define	int_timer0()			TF0=1
#define	int_timer1()			TF1=1
#define	int_timer2()			TF2=1

#define int0_falling_edge      		IT0=1
#define int1_falling_edge		IT1=1

#define int0_int_enable	      		EX0=1
#define int1_int_enable	       		EX1=1
#define timer0_int_enable  		ET0=1
#define timer1_int_enable		ET1=1
#define timer2_int_enable		ET2=1
#define serial_int_enable		ES=1
#define serial1_int_enable     		ES1=1

#define int0_int_disable		EX0=0
#define int1_int_disable		EX1=0
#define timer0_int_disable		ET0=0
#define timer1_int_disable     		ET1=0
#define timer2_int_disable     		ET2=0
#define serial_int_disable     		ES=0



/*******************************************************************
			检查P89C668的掉电标记
函数原型: uchar PowerOff();
功能: 检查P89C668的掉电标记
      返回0--无掉电情况(热复位)
      返回1--有掉电情况(冷启动)
注意:POF需要软件清除!!
*******************************************************************/
extern uchar PowerOff();


/*******************************************************************
			启动P89C668的PCA看门狗设置
函数原型: void WatchDog0_Init();
功能: 启动P89C668的看PCA门狗设置
注意:使用了内嵌ASM,需要在Group中打开 Generate Assembler SRC file
        Assemble SRC file.
*******************************************************************/
extern void WatchDog0_Init();

/*******************************************************************
			喂P89C668的PCA看门狗
函数原型: void WatchDog0();
功能: 喂P89C668的PCA看门狗
注意:使用了内嵌ASM,需要在Group中打开 Generate Assembler SRC file
        Assemble SRC file.
*******************************************************************/
extern void WatchDog0();


/*******************************************************************
			启动P89C668的硬件看门狗设置
函数原型: void WatchDog1_Init();
功能: 启动P89C668的硬件看门狗设置
*******************************************************************/
extern void WatchDog1_Init();


/*******************************************************************
			喂P89C668的硬件看门狗
函数原型: void WatchDog1();
功能: 喂P89C668的硬件看门狗
*******************************************************************/
extern void WatchDog1();


#ifndef READYDEF_uchar  /*取消宏uchar定义*/
  #undef uchar
#endif


/*
//Define the baud rate generater

#define serial_baud_double		PCON=PCON|0x80; 

//The following is both of the two serial port,use the same baud rate
#define serial_baud_1200      		TMOD&=0x0f;TMOD|=0x20;TH1=0xe8;TR1=1
#define serial_baud_2400    		TMOD&=0x0f;TMOD|=0x20;TH1=0xf4;TR1=1
#define serial_baud_4800  		TMOD&=0x0f;TMOD|=0x20;TH1=0xfa;TR1=1
#define serial_baud_9600  		TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1
#define serial_baud_19200    		TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1;PCON=PCON|0x80

//The follwing is serial port use differant baud rate
//
//		                    OSC         OSC=11.0592         345600
//		T2 = 0   -   -----------------  ============= 0 -  ---------
//                            32 * BAUD_RATE                       BAUD_RATE
//
//
#define serial_baud_1200		TMOD&=0x0f;TMOD|=0x20;TH1=0xe8;TR1=1
#define serial_baud_2400		TMOD&=0x0f;TMOD|=0x20;TH1=0xf4;TR1=1
#define serial_baud_4800		TMOD&=0x0f;TMOD|=0x20;TH1=0xfa;TR1=1
#define serial_baud_9600		TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1
#define serial_baud_19200		TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1

#define serial_uart8			SM0=0;SM1=1;SM2=0
#define serial_uart9			SM0=1;SM1=1;TR1=1

#define	serial_receive_enable		REN=1
*/

⌨️ 快捷键说明

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