📄 display_board2.1.lis
字号:
.module display_board2.1.c
.area lit(rom, con, rel)
0000 _DISCODE::
0000 3F06 .byte 63,6
0002 5B4F .byte 91,'O
0004 666D .byte 'f,'m
0006 7D07 .byte 125,7
0008 7F6F .byte 127,'o
000A 777C .byte 'w,124
000C 395E .byte 57,94
000E 7971 .byte 'y,'q
0010 0040 .byte 0,64
0012 63 .byte 'c
0013 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0013 .dbsym e DISCODE _DISCODE A[19:19]kc
.area data(ram, con, rel)
0000 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0000 _Disp_Buff::
0000 .blkb 2
.area idata
0000 0000 .byte 0,0
.area data(ram, con, rel)
0002 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0002 .blkb 2
.area idata
0002 0000 .byte 0,0
.area data(ram, con, rel)
0004 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0004 .blkb 2
.area idata
0004 0000 .byte 0,0
.area data(ram, con, rel)
0006 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0006 .blkb 2
.area idata
0006 0000 .byte 0,0
.area data(ram, con, rel)
0008 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0008 .dbsym e Disp_Buff _Disp_Buff A[8:8]c
0008 _disp_key_count::
0008 .blkb 1
.area idata
0008 00 .byte 0
.area data(ram, con, rel)
0009 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0009 .dbsym e disp_key_count _disp_key_count c
0009 _disp_code::
0009 .blkb 2
.area idata
0009 0000 .word 0
.area data(ram, con, rel)
000B .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
000B .dbsym e disp_code _disp_code I
000B _time_count_sys::
000B .blkb 2
.area idata
000B 0000 .word 0
.area data(ram, con, rel)
000D .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
000D .dbsym e time_count_sys _time_count_sys i
000D _key_num::
000D .blkb 1
.area idata
000D 00 .byte 0
.area data(ram, con, rel)
000E .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
000E .dbsym e key_num _key_num c
000E _old_key_num::
000E .blkb 1
.area idata
000E 00 .byte 0
.area data(ram, con, rel)
000F .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
000F .dbsym e old_key_num _old_key_num c
000F _new_key_num::
000F .blkb 1
.area idata
000F 00 .byte 0
.area data(ram, con, rel)
0010 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0010 .dbsym e new_key_num _new_key_num c
0010 _key_buff::
0010 .blkb 2
.area idata
0010 0000 .byte 0,0
.area data(ram, con, rel)
0012 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0012 .blkb 2
.area idata
0012 0000 .byte 0,0
.area data(ram, con, rel)
0014 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0014 .blkb 2
.area idata
0014 0000 .byte 0,0
.area data(ram, con, rel)
0016 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0016 .blkb 2
.area idata
0016 0000 .byte 0,0
.area data(ram, con, rel)
0018 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0018 .dbsym e key_buff _key_buff A[8:8]c
0018 _key_down_time::
0018 .blkb 2
.area idata
0018 0100 .word 1
.area data(ram, con, rel)
001A .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
001A .dbsym e key_down_time _key_down_time I
001A _key_delay::
001A .blkb 1
.area idata
001A 00 .byte 0
.area data(ram, con, rel)
001B .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
001B .dbsym e key_delay _key_delay c
001B _delay_time_count::
001B .blkb 2
.area idata
001B 0000 .word 0
.area data(ram, con, rel)
001D .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
001D .dbsym e delay_time_count _delay_time_count i
.area text(rom, con, rel)
0000 .dbfile C:\Documents and Settings\fli\桌面\广告屏程序\写字库程序/disp_key.h
0000 .dbfunc e delay _delay fV
0000 ; n -> R16,R17
.even
0000 _delay::
0000 .dbline -1
0000 .dbline 47
0000 ; /*器件:AVR ATMEGA16、373缩存器、62256K扩展RAM
0000 ; I/O定义:
0000 ; SPI接口显示键盘:
0000 ; PB0: 键盘
0000 ; PB1: RCK
0000 ; PB2: SCK
0000 ; PB3: DATA
0000 ; SPI屏幕接口:
0000 ; PC7: DATA
0000 ; PD3: SCK
0000 ; PD4: RCK
0000 ; RAM:
0000 ; PA0~7: PC0~7 A0~A15地址线
0000 ; PC0~6: DATA总线复用
0000 ; PD7: ALE
0000 ; PD6: WE
0000 ; PD5: RE
0000 ; 下载:
0000 ; PB4~7: SPI通讯和下载端口
0000 ; PD0~1: UART通讯口
0000 ; 电机:
0000 ; PD2: 外中断,电机脉冲
0000 ; */
0000 ;
0000 ; /********************************************************
0000 ; 广告屏程序第二次改版----主显示控制模块程序2.0
0000 ;
0000 ; 1、程序采用模块化构架,提高了可读性
0000 ; 2、此程序支持第二套广告屏硬件
0000 ; 3、创建时间:2004年11月23日
0000 ; 4、作者:西南科技大学 电子设计大赛第8大组
0000 ; 注意:需要包括 :<disp_key.h>
0000 ;
0000 ; ********************************************************/
0000 ;
0000 ;
0000 ;
0000 ; /***************************************************
0000 ; 头文件申明
0000 ; ****************************************************/
0000 ;
0000 ; #include<iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "disp_key.h"
0000 ; #include "flash_M16.h"
0000 ; /************************************************
0000 ; 宏定义
0000 .dbline 48
0000 ; **************************************************/
0000 10931C00 sts _delay_time_count+1,R17
0004 00931B00 sts _delay_time_count,R16
0008 L2:
0008 .dbline 49
0008 L3:
0008 .dbline 49
0008 ; //RAM
0008 20901B00 lds R2,_delay_time_count
000C 30901C00 lds R3,_delay_time_count+1
0010 2220 tst R2
0012 D1F7 brne L2
0014 3320 tst R3
0016 C1F7 brne L2
0018 X0:
0018 .dbline -2
0018 L1:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbsym r n 16 i
001A .dbend
001A .dbfunc e disp_bit _disp_bit fV
001A ; bitChoose -> R22
001A ; disCodeIndex -> R20
.even
001A _disp_bit::
001A 0E940000 xcall push_gset2
001E 622F mov R22,R18
0020 402F mov R20,R16
0022 .dbline -1
0022 .dbline 53
0022 ; #define ALE 7 //定义锁存脚
0022 ; #define WE 6 //定义写允许位
0022 ; #define RE 5 //定义读允许位
0022 ;
0022 .dbline 54
0022 ;
0022 88B3 in R24,0x18
0024 8D7F andi R24,253
0026 88BB out 0x18,R24
0028 .dbline 55
0028 ; #pragma interrupt_handler exi_int0:2 //外部中断
0028 062F mov R16,R22
002A 0CD0 xcall _send_data_disp
002C .dbline 56
002C ; #pragma interrupt_handler timer1_vof:9 //定时器1中断
002C 80E0 ldi R24,<_DISCODE
002E 90E0 ldi R25,>_DISCODE
0030 E42F mov R30,R20
0032 FF27 clr R31
0034 E80F add R30,R24
0036 F91F adc R31,R25
0038 0491 lpm R16,Z
003A 04D0 xcall _send_data_disp
003C .dbline 57
003C ; #pragma interrupt_handler usart_rcx:12 //USART接受中断
003C C19A sbi 0x18,1
003E .dbline -2
003E L5:
003E 0E940000 xcall pop_gset2
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbsym r bitChoose 22 c
0044 .dbsym r disCodeIndex 20 c
0044 .dbend
0044 .dbfunc e send_data_disp _send_data_disp fV
0044 ; count -> R20
0044 ; send_data -> R22
.even
0044 _send_data_disp::
0044 0E940000 xcall push_gset2
0048 602F mov R22,R16
004A .dbline -1
004A .dbline 60
004A ; /************************************************
004A ; 全局变量申明
004A ; **************************************************/
004A .dbline 62
004A ; //基本全局变量
004A ; int sys_cont =0;
004A 4427 clr R20
004C 11C0 xjmp L10
004E L7:
004E .dbline 63
004E ; //显示缓冲区
004E .dbline 64
004E ; char DispTemp[8];
004E 062F mov R16,R22
0050 142F mov R17,R20
0052 0E940000 xcall lsl8
0056 802F mov R24,R16
0058 8078 andi R24,128
005A 21F4 brne L11
005C .dbline 65
005C ; char Head[3];
005C 88B3 in R24,0x18
005E 877F andi R24,247
0060 88BB out 0x18,R24
0062 01C0 xjmp L12
0064 L11:
0064 .dbline 67
0064 ; //按键处理
0064 ;
0064 C39A sbi 0x18,3
0066 L12:
0066 .dbline 68
0066 C29A sbi 0x18,2
0068 .dbline 69
0068 88B3 in R24,0x18
006A 8B7F andi R24,251
006C 88BB out 0x18,R24
006E .dbline 70
006E L8:
006E .dbline 62
006E 4395 inc R20
0070 L10:
0070 .dbline 62
0070 4830 cpi R20,8
0072 68F3 brlo L7
0074 .dbline -2
0074 L6:
0074 0E940000 xcall pop_gset2
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbsym r count 20 c
007A .dbsym r send_data 22 c
007A .dbend
007A .dbfunc e Disp_key_group _Disp_key_group fV
.even
007A _Disp_key_group::
007A .dbline -1
007A .dbline 74
007A ; //数脉冲
007A ; int PDataY =0;
007A ; int PDataYMax =154;
007A ; int PDataYMin =4;
007A ;
007A ; //UART接收数据
007A ; char FileEnd =1;
007A .dbline 75
007A ; char HeadLoad =0;
007A 80910800 lds R24,_disp_key_count
007E 8F5F subi R24,255 ; addi 1
0080 80930800 sts _disp_key_count,R24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -