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

📄 system.lis

📁 《深入浅出AVR单片机——从ATmega48/88/168开始》的实例程序源代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module System.c
                        .area lit(rom, con, rel)
 0000           _DisTab::
 0000 FC60              .byte 252,96
 0002 DAF2              .byte 218,242
 0004 66B6              .byte 'f,182
 0006 BEE0              .byte 190,224
 0008 FEF6              .byte 254,246
 000A EE3E              .byte 238,62
 000C 9C7A              .byte 156,'z
 000E 9E8E              .byte 158,142
 0010 CE1C              .byte 206,28
 0012 6E7C              .byte 'n,124
 0014 0A10              .byte 10,16
 0016 02                .byte 2
 0017                   .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例15_键盘显示模块\实例15_键盘显示模块-显示驱动测试\System.c
 0017                   .dbsym e DisTab _DisTab A[23:23]kc
                        .area data(ram, con, rel)
 0000                   .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例15_键盘显示模块\实例15_键盘显示模块-显示驱动测试\System.c
 0000           L2:
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例15_键盘显示模块\实例15_键盘显示模块-显示驱动测试\System.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例15_键盘显示模块\实例15_键盘显示模块-显示驱动测试\System.c
 0000                   .dbfunc e LEDDisplay _LEDDisplay fV
 0000                   .dbsym s ScanStatu L2 c
 0000           ;      LocalTime -> R20
                        .even
 0000           _LEDDisplay::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 92
 0002           ; /*********************************************************/
 0002           ; /*                                                       */
 0002           ; /*               实例15   键盘显示模块                   */
 0002           ; /*                                                       */
 0002           ; /*                显示驱动测试程序                       */
 0002           ; /*                                                       */
 0002           ; /*                 程序设计 江海波                       */
 0002           ; /*                                                       */
 0002           ; /*        编写时间 : 2007-06     版本 : V1.0             */
 0002           ; /*                                                       */
 0002           ; /*     提示 : 代码受版权保护,示例程序用于工程应谨慎      */
 0002           ; /*                                                       */
 0002           ; /*           E-mail : soundman@sohu.com                  */
 0002           ; /*-------------------------------------------------------*/
 0002           ; /* 硬件环境:                                             */
 0002           ; /*                                                       */
 0002           ; /*     实验电路板,ATmega48单片机,CPU时钟1MHz             */
 0002           ; /* ------------------------------------------------------*/
 0002           ; /* 软件环境:                                             */
 0002           ; /*                                                       */
 0002           ; /*     ICCAVR 6.31A                                      */
 0002           ; /* ------------------------------------------------------*/
 0002           ; /* 最后修改时间:                                         */
 0002           ; /*                                                       */
 0002           ; /*-------------------------------------------------------*/
 0002           ; /* 历史版本纪录:                                         */
 0002           ; /*                                                       */
 0002           ; /*********************************************************/
 0002           ; 
 0002           ; /********************
 0002           ; * 头 文 件 配 置 区 *
 0002           ; ********************/
 0002           ; # include "PF_Config.h"
 0002           ; 
 0002           ; /********************
 0002           ; *   系 统 宏 定 义  *
 0002           ; ********************/
 0002           ; 
 0002           ; /*------------------*
 0002           ; *   常 数 宏 定 义  *
 0002           ; *------------------*/
 0002           ; 
 0002           ; #define ExtPortNum 3
 0002           ; 
 0002           ; #define Key_Press 0x00
 0002           ; #define Key_Bounce 0x01
 0002           ; #define Key_Release 0x02
 0002           ; 
 0002           ; #define PINE PortBuffer[0]
 0002           ; #define PORTF PortBuffer[1]
 0002           ; #define PORTG PortBuffer[2]
 0002           ; 
 0002           ; #define KeyPin PINE
 0002           ; #define ScanPort PORTG
 0002           ; #define SegPort PORTF
 0002           ; 
 0002           ; unsigned char PortBuffer[3];
 0002           ; unsigned char LEDDisBuffer[8];
 0002           ; 
 0002           ; /*------------------*
 0002           ; *   动 作 宏 定 义  *
 0002           ; *------------------*/
 0002           ; 
 0002           ; /********************
 0002           ; *  模块结构体定义区 *
 0002           ; ********************/
 0002           ; 
 0002           ; /********************
 0002           ; *   模块函数声明区  *
 0002           ; ********************/
 0002           ; 
 0002           ; /********************
 0002           ; *   模块变量声明区  *
 0002           ; ********************/
 0002           ; 
 0002           ; const unsigned char DisTab[]=
 0002           ; {
 0002           ;       0xFC,0x60,0xDA,0xF2,0x66,       //0,1,2,3,4
 0002           ;       0xB6,0xBE,0xE0,0xFE,0xF6,       //5,6,7,8,9
 0002           ;       0xEE,0x3E,0x9C,0x7A,0x9E,       //A,b,C,d,E
 0002           ;       0x8E,0xCE,0x1C,0x6E,0x7C,       //F,P,L,H,U
 0002           ;       0x0A,0x10,0x02                          //r,_,-
 0002           ; };
 0002           ; 
 0002           ; /***********************************************************
 0002           ; *   函数说明:端口通讯程序                                 *
 0002           ; *   输入:    无                                           *
 0002           ; *   输出:    无                                           *
 0002           ; *   调用函数:                                             *
 0002           ; ***********************************************************/
 0002           ; void LEDDisplay (void)
 0002           ; {
 0002                   .dbline 96
 0002           ;     static unsigned char ScanStatu = 0;     //扫描状态标志,扫描程序内部使用
 0002           ;     unsigned char LocalTime;                //函数内部使用的时标
 0002           ; 
 0002           ;     LocalTime = g_wSystemTimer%20;
 0002 24E1              ldi R18,20
 0004 30E0              ldi R19,0
 0006 00910000          lds R16,_g_wSystemTimer
 000A 10910100          lds R17,_g_wSystemTimer+1
 000E 00D0              rcall mod16u
 0010 402F              mov R20,R16
 0012                   .dbline 98
 0012           ; 
 0012           ;     if (LocalTime > 16)
 0012 80E1              ldi R24,16
 0014 8017              cp R24,R16
 0016 08F4              brsh L3
 0018                   .dbline 99
 0018           ;         return;
 0018 17C0              rjmp L1
 001A           L3:
 001A                   .dbline 101
 001A           ;     else
 001A           ;         {
 001A                   .dbline 102
 001A           ;             LocalTime >>= 1;
 001A 4695              lsr R20
 001C                   .dbline 103
 001C           ;             ScanPort = (~(1<<LocalTime));
 001C 01E0              ldi R16,1
 001E 142F              mov R17,R20
 0020 00D0              rcall lsl8
 0022 202E              mov R2,R16
 0024 2094              com R2
 0026 20920A00          sts _PortBuffer+2,R2
 002A                   .dbline 104
 002A           ;             SegPort = (DisTab[LEDDisBuffer[LocalTime]]);
 002A 80E0              ldi R24,<_LEDDisBuffer
 002C 90E0              ldi R25,>_LEDDisBuffer
 002E E42F              mov R30,R20
 0030 FF27              clr R31
 0032 E80F              add R30,R24
 0034 F91F              adc R31,R25
 0036 E081              ldd R30,z+0
 0038 FF27              clr R31
 003A 80E0              ldi R24,<_DisTab
 003C 90E0              ldi R25,>_DisTab
 003E E80F              add R30,R24

⌨️ 快捷键说明

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