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

📄 ¿-

📁 atmega128串行操作lcd12864
💻
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile main.c
                        .area data(ram, con, rel)
 0000                   .dbfile main.c
 0000           _count::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile main.c
 0001                   .dbfile E:\课件\128最小系统板\AVR程序\定时器\main.c
 0001                   .dbsym e count _count c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\课件\128最小系统板\AVR程序\定时器\main.c
 0000                   .dbfunc e init_timer0 _init_timer0 fV
                        .even
 0000           _init_timer0::
 0000                   .dbline -1
 0000                   .dbline 11
 0000           ; #include <iom128v.h>
 0000           ; #include <macros.h>
 0000           ; #include"adc.h"
 0000           ; #include "12864.h"            //包含头文件
 0000           ; 
 0000           ; #define uchar unsigned char
 0000           ; #define uint unsigned int
 0000           ; uchar count=0;
 0000           ;  
 0000           ; void init_timer0(void)
 0000           ; {
 0000                   .dbline 12
 0000           ; CLI();
 0000 F894              cli
 0002                   .dbline 13
 0002           ; TCCR0=0X00;//32分频 定时溢出 关
 0002 2224              clr R2
 0004 23BE              out 0x33,R2
 0006                   .dbline 14
 0006           ; ASSR&=~(1<<AS0);
 0006 80B7              in R24,0x30
 0008 877F              andi R24,247
 000A 80BF              out 0x30,R24
 000C                   .dbline 15
 000C           ; TCNT0=0X02;
 000C 82E0              ldi R24,2
 000E 82BF              out 0x32,R24
 0010                   .dbline 16
 0010           ; TCCR0=0X07;//256分频 定时溢出 1024
 0010 87E0              ldi R24,7
 0012 83BF              out 0x33,R24
 0014                   .dbline 17
 0014           ; TIMSK|=(1<<TOIE0);
 0014 87B7              in R24,0x37
 0016 8160              ori R24,1
 0018 87BF              out 0x37,R24
 001A                   .dbline 18
 001A           ; TIFR|=(1<<TOV0);
 001A 86B7              in R24,0x36
 001C 8160              ori R24,1
 001E 86BF              out 0x36,R24
 0020                   .dbline 19
 0020           ; SEI();
 0020 7894              sei
 0022                   .dbline -2
 0022           L1:
 0022                   .dbline 0 ; func end
 0022 0895              ret
 0024                   .dbend
 0024                   .dbfunc e main _main fV
                        .even
 0024           _main::
 0024 2297              sbiw R28,2
 0026                   .dbline -1
 0026                   .dbline 22
 0026           ; } 
 0026           ; void main(void)
 0026           ; {
 0026                   .dbline 23
 0026           ;  init_timer0();
 0026 ECDF              xcall _init_timer0
 0028                   .dbline 24
 0028           ;  LCD_init();
 0028 0E940000          xcall _LCD_init
 002C                   .dbline 25
 002C           ;  Lcd_puts_any(0,0,"我骂我");
 002C 80E0              ldi R24,<L3
 002E 90E0              ldi R25,>L3
 0030 9983              std y+1,R25
 0032 8883              std y+0,R24
 0034 2227              clr R18
 0036 0027              clr R16
 0038 0E940000          xcall _Lcd_puts_any
 003C           L4:
 003C                   .dbline 26
 003C           ;  while(1);
 003C           L5:
 003C                   .dbline 26
 003C FFCF              xjmp L4
 003E           X0:
 003E                   .dbline -2
 003E           L2:
 003E                   .dbline 0 ; func end
 003E 2296              adiw R28,2
 0040 0895              ret
 0042                   .dbend
                        .area vector(rom, abs)
                        .org 64
 0040 0C942100          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 0042                   .dbfile E:\课件\128最小系统板\AVR程序\定时器\main.c
 0042                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 0042           _timer0_ovf_isr::
 0042 0A92              st -y,R0
 0044 1A92              st -y,R1
 0046 2A92              st -y,R2
 0048 3A92              st -y,R3
 004A 4A92              st -y,R4
 004C 5A92              st -y,R5
 004E 6A92              st -y,R6
 0050 7A92              st -y,R7
 0052 8A92              st -y,R8
 0054 9A92              st -y,R9
 0056 0A93              st -y,R16
 0058 1A93              st -y,R17
 005A 2A93              st -y,R18
 005C 3A93              st -y,R19
 005E 8A93              st -y,R24
 0060 9A93              st -y,R25
 0062 AA93              st -y,R26
 0064 BA93              st -y,R27
 0066 EA93              st -y,R30
 0068 FA93              st -y,R31
 006A 0FB6              IN R0,63
 006C 0A92              st -y,R0
 006E                   .dbline -1
 006E                   .dbline 31
 006E           ; }
 006E           ;  
 006E           ; #pragma interrupt_handler timer0_ovf_isr:17
 006E           ; void timer0_ovf_isr(void)
 006E           ; {
 006E                   .dbline 32
 006E           ; TCNT0=0X10;
 006E 80E1              ldi R24,16
 0070 82BF              out 0x32,R24
 0072                   .dbline 33
 0072           ; count++;
 0072 80910000          lds R24,_count
 0076 8F5F              subi R24,255    ; addi 1
 0078 80930000          sts _count,R24
 007C                   .dbline 34
 007C           ; if(count==10)
 007C 8A30              cpi R24,10
 007E 29F4              brne L8
 0080           X1:
 0080                   .dbline 35
 0080           ; {
 0080                   .dbline 36
 0080           ; count=0;
 0080 2224              clr R2
 0082 20920000          sts _count,R2
 0086                   .dbline 37
 0086           ; display();//测电压
 0086 0E940000          xcall _display
 008A                   .dbline 38
 008A           ; }
 008A           L8:
 008A                   .dbline -2
 008A           L7:
 008A                   .dbline 0 ; func end
 008A 0990              ld R0,y+
 008C 0FBE              OUT 63,R0
 008E F991              ld R31,y+
 0090 E991              ld R30,y+
 0092 B991              ld R27,y+
 0094 A991              ld R26,y+
 0096 9991              ld R25,y+
 0098 8991              ld R24,y+
 009A 3991              ld R19,y+
 009C 2991              ld R18,y+
 009E 1991              ld R17,y+
 00A0 0991              ld R16,y+
 00A2 9990              ld R9,y+
 00A4 8990              ld R8,y+
 00A6 7990              ld R7,y+
 00A8 6990              ld R6,y+
 00AA 5990              ld R5,y+
 00AC 4990              ld R4,y+
 00AE 3990              ld R3,y+
 00B0 2990              ld R2,y+
 00B2 1990              ld R1,y+
 00B4 0990              ld R0,y+
 00B6 1895              reti
 00B8                   .dbend
                        .area data(ram, con, rel)
 0001                   .dbfile E:\课件\128最小系统板\AVR程序\定时器\main.c
 0001           L3:
 0001                   .blkb 7
                        .area idata
 0001 CED2C2EECED200    .byte 206,210,194,238,206,210,0
                        .area data(ram, con, rel)
 0008                   .dbfile E:\课件\128最小系统板\AVR程序\定时器\main.c
 0008           ; } 

⌨️ 快捷键说明

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