?? gps.asm
字號:
;*******************************************************
; 文件號 : TR2002LCD *
; 標 題 : 集成車載終端 V1.0 *
; 文件名 : TR2002LCD.ASM *
; 設計日期: 2003年2月21日 *
; 備 注: 為廣州宏達興通訊公司 修改 不帶GPS顯示界面*
; 按鍵循環移動 *
;*******************************************************
;特殊寄存器定義區
EC BIT IE.6
S1CON EQU 0D8H
CR2 BIT S1CON.7
ENS1 BIT S1CON.6
STA BIT S1CON.5
STO BIT S1CON.4
SI BIT S1CON.3
AA BIT S1CON.2
CR1 BIT S1CON.1
CR0 BIT S1CON.0
S1DAT EQU 0DAH ;接收和發送數據
S1IST EQU 0DCH ;用于硬件I2C總線的硬件設定、使能、啟動,結束
S1ADR EQU 0DBH ;I2C用于存放本機從地址
S1STA EQU 0D9H ;指示I2C總線的操作狀態碼,高五位有效
S0CON EQU 98H;
FE BIT S0CON.7 ;
CCON EQU 0C0H ;
CF BIT CCON.7 ;
CR BIT CCON.6 ;
CCF4 BIT CCON.4 ;
CCF3 BIT CCON.3 ;
CCF2 BIT CCON.2 ;
CCF1 BIT CCON.1 ;
CCF0 BIT CCON.0 ;
CMOD EQU 0C1H;
CCAPM0 EQU 0C2H;
CCAPM1 EQU 0C3H;
CCAPM2 EQU 0C4H;
CCAPM3 EQU 0C5H;
CCAPM4 EQU 0C6H;
CL EQU 0E9H;
CCAP0L EQU 0EAH;
CCAP1L EQU 0EBH;
CCAP2L EQU 0ECH;
CCAP3L EQU 0EDH;
CCAP4L EQU 0EEH;
CH EQU 0F9H;
CCAP0H EQU 0FAH;
CCAP1H EQU 0FBH;
CCAP2H EQU 0FCH;
CCAP3H EQU 0FDH;
CCAP4H EQU 0FEH;
AUXR EQU 8EH
AUXR1 EQU 0A2H;
WDTRST EQU 0A6H;
T2CON EQU 0C8H;
T2MOD EQU 0C9H
TCLK BIT T2CON.4;
RCLK BIT T2CON.5;
IPH EQU 0B7H
;------------------------------------------------------------------------
MAXNUMH EQU 00H ;保存運行信息最大條數的高位
MAXNUML EQU 0FDH ;保存運行信息最大條數的低位
CMAXNUMH EQU 00H ;保存運行信息最大條數的高位
CMAXNUML EQU 0E1H ;保存運行信息最大條數的低位
ICGPSADDR EQU 0020H ;保存GPS的開始地址
ICCALLADDR EQU 0221H ;保存固定電話的開始地址
ICGMESSADDR EQU 0100H ;保存固定短語的開始地址
BASTL0 EQU 099H ;TL0= 99H
BASTH0 EQU 0F1H ;TH0=0F1H 11.059M 晶振 CT2 2MS 定時
EEPRADR1 EQU 0A0H ;IC卡 SEEPROM 塊地址
EEPRADR2 EQU 0A2H ;內部EEPROM1的塊地址
EEPRADR3 EQU 0A6H ;內部EEPROM2的塊地址
KZERO EQU 00H ;數字0鍵
KONE EQU 01H ;數字1鍵
KTWO EQU 02H ;數字2鍵
KTHREE EQU 03H ;數字3鍵
KFOUR EQU 04H ;數字4鍵
KFIVE EQU 05H ;數字5鍵
KSIX EQU 06H ;數字6鍵
KSEVEN EQU 07H ;數字7鍵
KEIGHT EQU 08H ;數字8鍵
KNINE EQU 09H ;數字9鍵
KMENU EQU 0AH ;菜單鍵
KUP EQU 0BH ;上翻頁鍵
KDOWN EQU 0CH ;下翻頁鍵
KCANCEL EQU 0DH ;取消鍵
KENTER EQU 0EH ;確定鍵
EMPTYSTAVLU EQU 60H ;空車
CARRYSTAVLU EQU 62H ;載客
LINE0 EQU 0 ; 液晶行值定義
LINE1 EQU 1
LINE2 EQU 2
LINE3 EQU 3
LINE4 EQU 4
COLU0 EQU 0 ; 液晶列值定義
COLU1 EQU 1
COLU2 EQU 2
COLU3 EQU 3
COLU4 EQU 4
COLU5 EQU 5
COLU6 EQU 6
COLU7 EQU 7
COLU8 EQU 8
COLU9 EQU 9
COLU10 EQU 10 ; 液晶列值定義
COLU11 EQU 11
COLU12 EQU 12
COLU13 EQU 13
COLU14 EQU 14
COLU15 EQU 15
COLU16 EQU 16
COLU17 EQU 17
COLU18 EQU 18
COLU19 EQU 19
;-------------------------------------------------
;輸入輸出端口定義
;-------------------------------------------------
ADRI_0 BIT P1.0 ;串口數據發送[相對CPU]地址控制
ADRI_1 BIT P1.1 ;串口數據發送[相對CPU]地址控制
ADRO_0 BIT P1.2 ;串口數據接收[相對CPU]地址控制
ADRO_1 BIT P1.3 ;串口數據接收[相對CPU]地址控制
BUSY BIT P1.5 ;
REQ BIT P1.4 ;IC卡插卡標志 (低)
BKLED BIT P2.7 ;液晶背光控制(低)
CSTATUS BIT P2.6 ;汽車狀態 =1時,空車;=0為重車
MONITOR BIT P2.5 ;監聽
TTS_WAKEUP BIT P2.4 ;提示音
MUTE BIT P2.3 ;靜音控制
LOCK2 BIT P2.2 ;=1:開鎖|=0:鎖車
LOCK1 BIT P2.1 ;=1:開鎖|=0:鎖車
;JUMP1 BIT P2.0
BUZZER BIT P3.6 ;蜂鳴器(低)
PTT BIT P3.5
KEY BIT P3.4 ;按鍵掃描
PTTH BIT P3.3 ;PTT IN
WARN BIT P3.2 ;報警輸入
ICCARD BIT P2.0 ;IC卡插卡標志 (低)
;-------------------------------------------------
; 片內RAM 位地址
;-------------------------------------------------
DEALYMUSICBIT BIT 29H ;加入提示音延時標志位
KEYPOSHBIT BIT 30H ;
OUTNETBIT BIT 31H ;脫網標志
CHECKPOSBIT BIT 32H ;電子圍欄
FIRSTSCANSTA BIT 33H ;第一次掃描汽車的狀態值;第二次掃描時如是重車提示
DOWNLOADICBIT BIT 34H ;下載卡
KEYPOSOKBIT BIT 35H
RUNAGAINBIT BIT 36H ;第一次運行控制的標志位,第二次不運行;
SAVEGPSBIT BIT 37H ;保存GPS標志位
RDEPGPSOKBIT BIT 38H ;讀完一幀EPPROM中的GPS數據結束
RDEPGPSENDBIT BIT 39H ;讀EPPROM的GPS數據結束標志位
TXEPGPSBIT BIT 3AH ;讀EPPROM的GPS數據并發送的標志位
NCIRCLEBIT BIT 3BH ;按鍵循環移動標志
OVERRANGEBIT BIT 3CH ;越界圖標
EEPROM1OKBIT BIT 3DH ;EEPROM1正常與否標志 =0正常 ;=1不正常
EEPROM2OKBIT BIT 3EH ;EEPROM2正常與否標志 =0正常 ;=1不正常
LCDOKBIT BIT 3FH ;LCD正常與否標志 =0正常 ;=1不正常
RXBITG BIT 40H ;開始接收GPS數據
RXBITF BIT 41H ;開始接收FC201數據
RXGPSOKBIT BIT 42H ;接收到一幀GPS數據
RXFC201OKBIT BIT 43H ;接收到一幀FC201數據
DGPSOKBIT BIT 44H ;液晶顯示GPS數據標志
FGPSOKBIT BIT 45H ;發送到中心的GPS數據就緒標志
AUTOLEDBIT BIT 46H
BKLEDBIT BIT 47H ;背光位標志,1為有
KIC BIT 48H ;IC卡位置 0=不到位 1=到位
HVICBIT BIT 49H ;IC卡位置有輸入位標志
NOICBIT BIT 4AH ;IC卡位置無輸入位標志
READICBIT BIT 4BH ;需讀IC卡內容位標志
UPDATEICBIT BIT 4CH ;更新固定信息標志
RAMTROM BIT 4DH ;顯示菜單項是從RAM=0或ROM=1
DFROMBIT BIT 4EH ;=1,液晶顯示字符串在ROM,=0,在RAM
HVNUMKEYBIT BIT 4FH ;對快捷數字鍵處理
DISDLYBIT BIT 50H ;當其為1時,顯示狀態切換
REFRESHBIT BIT 51H ;是否需要刷新標志,=1需要刷新,=0不需要刷新
REALGPSBIT BIT 52H ;實時GPS數據
SCANBIT BIT 53H ;檢測到有鍵按下
INSCANBIT BIT 54H ;正在掃描
SCANVHBIT BIT 55H ;掃描高電平OK標志
KEYDNBIT BIT 56H ;有鍵按下標志
KEYUPBIT BIT 57H ;按鍵松開標志
KEYOK BIT 58H ;按鍵有效標志
ALARMBIT BIT 59H ;接收到CDPD新數據報響位標志
EXITBIT BIT 5AH ;子程序退出位標志(時間轉換子程序用)
INTSYS BIT 5BH ;開機系統設置位
TOINTSYS BIT 5CH ;系統菜單已經啟動
TONORMAL BIT 5DH ;已經進入正常工作菜單模式
NORMALFIRST BIT 5EH ;是否已經進入工作菜單一級菜單
NASECMENU BIT 5FH ;設置二級子菜單菜單狀態
NATHIRMENU BIT 60H ;設置三級子菜單菜單狀態
NAFORMENU BIT 61H
PageCH BIT 62H ;顯示頁面更換
INMESSSHOWBIT BIT 63H
GPSMODBIT BIT 64H ;顯示GPS圖標標志位
RADIOMODBIT BIT 65H ;顯示電臺圖標標志位
SHOWSMESSBIT BIT 66H ;顯示短信標志位
CALLORDERBIT BIT 67H
WELINPUTBIT BIT 68H
RXMESSOKBIT BIT 69H ;接收短信OK標志位
LESSBIT BIT 6AH ;判斷大小
ACK BIT 6BH ;EEPROM讀寫成功標志位
INIMESSBIT BIT 6CH ;初始化短信菜單項
DRIVERICBIT BIT 6DH ;司機身份卡
CHECKWARNBIT BIT 6EH ;報警掃描標志位;=1:報警被觸發
AFFIRMWARNBIT BIT 6FH ;報警確認標志位;=1:確認報警
RXXDJOKBIT BIT 70H ;接收計價器數據一幀結束標志位
RXXDJBIT BIT 71H ;
HAVNUMKEYBIT BIT 72H ;快捷鍵按下標志
OPENUMODEBIT BIT 73H ;打開單元的工作模式標志位:=1定時打開單元;=0:不定時的打開單元
CALLNUMODDBIT BIT 74H ;電話號碼位數
INREQBIT BIT 75H ;請求通話界面
INDIALBIT BIT 76H ;輸入電話號碼界面
CARSTATUS EQU 2FH ;汽車各個控制狀態記錄值
WARNBIT BIT 7FH ;報警標志位 =1:報警; =0:常態
CARKZBIT BIT 7EH ;空車或重車標志位 =1:重車;=0:空車
LOCKBIT BIT 7DH ;鎖車標志位 =1;鎖車;=0:解鎖
OCUNITBIT BIT 7CH ;打開或關閉單元標志位 =1:關閉;=0:打開
KARADBIT BIT 7BH ;槍斃或復活電臺標志位 =1:槍斃;=0:復活
LISTENBIT BIT 7AH ;監聽或不監聽 =1:監聽;=0:常態
TRACKBIT BIT 79H ;跟蹤或停止 =1:跟蹤;=0:常態
JUMPRADBIT BIT 78H ;跳臺 =1:跳臺;=0:常態
STACHGBIT BIT 77H ;汽車控制發生變化標志位 =1:變化;=0:常態
;-------------------------------------------------
; 片內ERAM存 #0000H-1FFFH
;-------------------------------------------------
TEMPBUFF EQU 0000H ;緩沖處理空間[128字節]
MENUSTATUS EQU 0000H ;菜單狀態保存
FIRMENUADDRH EQU 0080H ;存儲菜單地址高位
FIRMENUADDRL EQU 0081H ;存儲菜單地址低位
FIRMENUITEM EQU 0082H ;幾個子菜單項
FIRSUBMENUPN EQU 0083H ;當前菜單指針指向1
FIRMENUHEADH EQU 0084H ;菜單頭高地址
FIRMENUHEADL EQU 0085H ;菜單頭低地址
FIRMENUPOS EQU 0086H ;菜單內容位置
SECMENUADDRH EQU 0087H ;存儲菜單地址高位
SECMENUADDRL EQU 0088H ;存儲菜單地址低位
SECMENUITEM EQU 0089H ;幾個子菜單項
SECSUBMENUPN EQU 008AH ;當前菜單指針指向1
SECMENUHEADH EQU 008BH ;菜單頭高地址
SECMENUHEADL EQU 008CH ;菜單頭低地址
SECMENUPOS EQU 008DH ;菜單內容位置
THIMENUADDRH EQU 008EH ;存儲菜單地址高位
THIMENUADDRL EQU 008FH ;存儲菜單地址低位
THIMENUITEM EQU 0090H ;幾個子菜單項,兩個為一頁
THISUBMENUPN EQU 0091H ;當前菜單指針指向1
THIMENUHEADH EQU 0092H ;菜單頭高地址
THIMENUHEADL EQU 0093H ;菜單頭低地址
THIMENUPOS EQU 0094H ;菜單內容位置
GPSLON EQU 00A0H ;經度(8個字節ASC)
GPSLAT EQU 00A8H ;緯度(8個字節ASC)
GPSSPD EQU 00B0H ;速度(4個字節ASC)
GPSDEG EQU 00B4H ;方向(4個字節ASC)
GPSHGH EQU 00B8H ;高度(8個字節ASC)
GPSTIME EQU 00C0H ;時間(12個字節ASC)
GPSTIMED EQU 00D0H ;時間(12個字節ASC) 北京時間
PEOPLECOUNT EQU 00E0H ;人數(1個字節)
ICSTATUS EQU 00E1H ;顯示狀態1(1個字節)
STATUSVALUE EQU 00E2H ;顯示狀態2(1個字節)
TAXISTATUS EQU 00E3H ;狀態信息(1個字節)
TAXISTATUSBC EQU 00E4H ;狀態備用信息(1個字節)
DGPSLON EQU 00F0H ;經度(4個字節BCD)
DGPSLAT EQU 00F4H ;緯度(4個字節BCD)
DGPSSPD EQU 00F8H ;速度(2個字節BCD)
DGPSDEG EQU 00FAH ;方向(2個字節BCD)
DGPSHGH EQU 00FCH ;高度(4個字節BCD)
DGPSTIME EQU 0100H ;時間(6個字節BCD) DDMMYYHHMMSS
TRACKTIME EQU 0106H ;跟蹤時間間隔 [2個字節]
TRACKNUM EQU 0108H ;跟蹤次數[2個字節]
FCTEMPSTR EQU 010AH ;暫寄存器[4個字節]
FC201HEAD EQU 0120H ;FC201發送幀頭(16個字節)
TXFCBUFF EQU 0130H ;FC201發送緩沖區(32個字節)
TAXIDATA EQU 0150H ;出租車計費信息[12]
Port0_RxBUFF EQU 0180H ;FC201接收緩沖區的起始地址(共128個字節)
Port1_RxBUFF EQU 0200H ;GPS接收緩沖區的起始地址(共256個字節)
Port2_RxBUFF EQU 0300H ;計價器數據接收緩沖區的起始地址(共128個字節)
MESSBUFF EQU 0380H ;短信顯示緩沖區(共128個字節)
TRACKTIMEBC EQU 0520H ;跟蹤時間間隔備份
TRACKNUMBC EQU 0522H ;跟蹤次數備份
CALLRAM EQU 0530H ;電話號碼數
OPENUNITTIME EQU 0540H ;定時單元的定時時間,以10秒為一個記時單位
OPENDTIME EQU 0541H ;定時=10秒裝入值
TEMPRAM1 EQU 0542H
TEMPRAM2 EQU 0543H
NOICTIME EQU 0544H ;無卡時間計數
HVICTIME EQU 0545H ;有卡時間計數
NEWMESSCOUNT EQU 0546H ;接收到新短信的計數:如收到一短信,未能查看[接動鍵盤],計一次
WARNBMPBYTE EQU 0547H ;報警中心回應圖標標志字節:=EEH,接收到報警回應,=FFH,常態
U_NDEALYNUS EQU 0548H ;提示音延時
DATERAM EQU 0550H ;16個字節
TEMPCALLSTR EQU 0560H ;重拔號碼緩沖區
;-------------------------------車輛信息
CARnumber EQU 0600H ;汽車號碼[8個字節]
XDJID EQU 0608H ;計價器ID[8個字節]
DRIVERID EQU 0610H ;司機ID[8個字節]
XDJSIMPLEM EQU 0618H ;本次營業單價[2個字節]
XDJmileage EQU 061AH ;本次計價器營業里程[3個字節]
XDJtime EQU 0620H ;計時時間[3個字節]
XDJmoney EQU 0623H ;本次營業金額[3個字節]
CEPTmileage EQU 0626H ;空車里程[3個字節]
CARcount EQU 0629H ;車次[2個字節]
PORT2RX_PN EQU 0630H ;串口2接收指針:計價器數據
;-------------------------------定時保存GPS數據式其它相關信息
;數據格式:幀頭[1]|日期時間[6]|緯度[4]|經度[4]|海拔高度[4]|速度[2]|方位角[2]|
;+中心指令[1]+本地狀態[1]+0FFH+0DH
GPSFRAME_PN EQU 0700H ;當前擁有的GPS數據存的[條數+指針][4個字節]
RDEPGPS_PN EQU 0706H ;讀EPPROM中的GPS數據當前條數據指針;初始化的為0 [1]
GPSSAVEBUFF EQU 0710H ;保存的GPS數據ERAM緩沖區[32個字節]
RDEPGPSBUFF EQU 0730H ;讀出GPS數據的ERAM緩沖區[32個字節]
CGPSFRAMPN EQU 0750H ;IC卡保存GPS數據的條數和指針緩沖區[4個字節]
POSCHECKBUFF EQU 0760H ;用于保存中心過來的區域調度經緯度信息[16個字節]
POSCHECKBUFF0 EQU 0770H ;用于保存中心過來的電子圍欄經緯度信息[16個字節]
OUTRANGECNT EQU 0780H ;越界計數延時[1個字節]
CALLGMESSBUFF EQU 0790H ;發送電話和固定短語緩沖區[12個字節]
DRIVERIDSTR EQU 07A0H ;共5個字節
DKEYRAM EQU 07A5H ;保存復合鍵
;--------------------------------
CARSTABUFF EQU 07E0H ;汽車狀態保存緩沖劃區:[3個字節]
;--------------------------------
PHRDISPBUFF EQU 0800H ;固定短語顯示緩沖區(可以顯示40條固定短語)
;-------------------------------語音合成區
TTS_FRAME EQU 0A00H ;保存TTS語音合成文本
TTS_OPENTIME EQU 0A80H ;轉化為TTS打開單元時間
ATTMESSTIME EQU 0A90H ;調度短信時轉化的北京時間[6個字節]HH\MM\SS
TTS_LEN EQU 0AA0H ;TTS語音數據長度
MESS_LON EQU 0AA1H ;保存短信長度
;-------------------------------
CALLDISPBUFF EQU 0B00H ;電話號碼顯示緩沖區(可以顯示40條電話號碼)
;-------------------------------
TEMPCALLBUFF1 EQU 0D00H ;臨時電話號碼
TEMPCALLBUFF2 EQU 0E00H ;臨時電話號碼時間
MESSMENU EQU 1000H ;短消息菜單項,最多16項->288byte(16*18):0400H-0520H
;-------------------------------------------------
; 片內RAM存 #30H-FFFH
;-------------------------------------------------
Port0_Rx_PN EQU 30H ;FC201緩沖區的指針
Port1_Rx_PN EQU 31H ;GPS接收緩沖區的指針
GPS_START EQU 32H ;GPS起始地址
ENCPN EQU 33H ;加密基數指針
ENCVALUE EQU 34H ;加密基數
ENCTEMP1 EQU 35H ;加密暫存
ENCRADIX1 EQU 36H ;加密基數1
ENCRADIX2 EQU 37H ;加密基數2
FC201COM EQU 38H ;保存中心發來的指令
MAIN_ID0 EQU 39H ;目的地址高位
MAIN_ID1 EQU 3AH ;目的地址低位
DATA_TYPE EQU 3BH ;數據類型(GPS,計價器)
MESSNUM EQU 3CH ;短信條數
MESSPN EQU 3DH ;短信位置指針
DISPLINE EQU 3EH ;液晶顯示行(0-7)
DISPCOLU EQU 3FH ;液晶顯示列(0-24*8)
BMPLINE EQU 40H ;BMP HEIGTH **局部變量
BMPCOLU EQU 41H ;BMP WIDTH **局部變量
StartLine EQU 42H ;圖片顯示起始行
StartColu EQU 43H ;圖片顯示起始列
HZCODE1 EQU 44H ;漢字機器內碼高位
HZCODE2 EQU 45H ;漢字機器內碼低位
STRHADR EQU 46H ;顯示ROM或RAM中字符串的高位地址
STRLADR EQU 47H ;顯示ROM或RAM中字符串的低位地址
MENUADDRH EQU 48H ;存儲菜單地址高位
MENUADDRL EQU 49H ;存儲菜單地址低位
MENUITEM EQU 4AH ;幾個子菜單項,兩個為一頁
SUBMENUPN EQU 4BH ;當前菜單指針指向1
SUBMCURPG EQU 4CH ;當前頁的指針(1或2)(反白顯示)
MENUHEADH EQU 4DH
MENUHEADL EQU 4EH
SMENUITEM EQU 4FH ;二級幾個子菜單項,兩個為一頁
UPDATTEMP EQU 50H ;固定信息更新緩沖
INPUTDLY EQU 51H ;輸入等待延遲時間
INNETCNT EQU 52H ;在網時間計數
STRNUM EQU 53H ;最多顯示字符數
RXBUF EQU 54H ;接收緩沖區
C10MS EQU 55H ;用于10MS定時
C20MS EQU 56H ;用于10MS定時
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -