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

📄 debug.h

📁 GPS驱动集合
💻 H
字号:
//#include <reg52.h> 
#include <absacc.h> 
#include <intrins.h> 
#include "stdio.h" 
#include "stdlib.h" 
#include "string.h" 
#include "ctype.h" 
#include "w77c468.h" 
//////////////////////////////////////////////////////// 
#define uchar unsigned char 
#define uint unsigned int 
#define CR 0x0d //carriage return 
#define LF 0x0a //line feed(new line) 
#define PROMPT 0x3e //">" 
#define NUMBASE 48 //ASCII "0",hex:0x30 
#define ALPHABASE 55 //ASCII "A",hex:0x41 
//////////////////////////STC89LE58RD+专用寄存器///////////////////////////////////////// 
//sfr AUXR= 0x8e; //STC89LE58RD+的特列功能寄存器,第0位是ALEOFF,第1位是EXTRAM 
//sfr WDT_CONTR=0xe1; //STC89LE58RD+的内部看门狗寄存器 
//sfr PMR = 0x0c4; //W77E58的寄存器,第0位为DME0: 1:使用片内1K SRAM 0:禁用 

sbit SID = P3 ^ 4; //液晶的串行数据位 
sbit SCLK = P3 ^ 5; //液晶的时钟 
sbit IGT = P3 ^ 2; //手机模块点火引脚 

//////////////////////////////////////////////////////////////////////////////////// 
char idata display_type = 0; //0:蔬菜品种界面;1:价格界面;2:已存信息内容界面 
char idata vege_page_index = 0; //蔬菜品种页面索引:0到9 
char idata info_page_index = 0;
char idata info_count = 0; //已存的蔬菜信息的条数 
char idata vege_type[3]; //蔬菜品种字符串组,保存蔬菜品种的字符串 
char idata vege_price[6]; //蔬菜价格字符串,最长为5位 
//char idata vege_info[31]; //已经存储的蔬菜信息 
//uchar send_or_not; //输入的内容是否被发送出去 send(1) or not(0) 
/////////////////////////////////////////////////////////////////////////////////////////////// 
volatile char xdata RcvBuf[180] _at_ 10; //0x0010; //通过串口接收手机模块的信息 
volatile char xdata ListBuf[180] _at_ 190; //当接收到新的的短信时,拷贝RcvBuf[] 
char xdata PDUBuf[100] _at_ 370; //存储接收到的PDU数据 
volatile char xdata SendBuf[90] _at_ 470; //存储要发送的PDU数据 180 
char xdata CMDBuf[20] _at_ 610; //命令寄存器 
char xdata center_phone[15] _at_ 630; //上位机号码 
char xdata list_indexlist[75] _at_ 645; //存储接收到的短信内容 
char xdata PhoneNumLen = 13; // _at_ 820; //存储通讯的手机号码长度 
//////以上共766个字节 
////////////////////////////////////////////////////////////////////////////////////////////////////////// 
struct tag_SMS_DELIVER
{
  //PDU转换为SMS,将数据分别存储到下列寄存器 
  uchar SMSCLen;
  char AddressType[3];
  char ServiceCenter[15];
  char SMSDeliver1[3];
  uchar PhoneNumLen;
  char PhoneNumType[3];
  char PhoneNumber[15];
  char ProtocolFlag[3];
  char EncodeType[3];
  char TimePost[15];
  uchar PDUDataLen;
  char PDUData[50]; // 地址 0x33D 
};
volatile struct tag_SMS_DELIVER xdata sms_deliver _at_ 720; //共113个字节 
int RcvIndex = 0; //接收缓冲区数据索引 
char LFCount = 0; //LF计数值 
int listchar_count = 0; //接受到的数据字符的个数 
char listcmd_count = 0; //短信条数 
char listcmdindex = 0; //短信索引值的字节长度 
int list_index_begin = 0; //短信开始索引值 
int list_index_end = 0; //短信结束索引值 
int list_PDU_begin = 0; //pdu数据的起始地址,即LF后的第一个字节 
int list_PDU_end = 0; //pdu数据的结束地址 
char bListEnd = 0; //接受到的数据传送结束,原程序中为BIT类型 
char bResponsed = 0; //上位机有短信返回,原程序中为BIT类型 
//////////////////////////////////////////////////////////////////////////////////////////////// 

////////////////////////以下变量为临时调试用/////////////////////////////// 
//char idata rcv[20]; 


////////////////函数定义/////////////////////////////////// 
void delay_1s(void);
//void Rst_Dog(); 
void delay();
void delay_160ms();
void delay_500ms();
void write_cmd(char cmdData);
void write_data(char datData);
void init_LCD();
void put_string(uchar displayStartAddr, char *strSource);
void type_screen();
void price_screen();
void key_num(char x);
void key_dot();
void key_cancel();
void key_confirm();
void key_pageup();
void key_pagedown();
void key_send();
//char *trans_price(void);//变换vege_price为能保存的字符串 
void info_screen();
char *info_string(char x); //返回第x条已存信息字符串 
void init(void);
////////////////////有关手机模块发短信的函数////////////////////////// 
char init_GSM();
//uchar hex2int1(uchar idata * str); //两个字节合并成一个字节(判断品种) 
uchar hex2int(uchar *str); //两个字节合并成一个字节 
void int2hex(uchar num, uchar *dest); //一个字节分解成两个字节 
uchar PDU7BitEncode(char *str, char *dest);
void PDU7BitDecode(char *str, char *dest);
void send_response(void); //发送短信 
void PDU2SMS(char *buf);
void PDUHalf8bitDecode(char *str, uchar len, char *dest);
void receive_SMS(void);
void Data_processing(void);
char ascii_verify(uchar *dest);
void encode_message(void);
void send_string(char *str);
//uchar encode_phone(char idata* phone,char idata* dest); 
uchar encode_phone(char *phone);
char itoa(char num, char *str);
void wait_5s(void);
uchar byte_read(uint byte_addr);
uchar sequential_write(uint begin_addr, uint counter, uchar array[]);
void ISP_enable(void);
void ISP_disable(void);
uchar byte_program(uint byte_addr, uchar original_data);
char find_OK_ERROR();
void startup_init(); //开机初始化

⌨️ 快捷键说明

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