📄 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 + -