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

📄 common.h

📁 这是52单片机串口调试程序
💻 H
字号:
//sfr		AUXR	=	0x8E;						// Winbond 78E52
//sfr		WDOG	=	0x8F;						// Winbond 78E52
//#define	CLEAR_WDOG		WDOG=0xE6;	// Winbond 78E52(2s)

#define	BYTE				unsigned char
#define	WORD				unsigned int
#define	Flash				((BYTE volatile xdata *)0)

#define	RS485_MODE		1
#define	RS232_MODE		0

#define  LCD_buf			((BYTE volatile idata *)0xF0)	// Len=16(F0-FF)
#define	Last_Card_no	((BYTE volatile idata *)0xE8)	// Len=08(E8-EF)
#define	ID_Card_no		((BYTE volatile idata *)0xE0)	// Len=08(E0-E7)
#define	Send_buf			((BYTE volatile idata *)0xC8)	// Len=24(C8-DF)
#define	Recv_buf			((BYTE volatile idata *)0xB0)	// Len=24(B0-C7)

sbit		B_373_1			=	P1^4;			// D0-3(Flash A15-18) D4-7(Key row)
sbit		B_373_2			=	P1^5;			// Voice addr
sbit		B_373_3			=	P1^6;			// LCD control
sbit		B_373_4			=	P1^7;			// LCD data
sbit		B_RFIN			=	P3^4;

#define	TIMER1_COUNT	184				// 47104/256=184 20 ms(11.0592 MHz)
#define	B_BELL_MASK		0x1				// D0(B_373_3)
#define	LCD_E_MASK		0x2				// D1
#define	LCD_A0_MASK		0x4				// D2
#define	LCD_CS1_MASK	0x8				// D3
#define	LCD_CS2_MASK	0x10				// D4
#define	AUX_OUT_MASK	0x20				// D5
#define	VOC_PLAY_MASK	0x40				// D6
#define	B_RS485_MASK	0x80				// D7

#define	SB					0x10
#define	XB					0x20
#define	JBS				0x30
#define	JBX				0x40
#define	LSJ				0x50
#define	LSC				0x60

bit	b_BELL;
bit	b_Card_In;								// 1-Card_in
bit	Btemp,Bdone;							// Only used for ID_Card
bit	b_Recv_done;							// 1-Serial_in
bit	b_Send_busy;							// 1-Busy
bit	b_ShowNow, b_ShowSomething;
bit	b_tmp;
bit	b_20ms2;
bit	b_Serial_mode;							// 0-232  1-485
bit	b_LCD_line4;							// 0-MAchine  1-PC

BYTE	Menu_stat;								// 0-no_menu  1-Main_menu  X-sub_menu
BYTE	Key_stat;								// 0-free  1-key pressed  2-key keep on 20 ms
BYTE	Pre_key,Last_key,Key;
BYTE	D373_1, D373_3;						// Latch by 373
BYTE	BELL_counter;
BYTE	AUX_counter;
BYTE	VOC_counter, VOC_delay_counter;
BYTE	VOC_buf[2];
BYTE	IDCardTime;
BYTE	Recv_pointer, Recv_stat;
BYTE	Machine_ID;
BYTE	Send_pointer;
WORD	Total_User, Total_Record;
BYTE	Timer_20ms, Timer_1s, Timer_20ms2;
WORD	Flash_p;
BYTE	Sys_Stat;
BYTE	IDCarIn, Sum2;
WORD	User_id;
BYTE	Key_p, Key_buf[14];
BYTE	Time_buf[8];
BYTE	Pause_time;

bdata BYTE DM,DH;
sbit Dm0 = DM^0;
sbit Dm1 = DM^1;
sbit Dm2 = DM^2;
sbit Dm3 = DM^3;
sbit Dm4 = DM^4;
sbit Dm5 = DM^5;
sbit Dm6 = DM^6;
sbit Dm7 = DM^7;
sbit Dh0 = DH^0;
sbit Dh1 = DH^1;
sbit Dh2 = DH^2;

#define	OUT_373_1		P0=D373_1; B_373_1=1; B_373_1=0;
#define	OUT_373_3		P0=D373_3; B_373_3=1; B_373_3=0;
#define	BELL_ON			EA=0; D373_3&=~B_BELL_MASK;  OUT_373_3 EA=1;
#define	BELL_OFF			EA=0; D373_3|=B_BELL_MASK;   OUT_373_3 EA=1;
#define	AUX_OUT_ON		EA=0; D373_3|=AUX_OUT_MASK;  OUT_373_3 EA=1;
#define	AUX_OUT_OFF		EA=0; D373_3&=~AUX_OUT_MASK; OUT_373_3 EA=1;
#define	RS485_SEND		EA=0; D373_3|=B_RS485_MASK;  OUT_373_3 EA=1;
#define	RS485_RECV	   EA=0; D373_3&=~B_RS485_MASK; OUT_373_3 EA=1;

extern void Ret_I(void);

void VOC_play(void)
{
	EA=0;
	P0=VOC_buf[0];  B_373_2=1;  B_373_2=0;  VOC_counter=VOC_buf[1];
	D373_3&=~VOC_PLAY_MASK;					// B_VOC_PLAY=0
	OUT_373_3
	EA=1;
}

void VOC_stop(void)
{
	EA=0;
	P0=VOC_buf[0];  B_373_2=1;  B_373_2=0;  VOC_counter=VOC_buf[1];
	D373_3|=VOC_PLAY_MASK;					// B_VOC_PLAY=1
	OUT_373_3
	EA=1;
}

void Show_mainmenu(void);
void Menu_adduser(void);
void Menu_settime(void);
void Menu_serial(void);
void Menu_deluser(void);

⌨️ 快捷键说明

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