📄 p89c668.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 + -