📄 main.h
字号:
#define byte unsigned char
#define word unsigned int
#define ulong unsigned long
#define true 1
#define false 0
#define On 0
#define Off 1
#define LCD_Addr 0x9000//0xFFFF
#define HC573_Addr 0x8000//0xFFFE
//define byte LED1_Addr _at_ 0xF000;
//xdata byte LED2_Addr _at_ 0xE000;
//xdata byte LED3_Addr _at_ 0xD000;
//xdata byte LED4_Addr _at_ 0xC000;
#define Buzzer_Addr 0xB000
#define LED1_On XBYTE[0xF000]=0x01
#define LED1_Off XBYTE[0xF000]=0x00
#define LED2_On XBYTE[0xE000]=0x01
#define LED2_Off XBYTE[0xE000]=0x00
#define LED3_On XBYTE[0xD000]=0x01
#define LED3_Off XBYTE[0xD000]=0x00
#define LED4_On XBYTE[0xC000]=0x01
#define LED4_Off XBYTE[0xC000]=0x00
#define Buzzer_On XBYTE[0xB000]=0x01
#define Buzzer_Off XBYTE[0xB000]=0x00
#define KB_DB_Out P0
#define KB_DB_In P1
//-------定义SPI--------------
#define SPI_READ_STAT 1
#define SPI_READ_DATA 2
#define SPI_WRITE_STAT 3
#define SPI_WRITE_DATA 4
#define SPI_IDLE_STATE 0
#define SPI_READ_STATE 1
#define SPI_READ_DATA_STATE 2
#define SPI_WRITE_STATE 3
#define SPI_WRITE_DATA_STATE 4
#define Set_SPI_Master SPCTL=0x5C; SPCFG=0x00
#define Set_SPI_Slave SPCTL=0xCC; SPCFG=0x00
//-------定义MODEM状态-------------------
#define MODEM_INIT_STATE 0
#define MODEM_IDLE_STATE 1
#define MODEM_RINGING_STATE 2
#define MODEM_DIALING_STATE 3
#define MODEM_CONNECTED_STATE 4
#define MODEM_DISCONNECTED_STATE 5
//--------定义MODNE EVENT MSG----------------
#define MODEM_OK 0
#define MODEM_RING 1
#define MODEM_BUSY 2
#define MODEM_NO_DIALTONE 3
#define MODEM_NO_CARRIER 4
#define MODEM_CONNECTED_2400 5
#define MODEM_CONNECTED_4800 6
#define MODEM_CONNECTED_9600 7
#define MODEM_CONNECTED_14400 8
#define MODEM_CONNECTED_19200 9
#define MODEM_CONNECTED_28800 10
#define MODEM_CONNECTED_38400 11
#define MODEM_CONNECTED_33600 12
#define MODEM_CONNECTED_56000 13
#define MODEM_CONNECTED_57600 14
#define MODEM_CONNECTED_112000 15
//------定义USB状态-----------------------
#define USB_UNREADY_STATE 0
#define USB_READY_STATE 1
#define USB_RUNNING_STATE 2
//--------定义系统状态---------------
#define SYS_IDLE_STATE 0
#define SYS_MENU_STATE 1
#define SYS_MENU_FILE_LIST_STATE 2
#define SYS_MENU_SETUP_STATE 3
#define SYS_MENU_DIAL_STATE 4
#define SYS_MENU_ONHOOK_STATE 5
#define SYS_DIALING_STATE 6
#define SYS_READY_STATE 7
#define SYS_READY_RECIEVE_STATE 8
#define SYS_RECIEVEING_STATE 9
#define SYS_RECIEVE_FINISHED_STATE 10
#define SYS_READY_SEND_STATE 11
#define SYS_SENDING_STATE 12
#define SYS_SEND_FINISHED_STATE 13
#define SYS_ERROR_STATE 14
#define SYS_RINGING_STATE 15
#define SYS_ANSWER_STATE 16
#define SYS_TX_RX_STATE 17
//------ 时间常量 ---------------
#define _100us 1
#define _1Ms 1
#define _2Ms 2
#define _10MS 10
#define _20MS 20
#define _30MS 30
#define _100MS 100
#define _200MS 200
#define _300MS 300
#define _500MS 500
#define _800MS 800
#define _1S 1000
#define _2S 2000
#define _5S 5000
#define _8S 8000
#define _10S 10000
#define _20S 19620//196200
#define _60S 60000
#define _90S 90000
#define _120S 120000
#define _300S 300000
#define _500S 500000
#define _900S 900000
//------- 系统命令-----------------------
#define LIST_FILE 0X00
#define OPEN_FILE 0X01
#define READ_FILE 0X02
#define FILE_SEEK 0X03
#define CREATE_FILE 0X04
#define WRITE_FILE 0X05
#define DEL_FILE 0X06
#define GET_FREE_SPACE 0x07
#define CKECK_U_DISK 0x08
#define CREATE_DIR 0x09
#define CD_DIR 0x0A
#define BACK_DIR 0x0B
#define BACK_ROOT 0x0C
#define USB_RESET 0x0D
#define FILE_EOF 0x0F
//-------- 定义定时器常量----------------
//#define TH0_DATA 0xFF //4MHz 100us ff62
//#define TL0_DATA 0x62
//#define TH0_DATA 0xFE //6MHz 100us FED4
//#define TL0_DATA 0xD4
#define TH0_DATA 0xF8 //24MHz 1ms FF5F
#define TL0_DATA 0x58
//#define TH0_DATA 0xFE //24MHz 100us FF5F
//#define TL0_DATA 0xA8
//#define TH0_DATA 0xFB //24MHz 100us FF50
//#define TL0_DATA 0x50
//----定义缓冲区长度------
#define Recv_Buf_Len 2048
#define UARTBUT_LEN 37
#define KB_Buf_Len 64
#define Msg_Buf_Len 64
//-----------定义键盘-----------------
#define KB_Scan_Time 200 //10ms 10ms/50us
#define KB_0 0x25
#define KB_1 0x32
#define KB_2 0x22
#define KB_3 0x12
#define KB_4 0x33
#define KB_5 0x23
#define KB_6 0x13
#define KB_7 0x34
#define KB_8 0x24
#define KB_9 0x14
#define KB_STAR 0x35
#define KB_JIN 0x15
#define KB_UP 0x31
#define KB_DOWN 0x21
#define KB_CLEAR 0x43
#define KB_ENTER 0x11
#define KB_MENU 0x42
#define KB_SEND 0x44
#define KB_EXIT 0x41
#define KB_RECIEVE 0x45
//------LPC935引脚定义-----------
/*
sbit CS=P1^6;
sbit KEY_Test=P0^7;
sbit KEY_Set =P1^5;
sbit LED=P1^7;
sbit TX_PTT=P1^6;
*/
sbit SPI_SS=P1^4;
//------- 变量定义 ----------
typedef struct _EVENT_DEF{
byte Active;
byte Byte_data;
} EVENT;
EVENT Key_Down;
EVENT Sys_Ring;
EVENT Sys_Conn;
EVENT Clear_Msg;
//EVENT Send_CMD;
EVENT Send_Data;
EVENT Recv_Finished;
EVENT Send_Finished;
//EVENT I2C_Recieve_Msg;
//EVENT I2C_Buf_Full;
//EVENT Com_Buf_Full;
ulong Cnt_Long_1ms=0;
word Buzzer_time=0;
ulong File_Size=0;
ulong File_Point=0;
word Delay_Cnt=0;
byte xdata Com_Recv_Buf[Recv_Buf_Len];
byte xdata SPI_Recv_Buf[Recv_Buf_Len];
byte xdata File_Name[12];
byte xdata File_Info[33];
byte xdata KB_Recv_Buf[KB_Buf_Len+1];
byte xdata UARTBUF[UARTBUT_LEN];//发送缓冲;
byte xdata Msg_Buf[Msg_Buf_Len];
word data SPI_Write_Point=0;
word data SPI_Read_Point=0;
word data Com_Write_Point=0;
word data Com_Read_Point=0;
byte Msg_Byte_Cnt=0;
byte I_Cnt=0;
byte Recv_To=0;
byte KB_Point=0;
byte data LCD_Latch_DB=0;
byte LED_Latch_DB=0;
byte RollSpace=0;
byte data SYS_Status=SYS_IDLE_STATE;
byte data USB_Status=USB_UNREADY_STATE;
byte data MODEM_Status=MODEM_DISCONNECTED_STATE;
byte Com_Recv_Byte_Cnt=0;
byte SPI_Recv_Byte_Cnt=0;
byte KB_Cnt=0;
byte Key_No=0;
byte Ring_Cnt;
byte Request;
byte Response;
bit Flag_KB_SCAN=false;
bit Flag_KB_Enable=false; //处于KB状态
bit Key_Press=false;
bit ack; /*应答标志位*/
bit Flag_1ms=false;
bit temp_bit;
static bit SPI_TI=0;
static bit COM_TI=0;
static bit Flag_Exit=0;
static bit Flag_Buzzer=0;
static bit mspibusy=0; // SPI not busy
int Rec_Cnt=0;
code byte KB_TABLE[40]=
{KB_0,0x30,KB_1,0x31,KB_2,0x32,KB_3,0x33,KB_4,0x34,KB_5,0x35,KB_6,0x36,KB_7,0x37,KB_8,0x38,
KB_9,0x39,KB_STAR,0x15,KB_JIN,0x43,KB_UP,0x16,KB_DOWN,0x17,KB_CLEAR,0x11,KB_ENTER,0x0D,
KB_MENU,0x81,KB_SEND,0x82,KB_EXIT,0x83,KB_RECIEVE,0x88};
code byte SYS_WORD[65][2]=
{"广","州","市","普","天","众","智","实","业","有","限","公","司","主","菜","单","设","置",
"进","入","退","出","确","定","取","消","发","送","接","收","选","择","键","盘","编","码",
"红","外","按","向","上","下","左","右","文","件","目","录","读","写","数","据","加","密",
"传","真","机","列","表","挂","拨","号","开","发","中"};
code byte SYS_BYTE[91]=
{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I',
'J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','+','-','*','/',',','.',
':',';',0x27,'"','[',']','{','}','?','/',0x5C,'(',')',0x20,'#','@','$','%','&','=','<','>','|'};
code byte * MODEM_MSG[16]=
{"OK","RING","BUSY","NO DIALTONE","NO CARRIER","CONNECT 2400","CONNECT 4800","CONNECT 9600","CONNECT 14400",
"CONNECT 19200","CONNECT 28800","CONNECT 33600","CONNECT 38400","CONNECT 56000",
"CONNECT 57600","CONNECT 115200"};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -