📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile C:\ygksb0108\programme2_can_run/m32_init.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 9
0000 ; //******************************************************************************
0000 ; // 本程序介绍
0000 ; // ---北京交通大学电气学院 杨罡 2008.8
0000 ; //
0000 ; // 编译环境ICC6.31,
0000 ; // 使用ATMEGA32单片机 & KS0108B/HD61202控制器的128*64液晶
0000 ; //
0000 ; // 1、 本程序实现了基本的GUI绘图函数
0000 ; // void lcd_fill( uint8_t pattern);全屏幕填充函数
0000 .dbline 10
0000 ; // void lcd_erase(void); 擦除全屏幕的函数
0000 2224 clr R2
0002 2BBA out 0x1b,R2
0004 .dbline 11
0004 ; // void lcd_update_all(void); 把缓冲区显示到液晶上的刷新函数
0004 8FEF ldi R24,255
0006 8ABB out 0x1a,R24
0008 .dbline 12
0008 ; // void lcd_dot( uint8_t x, uint8_t y, uint8_t mode); 任意坐标画点的函数
0008 28BA out 0x18,R2
000A .dbline 13
000A ; // void lcd_line( uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t mode );
000A 87BB out 0x17,R24
000C .dbline 14
000C ; // 任意(x1,y1)(x2,y2)两点之间的画直线函数,这个函数化很短的斜线时会出问题,一般的长斜线无问题
000C 25BA out 0x15,R2
000E .dbline 15
000E ; // void lcd_rect( uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t mode);
000E 84BB out 0x14,R24
0010 .dbline 16
0010 ; // 画以(x,y)为左上角,高height,长width 的矩形的函数
0010 22BA out 0x12,R2
0012 .dbline 17
0012 ; // void lcd_box( uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t mode);
0012 81BB out 0x11,R24
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e init_devices _init_devices fV
.even
0016 _init_devices::
0016 .dbline -1
0016 .dbline 22
0016 ; // 画以(x,y)为左上角,高height,长width 的矩形并且用mode方式填充的函数
0016 ; // void lcd_circle( uint8_t xCenter, uint8_t yCenter, uint8_t radius, uint8_t mode);
0016 ; // 画(xCenter,yCenter)为圆心,半径为radius的函数,圆心可以在屏幕外面,所以可以画弧:)
0016 ; // 2、本程序实现多种字体
0016 ; // 可以根据需求去font.h文件选择你需要的字体,提供了5点6点7点9点10点15点18点
0016 .dbline 24
0016 ; // 的英文字体供用户选择,中文字库太大没有实现,不过一般英文就公用了吧
0016 ; // void lcd_text(uint8_t left, uint8_t top, uint8_t font, char *str);
0016 F894 cli
0018 .dbline 25
0018 ; // 显示在坐标为(left,top)处显示字体为 font 的即时字符串 str
0018 F3DF xcall _port_init
001A .dbline 27
001A ; // void lcd_text_p(uint8_t left, uint8_t top, uint8_t font, const char *str);
001A ; // 显示在坐标为(left,top)处显示字体为 font 的存放在flash中的字符串 str
001A 2224 clr R2
001C 25BE out 0x35,R2
001E .dbline 28
001E ; // font 参见font.h中的定义,需要先选择后使用
001E 2BBE out 0x3b,R2
0020 .dbline 29
0020 ; // 3、移植性
0020 29BE out 0x39,R2
0022 .dbline 30
0022 ; // 液晶很多,这个只是其中一种的程序,但是本程序是可以移植的,你只需根据具体
0022 7894 sei
0024 .dbline -2
0024 L2:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
0026 .dbfile C:\ygksb0108\programme2_can_run\main.c
0026 .dbfunc e project_init _project_init fV
.even
0026 _project_init::
0026 .dbline -1
0026 .dbline 51
0026 ; // 具体的液晶控制器去重写 LCD_DRIVER.H 和LCD_DRIVER.C 就可以了
0026 ; // 4、使用
0026 ; // 由于使用显示缓存区的缘故所以
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -