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

📄 uart.lis

📁 AVR单片机ATMEGA128实习之—串口通信(附带Proteus仿真例子)
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module UART.c
                        .area data(ram, con, rel)
 0000           _Rx_counter::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile G:\猛\avr实践\UART\UART.c
 0001                   .dbsym e Rx_counter _Rx_counter c
 0001           _Tx_counter::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile G:\猛\avr实践\UART\UART.c
 0002                   .dbsym e Tx_counter _Tx_counter c
 0002           _Tx_data_buf::
 0002                   .blkb 2
                        .area idata
 0002 DE6F              .byte 222,'o
                        .area data(ram, con, rel)
 0004                   .dbfile G:\猛\avr实践\UART\UART.c
 0004                   .blkb 2
                        .area idata
 0004 6432              .byte 'd,50
                        .area data(ram, con, rel)
 0006                   .dbfile G:\猛\avr实践\UART\UART.c
 0006                   .blkb 2
                        .area idata
 0006 140A              .byte 20,10
                        .area data(ram, con, rel)
 0008                   .dbfile G:\猛\avr实践\UART\UART.c
 0008                   .blkb 2
                        .area idata
 0008 0502              .byte 5,2
                        .area data(ram, con, rel)
 000A                   .dbfile G:\猛\avr实践\UART\UART.c
 000A                   .blkb 2
                        .area idata
 000A 0116              .byte 1,22
                        .area data(ram, con, rel)
 000C                   .dbfile G:\猛\avr实践\UART\UART.c
 000C                   .dbsym e Tx_data_buf _Tx_data_buf A[10:10]c
 000C           _UART0_TX_flag::
 000C                   .blkb 1
                        .area idata
 000C 01                .byte 1
                        .area data(ram, con, rel)
 000D                   .dbfile G:\猛\avr实践\UART\UART.c
 000D                   .dbsym e UART0_TX_flag _UART0_TX_flag c
 000D           _UART0_RX_flag::
 000D                   .blkb 1
                        .area idata
 000D 01                .byte 1
                        .area data(ram, con, rel)
 000E                   .dbfile G:\猛\avr实践\UART\UART.c
 000E                   .dbsym e UART0_RX_flag _UART0_RX_flag c
 000E           _Type_flag::
 000E                   .blkb 1
                        .area idata
 000E 04                .byte 4
                        .area data(ram, con, rel)
 000F                   .dbfile G:\猛\avr实践\UART\UART.c
 000F                   .dbsym e Type_flag _Type_flag c
 000F           _LED_table::
 000F                   .blkb 2
                        .area idata
 000F 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0011                   .dbfile G:\猛\avr实践\UART\UART.c
 0011                   .blkb 2
                        .area idata
 0011 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0013                   .dbfile G:\猛\avr实践\UART\UART.c
 0013                   .blkb 2
                        .area idata
 0013 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0015                   .dbfile G:\猛\avr实践\UART\UART.c
 0015                   .blkb 2
                        .area idata
 0015 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0017                   .dbfile G:\猛\avr实践\UART\UART.c
 0017                   .blkb 2
                        .area idata
 0017 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 0019                   .dbfile G:\猛\avr实践\UART\UART.c
 0019                   .blkb 2
                        .area idata
 0019 777C              .byte 'w,124
                        .area data(ram, con, rel)
 001B                   .dbfile G:\猛\avr实践\UART\UART.c
 001B                   .blkb 2
                        .area idata
 001B 395E              .byte 57,94
                        .area data(ram, con, rel)
 001D                   .dbfile G:\猛\avr实践\UART\UART.c
 001D                   .blkb 2
                        .area idata
 001D 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 001F                   .dbfile G:\猛\avr实践\UART\UART.c
 001F                   .blkb 2
                        .area idata
 001F 7638              .byte 'v,56
                        .area data(ram, con, rel)
 0021                   .dbfile G:\猛\avr实践\UART\UART.c
 0021                   .blkb 2
                        .area idata
 0021 373E              .byte 55,62
                        .area data(ram, con, rel)
 0023                   .dbfile G:\猛\avr实践\UART\UART.c
 0023                   .blkb 2
                        .area idata
 0023 735C              .byte 's,92
                        .area data(ram, con, rel)
 0025                   .dbfile G:\猛\avr实践\UART\UART.c
 0025                   .blkb 2
                        .area idata
 0025 4000              .byte 64,0
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
 0027                   .dbsym e LED_table _LED_table A[24:24]c
                        .area vector(rom, abs)
                        .org 80
 0050 0C948900          jmp _UART0_TX_INT
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
                        .area vector(rom, abs)
                        .org 72
 0048 0C94B700          jmp _UART0_RX_INT
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
                        .area vector(rom, abs)
                        .org 4
 0004 0C94E200          jmp _External_INT_0
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
                        .area vector(rom, abs)
                        .org 8
 0008 0C94EB00          jmp _External_INT_1
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
                        .area vector(rom, abs)
                        .org 12
 000C 0C940101          jmp _External_INT_2
                        .area data(ram, con, rel)
 0027                   .dbfile G:\猛\avr实践\UART\UART.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\猛\avr实践\UART\UART.c
 0000                   .dbfunc e main _main fV
 0000           ;              i -> R22
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 86
 0000           ; #include <iom128.h>
 0000           ; #include <macros.h>
 0000           ; 
 0000           ; //LED 开关定义
 0000           ; 
 0000           ; #define         Red_LED_on            PORTB&~BIT(0)
 0000           ; #define         Red_LED_off           PORTB|(1<<0)
 0000           ; #define         Green_LED_on          PORTB&(~(1<<1))
 0000           ; #define         Green_LED_off         PORTB|(1<<1)
 0000           ; #define         Yellow_LED_on         PORTB&(~(1<<2))
 0000           ; #define         Yellow_LED_off        PORTB|(1<<2)
 0000           ; 
 0000           ; //UART
 0000           ; unsigned char Rx_counter = 0;
 0000           ; unsigned char Tx_counter = 0;
 0000           ; unsigned char Tx_data_buf[] = {222,111,100,50,20,10,5,2,1,22};
 0000           ; unsigned char Tx_data;
 0000           ; unsigned char Rx_data_buf[12];
 0000           ; unsigned char Rx_data;
 0000           ; unsigned char UART0_TX_flag   = 1;
 0000           ; unsigned char UART0_RX_flag   = 1;
 0000           ; unsigned char Type_flag = 4;
 0000           ; //Display
 0000           ; unsigned char number_bai;
 0000           ; unsigned char number_shi;
 0000           ; unsigned char number_ge ;
 0000           ; unsigned char Display_type;
 0000           ; unsigned char Display_value;
 0000           ; unsigned char LED_table[]=
 0000           ; {  
 0000           ;    0x3F,  //"0"
 0000           ;    0x06,  //"1"
 0000           ;    0x5B,  //"2"
 0000           ;    0x4F,  //"3"
 0000           ;    0x66,  //"4"
 0000           ;    0x6D,  //"5"
 0000           ;    0x7D,  //"6"
 0000           ;    0x07,  //"7"
 0000           ;    0x7F,  //"8"
 0000           ;    0x6F,  //"9"
 0000           ;    0x77,  //"A"
 0000           ;    0x7C,  //"B"
 0000           ;    0x39,  //"C"
 0000           ;    0x5E,  //"D"
 0000           ;    0x79,  //"E"
 0000           ;    0x71,  //"F"
 0000           ;    0x76,  //"H"
 0000           ;    0x38,  //"L"
 0000           ;    0x37,  //"n"
 0000           ;    0x3E,  //"u"
 0000           ;    0x73,  //"P"
 0000           ;    0x5C,  //"o"
 0000           ;    0x40,  //"-"
 0000           ;    0x00,  //熄灭                     
 0000           ; };
 0000           ; 
 0000           ; //use for test;
 0000           ; unsigned char m;
 0000           ; 
 0000           ; //define Interrupt Vactor
 0000           ; 
 0000           ; #pragma interrupt_handler UART0_TX_INT:21             //外部中断0
 0000           ; #pragma interrupt_handler UART0_RX_INT:19             //外部中断1
 0000           ; #pragma interrupt_handler External_INT_0:2            //外部中断0
 0000           ; #pragma interrupt_handler External_INT_1:3            //外部中断1
 0000           ; #pragma interrupt_handler External_INT_2:4            //外部中断2
 0000           ; 
 0000           ; //pre_define
 0000           ; 
 0000           ; void Port_initialize(void);
 0000           ; void INT_initialize(void);
 0000           ; void UART_initialize(void);
 0000           ; 
 0000           ; void UART0_TX_INT(void);
 0000           ; void UART0_RX_INT(void);
 0000           ; void External_INT_0(void);
 0000           ; void External_INT_1(void);
 0000           ; void External_INT_2(void);
 0000           ; 
 0000           ; void LED_Display(unsigned char Type,unsigned char Data);
 0000           ; void DATA_to_NUM(unsigned char data);
 0000           ; void Delay(void);
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 89
 0000           ;       unsigned char i;
 0000           ;       
 0000           ;       Port_initialize();
 0000 5FD0              xcall _Port_initialize
 0002                   .dbline 90
 0002           ;       UART_initialize();
 0002 6ED0              xcall _UART_initialize
 0004                   .dbline 91
 0004           ;       INT_initialize();
 0004 64D0              xcall _INT_initialize
 0006                   .dbline 93
 0006           ;       
 0006           ;       for (; ; )
 0006           L2:
 0006                   .dbline 94
 0006           ;       {
 0006                   .dbline 95
 0006           ;               switch (Type_flag)
 0006 40910E00          lds R20,_Type_flag
 000A 5527              clr R21
 000C 4030              cpi R20,0
 000E 4507              cpc R20,R21
 0010 69F0              breq L9
 0012           X0:
 0012 4130              cpi R20,1
 0014 E0E0              ldi R30,0
 0016 5E07              cpc R21,R30
 0018 89F0              breq L10
 001A 4230              cpi R20,2
 001C E0E0              ldi R30,0
 001E 5E07              cpc R21,R30
 0020 A9F0              breq L11
 0022 4330              cpi R20,3
 0024 E0E0              ldi R30,0
 0026 5E07              cpc R21,R30
 0028 C9F0              breq L12
 002A 20C0              xjmp L6
 002C           X1:
 002C                   .dbline 96
 002C           ;               {
 002C           L9:
 002C                   .dbline 98
 002C           ;                       case 0:                         //发送的数值
 002C           ;                       {
 002C                   .dbline 99
 002C           ;                               Display_type = 0;
 002C 2224              clr R2
 002E 20920200          sts _Display_type,R2
 0032                   .dbline 100
 0032           ;                               Display_value = Tx_data;
 0032 20901300          lds R2,_Tx_data
 0036 20920100          sts _Display_value,R2
 003A                   .dbline 102
 003A           ;                       
 003A           ;                       }break;
 003A                   .dbline 102
 003A 1BC0              xjmp L7
 003C           L10:
 003C                   .dbline 105
 003C           ;               
 003C           ;                       case 1:                         //发送计数
 003C           ;                       {
 003C                   .dbline 106
 003C           ;                               Display_type = 1;
 003C 81E0              ldi R24,1
 003E 80930200          sts _Display_type,R24
 0042                   .dbline 107
 0042           ;                               Display_value = Tx_counter;
 0042 20900100          lds R2,_Tx_counter
 0046 20920100          sts _Display_value,R2
 004A                   .dbline 109
 004A           ;                       
 004A           ;                       }break;
 004A                   .dbline 109
 004A 13C0              xjmp L7
 004C           L11:
 004C                   .dbline 112
 004C           ; 
 004C           ;                       case 2:                         //接收的数值
 004C           ;                       {
 004C                   .dbline 113
 004C           ;                               Display_type = 2;
 004C 82E0              ldi R24,2
 004E 80930200          sts _Display_type,R24
 0052                   .dbline 114
 0052           ;                               Display_value = Rx_data;
 0052 20900600          lds R2,_Rx_data
 0056 20920100          sts _Display_value,R2
 005A                   .dbline 116
 005A           ; 
 005A           ;                       }break;
 005A                   .dbline 116
 005A 0BC0              xjmp L7
 005C           L12:
 005C                   .dbline 119
 005C           ; 
 005C           ;                       case 3:                         //接收计数
 005C           ;                       {
 005C                   .dbline 120
 005C           ;                               Display_type = 3;
 005C 83E0              ldi R24,3
 005E 80930200          sts _Display_type,R24
 0062                   .dbline 121
 0062           ;                               Display_value = Rx_counter;
 0062 20900000          lds R2,_Rx_counter
 0066 20920100          sts _Display_value,R2
 006A                   .dbline 123
 006A           ;                       
 006A           ;                       }break;
 006A                   .dbline 123
 006A 03C0              xjmp L7
 006C           L6:
 006C                   .dbline 126
 006C           ; 
 006C           ;                       default:
 006C           ;                       {
 006C                   .dbline 127
 006C           ;                               Display_type = 0x0f;
 006C 8FE0              ldi R24,15
 006E 80930200          sts _Display_type,R24
 0072                   .dbline 129
 0072           ;                               
 0072           ;                       }break;
 0072                   .dbline 129
 0072           L7:
 0072                   .dbline 132
 0072           ;               }
 0072           ; 
 0072           ;               LED_Display(Display_type,Display_value);                //数码管显示
 0072 20910100          lds R18,_Display_value
 0076 00910200          lds R16,_Display_type

⌨️ 快捷键说明

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