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

📄 memory.asm

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 ASM
字号:

NAME MEMORY  
;;对于想把一外部存贮器的变量定位可采用如下方法:
;;  xseg at 80h
;;    varible:  ds   2
;;这样VARIBLE 变量就被定位于外部存贮器中了
;;在C语言里声明外部变量时用如下方法:
;;  xdata unsigned char varible;即可

public flag1
public key_flag_F,content_disp_F,content_disp_end_F
public at_label,disp_change_F,full_screen_F,mes_list_F,prev_page_F

public flag2
public str_disp_end_F,clear_scr_F,call_disp_F
public now_port_F,pre_port_F,read_mes_F,work_F,led_en_F

public flag3
public backup_prc_F,write_F,store_prc_F,pre_store_prc_F
public COMERR_F,received_mes_F,one_frame_F,send_all_suc_F

public flag4
public led_F,mes_sw_F
public key_data,key_tmr,keyvld,keyvld_old
public disp_mode,disp_mode_old,disp_no_u,disp_no_u_old
public select_position,scr_mes_num,list_num
public content_row,content_col
public mes_list,mes_list_old,last_mes_list,mes_content          
public del_mes_p,actual_store_p,actual_fetch_p
public mes_data_p
public font_size,hrx_str,hrx_rd,htx_cnt,rx_byte_cnt
public receive_step
public com_cnt,rx_screen_cnt
public mes_store_p        ;;将rx_prc_buff中的内容暂存入mes_data时
                          ;;所指向mes_data的指针
public time_out
public list_str,back_cor,char_cor,select_position_old
public str_row,str_col,main_step,sw_delay
public exit_time
public backup_sec_time,backup_min_time,backup_hour_time
;public backup_step
public backup_mes_ctr_cnt
public write_delay_time
public prc_ctr_block   ;;指向存贮信息时从空链表中分配到的内存块
public page_addr       

public backup_mes_control_no,read_mes_page_adr
public fresh_time

public watch_dog_time
;;xdata中的0X00开始
public init_code
public local_adr1,local_adr2,local_adr3,local_adr4                           
public free_tcb_list,disp_tcb_list
;;xdata中的0X80开始
public MES_NULL
;;xdata中的0x100开始
public mes_control        ;实际程序处理时,都在这里进行,这里改变
                          ;就得在FLASH中备份,以防掉电时出错

public mes_data          ;将接收到的信息先放到这里
public hrx_buff           ;将串口接收到的数据放入此中
public htx_buff,rx_prc_buff,num_code,content_list

/*flash memory定义*/

public init_code_b        ;该三个代码是用来识别系统复位时需要哪些初始化 
public local_adr1_b,local_adr2_b,local_adr3_b,local_adr4_b
public free_tcb_list_b,disp_tcb_list_b

public mes_control_b
public special_addr2,special_addr1

;public test_ram_adr1,test_ram_adr2,test_ram_adr3
;public test_flash_adr1,test_flash_adr2,test_flash_adr3

              

DSEG AT 2ah
flag1: ds 1
    key_flag_F EQU flag1.0
    content_disp_F EQU flag1.1
    content_disp_end_F EQU flag1.2
    at_label   EQU flag1.3
    disp_change_F EQU flag1.4
    full_screen_F EQU flag1.5
    mes_list_F    EQU flag1.6
    prev_page_F   EQU flag1.7
flag2:  ds 1
    str_disp_end_F EQU flag2.0
    clear_scr_F EQU flag2.1
    call_disp_F EQU flag2.2
    now_port_F  EQU flag2.3
    pre_port_F  EQU flag2.4
    read_mes_F  EQU flag2.5
    work_F      EQU flag2.6          ;;0:接收卡处于正常接收工作状态
    led_en_F    EQU flag2.7                                ;;1:接收设置本机地址状态
flag3:  ds 1
    backup_prc_F EQU flag3.0
    write_F      EQU flag3.1
    store_prc_F  EQU flag3.2
    pre_store_prc_F EQU flag3.3
    COMERR_F     EQU flag3.4
    received_mes_F EQU flag3.5
    one_frame_F  EQU flag3.6
    send_all_suc_F EQU flag3.7
flag4:  ds 1
    led_F EQU flag4.0
    mes_sw_F EQU flag4.1
  


DSEG AT 30h

