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

📄 micro.h

📁 一个基本的平安钟控制程序
💻 H
字号:
#include "reg52.h"

#define	TimerH_Xus	0xff
#define	TimerL_Xus	0xec
#define	TimerH_50us	0xff
#define	TimerL_50us	0xce
#define	TimerH_1ms	0xfc
#define	TimerL_1ms	0x18
#define	TimerH_2ms	0xf7
#define	TimerL_2ms	0xf0
#define	TimerH_5ms	0xec
#define	TimerL_5ms	0x78
#define	TimerH_15ms	0xc5
#define	TimerL_15ms	0x68
#define	bps1200		0xcc
#define	bps2400		0xe6
#define	bps4800		0xf3
#define	delayms		123


typedef bit bool;
typedef unsigned char uchar;
typedef unsigned int  uint;


#define	TRUE			1
#define	FALSE			!TRUE
#define	NULL			0

#define Hight			1	
#define	Low				0


#define	ALIGSIZE		20
#define	TrkTal			5		//这里规定你有多少个信号脚要检测	
#define ResRingperiod	9		
#define Busyperiod		4		

#define	EXT_SCAN_ON		0x80	//system scan hook on/off
#define	EXT_SCAN_OFF	0x00	//system stop scan hook on/off
#define	EXT_SCAN_PRI	0x18	//system scan ext state pri
#define	EXT_SCAN_LEN	EXT_SCAN_ON+EXT_SCAN_PRI//T=EXT_SCAN_PRI*10ms=240ms

#define	BusyTone_Continue		0x1e//忙音电平的持续时为0x1e*10ms=300MS
#define	ResRingTone_ContinueO	0x5a	//回铃高电平持续时为0x5a*10ms=900MS
#define	ResRingTone_ContinueC	0x017c	//回铃的低电平持续时为0x017c*10ms=3800MS
#define	ResRingTone_stop		0x01f4	//回铃的低电平持续时为0x017c*10ms=5000MS

#define HOLDON			252
#define H_F				0x10
#define Signal_En		0x0a
#define Check_Signal	0x0a
#define Busy_Tone		0x00
#define Ring_respond	0x05
#define Check_type		0x05
#define Line_Close		0x20
#define Ring_In			0x40			

#define LOAD_TIMER0(th,tl)\
{\
	TH0 = (th);\
	TL0 = (tl);\
}
#define LOAD_TIMER1(th)\
{\
	TH1 = (th);\
	TL1 = (th);\
}

typedef struct 
{
	uchar No;
	uchar delay;
	uchar counter;
	uchar st;
}pinctrobj;

uchar	Counter1ms,Counter10ms;
bool	Flag_10ms,Flag_100ms;

uchar	TimerCount[TrkTal],Read_SingalST,Read_LowST,Read_PlowST,Dailtimes;
uint 	CHECK_Reg[TrkTal],SingalCount[TrkTal];
pinctrobj SYSpin[8];

bool    FlagP32,FlagP10;

//SYSPINSTA 共8位,1表示有效,0无效
//7        6         5         4       3         2      1         0
//res     p32      p35      p10   p34en  0/1   p33en   0/1    
uchar	SYSPINSTA;

sbit pinnop11 = P1^1;//P11
sbit pinnop12 = P1^2;//P12
sbit pinnop13 = P1^3;//P13
sbit pinnop14 = P1^4;//P14
sbit pinnop15 = P1^5;//P15
sbit pinnop16 = P1^6;//P16
sbit pinnop17 = P1^7;//P17
sbit pinnop37 = P3^7;//P37
sbit pinnop34 = P3^4;
sbit pinnop35 = P3^5;

⌨️ 快捷键说明

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