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

📄 test232main.lis

📁 工业开关量检测模块的原代码,带断线检测功能
💻 LIS
字号:
                        .module test232main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\开关量64CPU—485\test232main.c
 0000                   .dbfunc e uart1_init _uart1_init fV
                        .even
 0000           _uart1_init::
 0000                   .dbline -1
 0000                   .dbline 4
 0000           ; #include "test232main.h"
 0000           ; 
 0000           ; void uart1_init(void)
 0000           ; {
 0000                   .dbline 5
 0000           ;  UCSR1B = 0x00; //disable while setting baud rate
 0000 2224              clr R2
 0002 2092C900          sts 201,R2
 0006                   .dbline 6
 0006           ;  UCSR1A = 0x00;
 0006 2092C800          sts 200,R2
 000A                   .dbline 7
 000A           ;  UCSR1C = 0x06;
 000A 86E0              ldi R24,6
 000C 8093CA00          sts 202,R24
 0010                   .dbline 8
 0010           ;  UBRR1L = 0x67; //set baud rate lo
 0010 87E6              ldi R24,103
 0012 8093CC00          sts 204,R24
 0016                   .dbline 9
 0016           ;  UBRR1H = 0x00; //set baud rate hi
 0016 2092CD00          sts 205,R2
 001A                   .dbline 10
 001A           ;  UCSR1B = 0xD8;
 001A 88ED              ldi R24,216
 001C 8093C900          sts 201,R24
 0020                   .dbline -2
 0020           L1:
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbend
 0022                   .dbfunc e USART_Transmit _USART_Transmit fV
 0022           ;           data -> R16
                        .even
 0022           _USART_Transmit::
 0022                   .dbline -1
 0022                   .dbline 14
 0022           ; }
 0022           ; 
 0022           ; void USART_Transmit( unsigned char data )
 0022           ; {
 0022           L3:
 0022                   .dbline 17
 0022           L4:
 0022                   .dbline 16
 0022           ; //Wait for empty transmit buffer 
 0022           ; while ( !( UCSR1A & (1<<UDRE1)) )
 0022 8091C800          lds R24,200
 0026 8072              andi R24,32
 0028 E1F3              breq L3
 002A                   .dbline 19
 002A           ; ;
 002A           ; //Put data into buffer, sends the data 
 002A           ; UDR1 = data;
 002A 0093CE00          sts 206,R16
 002E                   .dbline -2
 002E           L2:
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbsym r data 16 c
 0030                   .dbend
 0030                   .dbfunc e USART_Receive _USART_Receive fc
                        .even
 0030           _USART_Receive::
 0030                   .dbline -1
 0030                   .dbline 23
 0030           ; }
 0030           ; 
 0030           ; unsigned char USART_Receive( void )
 0030           ; {
 0030           L7:
 0030                   .dbline 26
 0030           L8:
 0030                   .dbline 25
 0030           ; //Wait for data to be received 
 0030           ; while ( !(UCSR1A & (1<<RXC1)) )
 0030 8091C800          lds R24,200
 0034 8078              andi R24,128
 0036 E1F3              breq L7
 0038                   .dbline 28
 0038           ; ;
 0038           ; //Get and return received data from buffer 
 0038           ; return UDR1;
 0038 0091CE00          lds R16,206
 003C                   .dbline -2
 003C           L6:
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbend
 003E                   .dbfunc e main _main fV
                        .even
 003E           _main::
 003E                   .dbline -1
 003E                   .dbline 32
 003E           ; }
 003E           ; 
 003E           ; void main(void)
 003E           ; {
 003E                   .dbline 33
 003E           ; CLI();
 003E F894              cli
 0040                   .dbline 34
 0040           ; uart1_init();
 0040 DFDF              xcall _uart1_init
 0042                   .dbline 35
 0042           ; SEI();
 0042 7894              sei
 0044 02C0              xjmp L12
 0046           L11:
 0046                   .dbline 37
 0046 08E8              ldi R16,136
 0048 ECDF              xcall _USART_Transmit
 004A           L12:
 004A                   .dbline 36
 004A FDCF              xjmp L11
 004C           X0:
 004C                   .dbline -2
 004C           L10:
 004C                   .dbline 0 ; func end
 004C 0895              ret
 004E                   .dbend

⌨️ 快捷键说明

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