?? debug.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 + -