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

📄 lcd.lst

📁 系统采用51单片机
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.16   LCD                                                                   10/04/2008 14:53:01 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: D:\系统开发\keilC51\C51\BIN\C51.EXE LCD.c BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

line level    source

   1          /*
   2                   数码管扫描显示驱动程序
   3           */
   4           
   5           #include  "config.h"
   1      =1  #ifndef _CONFIG_H
   2      =1  #define _CONFIG_H
   3      =1  
   4      =1  #include <reg51.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  REG51.H
   3      =2  
   4      =2  Header file for generic 80C51 and 80C31 microcontroller.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __REG51_H__
  10      =2  #define __REG51_H__
  11      =2  
  12      =2  /*  BYTE Register  */
  13      =2  sfr P0   = 0x80;
  14      =2  sfr P1   = 0x90;
  15      =2  sfr P2   = 0xA0;
  16      =2  sfr P3   = 0xB0;
  17      =2  sfr PSW  = 0xD0;
  18      =2  sfr ACC  = 0xE0;
  19      =2  sfr B    = 0xF0;
  20      =2  sfr SP   = 0x81;
  21      =2  sfr DPL  = 0x82;
  22      =2  sfr DPH  = 0x83;
  23      =2  sfr PCON = 0x87;
  24      =2  sfr TCON = 0x88;
  25      =2  sfr TMOD = 0x89;
  26      =2  sfr TL0  = 0x8A;
  27      =2  sfr TL1  = 0x8B;
  28      =2  sfr TH0  = 0x8C;
  29      =2  sfr TH1  = 0x8D;
  30      =2  sfr IE   = 0xA8;
  31      =2  sfr IP   = 0xB8;
  32      =2  sfr SCON = 0x98;
  33      =2  sfr SBUF = 0x99;
  34      =2  
  35      =2  
  36      =2  /*  BIT Register  */
  37      =2  /*  PSW   */
  38      =2  sbit CY   = 0xD7;
  39      =2  sbit AC   = 0xD6;
  40      =2  sbit F0   = 0xD5;
  41      =2  sbit RS1  = 0xD4;
  42      =2  sbit RS0  = 0xD3;
  43      =2  sbit OV   = 0xD2;
  44      =2  sbit P    = 0xD0;
  45      =2  
  46      =2  /*  TCON  */
C51 COMPILER V8.16   LCD                                                                   10/04/2008 14:53:01 PAGE 2   

  47      =2  sbit TF1  = 0x8F;
  48      =2  sbit TR1  = 0x8E;
  49      =2  sbit TF0  = 0x8D;
  50      =2  sbit TR0  = 0x8C;
  51      =2  sbit IE1  = 0x8B;
  52      =2  sbit IT1  = 0x8A;
  53      =2  sbit IE0  = 0x89;
  54      =2  sbit IT0  = 0x88;
  55      =2  
  56      =2  /*  IE   */
  57      =2  sbit EA   = 0xAF;
  58      =2  sbit ES   = 0xAC;
  59      =2  sbit ET1  = 0xAB;
  60      =2  sbit EX1  = 0xAA;
  61      =2  sbit ET0  = 0xA9;
  62      =2  sbit EX0  = 0xA8;
  63      =2  
  64      =2  /*  IP   */ 
  65      =2  sbit PS   = 0xBC;
  66      =2  sbit PT1  = 0xBB;
  67      =2  sbit PX1  = 0xBA;
  68      =2  sbit PT0  = 0xB9;
  69      =2  sbit PX0  = 0xB8;
  70      =2  
  71      =2  /*  P3  */
  72      =2  sbit RD   = 0xB7;
  73      =2  sbit WR   = 0xB6;
  74      =2  sbit T1   = 0xB5;
  75      =2  sbit T0   = 0xB4;
  76      =2  sbit INT1 = 0xB3;
  77      =2  sbit INT0 = 0xB2;
  78      =2  sbit TXD  = 0xB1;
  79      =2  sbit RXD  = 0xB0;
  80      =2  
  81      =2  /*  SCON  */
  82      =2  sbit SM0  = 0x9F;
  83      =2  sbit SM1  = 0x9E;
  84      =2  sbit SM2  = 0x9D;
  85      =2  sbit REN  = 0x9C;
  86      =2  sbit TB8  = 0x9B;
  87      =2  sbit RB8  = 0x9A;
  88      =2  sbit TI   = 0x99;
  89      =2  sbit RI   = 0x98;
  90      =2  
  91      =2  #endif
   5      =1  #include <stdio.h>      //包含标准I/O头文件(其中有printf()函数)
   1      =2  /*--------------------------------------------------------------------------
   2      =2  STDIO.H
   3      =2  
   4      =2  Prototypes for standard I/O functions.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __STDIO_H__
  10      =2  #define __STDIO_H__
  11      =2  
  12      =2  #ifndef EOF
  13      =2   #define EOF -1
  14      =2  #endif
  15      =2  
  16      =2  #ifndef NULL
C51 COMPILER V8.16   LCD                                                                   10/04/2008 14:53:01 PAGE 3   

  17      =2   #define NULL ((void *) 0)
  18      =2  #endif
  19      =2  
  20      =2  #ifndef _SIZE_T
  21      =2   #define _SIZE_T
  22      =2   typedef unsigned int size_t;
  23      =2  #endif
  24      =2  
  25      =2  #pragma SAVE
  26      =2  #pragma REGPARMS
  27      =2  extern char _getkey (void);
  28      =2  extern char getchar (void);
  29      =2  extern char ungetchar (char);
  30      =2  extern char putchar (char);
  31      =2  extern int printf   (const char *, ...);
  32      =2  extern int sprintf  (char *, const char *, ...);
  33      =2  extern int vprintf  (const char *, char *);
  34      =2  extern int vsprintf (char *, const char *, char *);
  35      =2  extern char *gets (char *, int n);
  36      =2  extern int scanf (const char *, ...);
  37      =2  extern int sscanf (char *, const char *, ...);
  38      =2  extern int puts (const char *);
  39      =2  
  40      =2  #pragma RESTORE
  41      =2  
  42      =2  #endif
  43      =2  
   6      =1  #include <absacc.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  ABSACC.H
   3      =2  
   4      =2  Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __ABSACC_H__
  10      =2  #define __ABSACC_H__
  11      =2  
  12      =2  #define CBYTE ((unsigned char volatile code  *) 0)
  13      =2  #define DBYTE ((unsigned char volatile data  *) 0)
  14      =2  #define PBYTE ((unsigned char volatile pdata *) 0)
  15      =2  #define XBYTE ((unsigned char volatile xdata *) 0)
  16      =2  
  17      =2  #define CWORD ((unsigned int volatile code  *) 0)
  18      =2  #define DWORD ((unsigned int volatile data  *) 0)
  19      =2  #define PWORD ((unsigned int volatile pdata *) 0)
  20      =2  #define XWORD ((unsigned int volatile xdata *) 0)
  21      =2  
  22      =2  
  23      =2  #ifdef __CX51__
           =2 #define FVAR(object, addr)   (*((object volatile far *) (addr)))
           =2 #define FARRAY(object, base) ((object volatile far *) (base))
           =2 #define FCVAR(object, addr)   (*((object const far *) (addr)))
           =2 #define FCARRAY(object, base) ((object const far *) (base))
           =2 #else
  29      =2  #define FVAR(object, addr)    (*((object volatile far *) ((addr)+0x10000L)))
  30      =2  #define FCVAR(object, addr)   (*((object const far *) ((addr)+0x810000L)))
  31      =2  #define FARRAY(object, base)  ((object volatile far *) ((base)+0x10000L))
  32      =2  #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
  33      =2  #endif
  34      =2  
C51 COMPILER V8.16   LCD                                                                   10/04/2008 14:53:01 PAGE 4   

  35      =2  #endif
   7      =1  
   8      =1  #define uchar unsigned char
   9      =1  #define uint unsigned int 
  10      =1  
  11      =1  #include "uart.h"
   1      =2  #ifndef _UART_H
   2      =2  #define _UART_H
   3      =2  
   4      =2  //设置主时钟和波特率
   5      =2  #define MCLK            11059200L
   6      =2  #define BAUD_RATE       9600L
   7      =2  
   8      =2  void UartInit();
   9      =2  #endif
  12      =1  #include "LM75A.h"
   1      =2  #ifndef _LM75A_H
   2      =2  #define _LM75A_H
   3      =2  
   4      =2  
   5      =2  /*
   6      =2  函数:Delay()
   7      =2  功能:延时1ms~65.536s
   8      =2  参数:
   9      =2          t>0时,延时(t*0.001)s
  10      =2          t=0时,延时65.536s
  11      =2  */
  12      =2  void Delay(unsigned int t);
  13      =2  
  14      =2  /*
  15      =2  功能:系统初始化
  16      =2  */
  17      =2  void T0Init();
  18      =2  
  19      =2  
  20      =2  /*
  21      =2  函数:LM75A_GetTemp
  22      =2  功能:读出LM75A的温度值
  23      =2  返回:LM75A温度寄存器的数值(乘以0.125可得到摄氏度值)
  24      =2  */
  25      =2  int LM75A_GetTemp();
  26      =2  
  27      =2  
  28      =2  #endif
  13      =1  #include "LCD.h"
   1      =2  #ifndef _LCD_H
   2      =2  #define _LCD_H
   3      =2  
   4      =2  
   5      =2  #define seg P0
   6      =2  #define com P1
   7      =2  
   8      =2  void DispChar(unsigned char x, unsigned char mydata);
   9      =2   
  10      =2  void DispStr( unsigned char *s);
  11      =2   
  12      =2     
  13      =2  //void DispDotOn(unsigned char x);
  14      =2   
  15      =2  void ByteToStr(unsigned char  *s, unsigned char c );
  16      =2  
  17      =2  uchar* DispTemp(int t)  ;
C51 COMPILER V8.16   LCD                                                                   10/04/2008 14:53:01 PAGE 5   

  18      =2  
  19      =2                           
  20      =2  void disp(int t);
  21      =2  
  22      =2  
  23      =2  
  24      =2  #endif
  14      =1  #include "I2C.h"
   1      =2  #ifndef _I2C_H
   2      =2  #define _I2C_H
   3      =2  
   4      =2  //模拟I2C总线的引脚定义
   5      =2  
   6      =2  sbit I2C_SCL = P3^4;
   7      =2  sbit I2C_SDA = P3^5;
   8      =2  
   9      =2  
  10      =2  //定义I2C总线时钟的延时值,要根据实际情况修改,取值1~255
  11      =2  //SCL信号周期约为(I2C_DELAY_VALUE*4+15)个机器周期
  12      =2  #define I2C_DELAY_VALUE         5
  13      =2  
  14      =2  
  15      =2  //定义I2C总线停止后在下一次开始之前的等待时间,取值1~65535
  16      =2  //等待时间约为(I2C_STOP_WAIT_VALUE*8)个机器周期
  17      =2  //对于多数器件取值为1即可;但对于某些器件来说,较长的延时是必须的
  18      =2  #define I2C_STOP_WAIT_VALUE     1
  19      =2  

⌨️ 快捷键说明

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