key_data:    ds 3
key_tmr:     ds  1
keyvld:      ds  1
keyvld_old:  ds  1
disp_mode:   ds 1               ;;modify
disp_mode_old: ds 1
disp_no_u:   ds 1
disp_no_u_old: ds 1
select_position: ds 1           ;;modify
scr_mes_num: ds 1               ;;modify
list_num:  ds  1
content_row:      ds  1
content_col:      ds  1

DSEG AT 40h

mes_list:       ds 2          ;;modify
mes_list_old:   ds 2
last_mes_list:  ds 2          ;;modify
mes_content:    ds 2          ;;modify
del_mes_p:      ds 2          ;;modify
actual_store_p: ds 2
actual_fetch_p: ds 2
mes_data_p:     ds 2     ;;将rx_prc_buff中的内容暂存入mes_data时
                          ;;所指向mes_data的指针

font_size:     ds 1
receive_step:  ds 1

hrx_str:       ds 2
hrx_rd:        ds 2
htx_cnt:       ds 1         
rx_byte_cnt:   ds 1
com_cnt:       ds 1
rx_screen_cnt: ds 1
mes_store_p:   ds 2
time_out:      ds 1
watch_dog_time: ds 2


DSEG AT 60h
list_str:      ds 11

back_cor:     ds 1
char_cor:      ds 1
select_position_old:  ds 1
str_row:  ds 1
str_col:  ds 1


ISEG AT 80h
main_step:  ds 1
sw_delay:   ds 2

exit_time:  ds 2
backup_sec_time: ds 2
backup_min_time: ds 1
backup_hour_time: ds 1
;backup_step:  ds 1
backup_mes_ctr_cnt: ds 1
write_delay_time:   ds 1
prc_ctr_block:    ds 2    ;;指向存贮信息时从空链表中分配到的内存块
page_addr:       ds 1
backup_mes_control_no: ds 1
read_mes_page_adr: ds 1
fresh_time: ds 1
;rx_prc_buff:  ds 39

;/****          SRAM  和FLASH MEMORY的内存MAP图           ****/
;/*   ********************************************************/
;/*            FLASH MEMORY                                  */
;/*   * first page* *seconde page* *three page* *four page*  */
;/*   *  0xffff   * * 0x1ffff    * *  0x2ffff * *  0x3ffff*  */
;/*   *           * *            * *          * *         *  */
;/*   *  0x1000   * * 0x11000    * *  0x21000 * *  0x31000*  */
;/*   其中0X1000 到0XFFFF分成4段,用于对一些重要数据的       */                                 */
;/*   循环备份,以避免FLASH擦写寿命的限制                    */
;/*   从第二页开始进行贮存信息                               */  
;/*   SRAM 区定义变量 共占4K区 0x00-0xfff                    */

;xseg at 0x00
;test_ram_adr1:  ds 1    ;
;xseg at 0x555
;test_ram_adr2:  ds 1
;xseg at 0xaaa
;test_ram_adr3:  ds 1



xseg at 00h
init_code:     ds 3
local_adr1:    ds 1
local_adr2:    ds 1
local_adr3:    ds 1
local_adr4:    ds 1                            
;free_tcb_list: ds 2     
;disp_tcb_list: ds 2


xseg at 0x80

MES_NULL: DS 9

xseg at 100h
free_tcb_list: ds 2
disp_tcb_list: ds 2

;xseg at 200h
mes_control: ds 1800      ;实际程序处理时,都在这里进行,这里改变
                         ;就得在FLASH中备份,以防掉电时出错


xseg at 900h
mes_data:     ds 512      ;将接收到的信息先放到这里
hrx_buff:     ds 120       ;将串口接收到的数据放入此中
htx_buff:     ds 7
rx_prc_buff:  ds 39
num_code:     ds 7
content_list: ds 20

/*flash memory定义*/
xseg at 1000h
init_code_b:  ds 3      ;该三个代码是用来识别系统复位时需要哪些初始化 
local_adr1_b: ds 1
local_adr2_b: ds 1
local_adr3_b: ds 1
local_adr4_b: ds 1
;free_tcb_list_b:  ds 2
;disp_tcb_list_b:  ds 2

xseg at 1100h
free_tcb_list_b:  ds 2
disp_tcb_list_b:  ds 2
mes_control_b:  ds 1800;

xseg at 2aaah
special_addr2:  ds 1
xseg at 5555h
special_addr1:  ds 1

;;xseg at 1000h
;test_flash_adr1: ds 1
;xseg at 0x5555
;test_flash_adr2: ds 1
;xseg at 0xaaaa  
;test_flash_adr3: ds 1



end

⌨️ 快捷键说明

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