📄 rddayinji.lis
字号:
.module RDdayinji.c
.area data(ram, con, rel)
0000 _data1::
0000 .blkb 2
.area idata
0000 D0C2 .byte 208,194
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 C8D9 .byte 200,217
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 C8CB .byte 200,203
.area data(ram, con, rel)
0006 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0006 .dbsym e data1 _data1 A[6:6]c
0006 _initorder::
0006 .blkb 2
.area idata
0006 1B43 .byte 27,'C
.area data(ram, con, rel)
0008 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0008 .blkb 2
.area idata
0008 0800 .byte 8,0
.area data(ram, con, rel)
000A .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
000A .blkb 2
.area idata
000A 1B38 .byte 27,56
.area data(ram, con, rel)
000C .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
000C .blkb 2
.area idata
000C 0000 .byte 0,0
.area data(ram, con, rel)
000E .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
000E .dbsym e initorder _initorder A[8:8]c
000E _printorder::
000E .blkb 2
.area idata
000E 0A0D .byte 10,13
.area data(ram, con, rel)
0010 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0010 .dbsym e printorder _printorder A[2:2]c
0010 _newline::
0010 .blkb 1
.area idata
0010 0A .byte 10
.area data(ram, con, rel)
0011 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0011 .dbsym e newline _newline A[1:1]c
0011 _newpage::
0011 .blkb 2
.area idata
0011 0C1B .byte 12,27
.area data(ram, con, rel)
0013 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0013 .blkb 2
.area idata
0013 4000 .byte 64,0
.area data(ram, con, rel)
0015 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0015 .dbsym e newpage _newpage A[4:4]c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\RDdayinji.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 44
0000 ; /***********************************************************/
0000 ; //Title:ATMAGE128串口通信程序-查询方式
0000 ; //ICC-AVR : 2009-2-22 13:37:40
0000 ; // Target : M128
0000 ; // Crystal: 8.0000Mhz
0000 ; //Author :borlittle
0000 ; //Function:usart0 test
0000 ; //备注 :本程序经调试好使
0000 ; /***********************************************************/
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #define uchar unsigned char //定义无符号字符为 uchar
0000 ; #define uint unsigned int //定义无符号整型
0000 ; #define Crystal 8000000 //晶振8MHZ
0000 ; #define Baud 9600 //波特率
0000 ; /***************打印命令**************************************/
0000 ; //0x1b,0x38->选择不同点阵汉字点阵,默认0,16*16点阵打印
0000 ; //0x0d ->回车,执行打印
0000 ; //0x0e ->横向字符放大2倍
0000 ; //0x1b,0x40->打印机初始化
0000 ; //0x0a ->换行
0000 ; //0x1b,0x43,0xn->设置页行数
0000 ; //0x0c ->换页
0000 ; /*****************************************************/
0000 ;
0000 ; uchar data1[]={0xd0,0xc2,0xc8,0xd9,0xc8,0xcb};//汉字内码://汉字内码“新荣达”
0000 ; uchar initorder[]={0x1b,0x43,0x08,0x00,0x1b,0x38,0x00,0x00}; //初始化命令,
0000 ; uchar printorder[]={0x0a,0x0d}; //打印命令
0000 ; uchar newline[]={0x0a};//换行设置
0000 ; uchar newpage[]={0x0c,0x1b,0x40,0x00};//换页设置
0000 ;
0000 ;
0000 ; //函数声明
0000 ; void port_init(void);
0000 ; void usart0_init(void);
0000 ; void init_devices(void);
0000 ; void usart0_char_send(uchar i);
0000 ; void usart0_str_send(char *s);
0000 ; uchar usart0_char_receive(void);
0000 ;
0000 ; /******************端口初始化*******************************/
0000 ; void port_init(void)
0000 ; {
0000 .dbline 45
0000 ; PORTE = 0xFF; //设置RXD0和TXD0
0000 8FEF ldi R24,255
0002 83B9 out 0x3,R24
0004 .dbline 46
0004 ; DDRE = 0x02;
0004 82E0 ldi R24,2
0006 82B9 out 0x2,R24
0008 .dbline -2
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e usart0_init _usart0_init fV
.even
000A _usart0_init::
000A .dbline -1
000A .dbline 50
000A ; }
000A ; /*****************串口0初始化*********************************/
000A ; void usart0_init(void)
000A ; {
000A .dbline 51
000A ; UCSR0B = 0x00; //禁止发送和接收
000A 2224 clr R2
000C 2AB8 out 0xa,R2
000E .dbline 52
000E ; UCSR0A = 0x02; //倍速异步模式USX0=1
000E 82E0 ldi R24,2
0010 8BB9 out 0xb,R24
0012 .dbline 53
0012 ; UCSR0C = 0x06; //0000 0110,UCSZ01=1,UCSZ00=1;8位字符,1位停止位
0012 86E0 ldi R24,6
0014 80939500 sts 149,R24
0018 .dbline 54
0018 ; UBRR0L=(Crystal/8/(Baud+1))%256; //若为正常异步模式USX0=0则位(Crystal/16/(Baud+1))%256
0018 88E6 ldi R24,104
001A 89B9 out 0x9,R24
001C .dbline 55
001C ; UBRR0H=(Crystal/8/(Baud+1))/256; //参见ATMAGE128使用手册
001C 20929000 sts 144,R2
0020 .dbline 56
0020 ; UCSR0B = 0x08; //允许发送
0020 88E0 ldi R24,8
0022 8AB9 out 0xa,R24
0024 .dbline -2
0024 L2:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
0026 .dbfunc e init_devices _init_devices fV
.even
0026 _init_devices::
0026 .dbline -1
0026 .dbline 60
0026 ; }
0026 ; /******************初始器件**************************************/
0026 ; void init_devices(void)
0026 ; {
0026 .dbline 61
0026 ; port_init();
0026 ECDF xcall _port_init
0028 .dbline 62
0028 ; usart0_init();
0028 F0DF xcall _usart0_init
002A .dbline -2
002A L3:
002A .dbline 0 ; func end
002A 0895 ret
002C .dbend
002C .dbfunc e usart0_char_send _usart0_char_send fV
002C ; i -> R16
.even
002C _usart0_char_send::
002C .dbline -1
002C .dbline 66
002C ; }
002C ; //****************发送一个字符******************************
002C ; void usart0_char_send(uchar i)
002C ; {
002C L5:
002C .dbline 67
002C L6:
002C .dbline 67
002C ; while(!(UCSR0A&(1<<UDRE0)));
002C 5D9B sbis 0xb,5
002E FECF rjmp L5
0030 .dbline 68
0030 ; UDR0=i;
0030 0CB9 out 0xc,R16
0032 .dbline -2
0032 L4:
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbsym r i 16 c
0034 .dbend
0034 .dbfunc e usart0_str_send _usart0_str_send fV
0034 ; s -> R20,R21
.even
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -