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

📄 shumaguan2.lst

📁 单片机开发液晶显示万年历计算器电子琴电子音乐字母输入
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   SHUMAGUAN2                                                            03/06/2009 00:27:45 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE SHUMAGUAN2
OBJECT MODULE PLACED IN shumaguan2.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE shumaguan2.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**********************************************************************
   2          **文件名:shumaguan2.c                                                                                           **
   3          **功能:实现键盘、数码管显示,实现计算器功能                                             **
   4          **创建人:xingyuegu                                                                                                      **
   5          **创建日期:2006-9-10                                                                                            **
   6          **版本:1.0                                                                                                                      **
   7          **修改日期:2006-10-17                                                                                           **
   8          **版本:2.0                                                                                                                      **
   9          **********************************************************************/
  10          #include <reg52.h>
  11          #include <lcd.h>
  12          #define uchar unsigned char
  13          #define uint unsigned int
  14          
  15          /**********************************************************************
  16                                                                          变量定义                                                         
  17          **********************************************************************/
  18          unsigned char lastop;
  19          unsigned long result=0;
  20          unsigned long currentvalue=0,lastvalue=0;
  21          code ksp[8]={0x8F,0x9F,0xAF,0xBF,0xCF,0xDF,0xEF,0xFF}; 
  22          /****************************************************************************
  23           数组功能:定义  按键按下时 P2口的数据
  24          ****************************************************************************/
  25          code key_code1[32]={142,206,174,238,158,222,190,254,
  26                              141,205,173,237,157,221,189,253,
  27                                              139,203,171,235,155,219,187,251,
  28                                                  135,199,167,231,151,215,183,247};
  29          unsigned  char code keyvalue[]=
  30          {
  31          '7','8','9','/',
  32          '4','5','6','*',
  33          '1','2','3','-',
  34          'o','0','=','+'
  35          };
  36          uchar code letter_logo[10][16]={
  37          /*--  文字:  0  --*/
  38          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  39          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
  40          /*--  文字:  1  --*/
  41          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  42          0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
  43          /*--  文字:  2  --*/
  44          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  45          0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
  46          /*--  文字:  3  --*/
  47          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  48          0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
  49          /*--  文字:  4  --*/
  50          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  51          0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
  52          /*--  文字:  5  --*/
  53          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  54          0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
  55          /*--  文字:  6  --*/
C51 COMPILER V8.02   SHUMAGUAN2                                                            03/06/2009 00:27:45 PAGE 2   

  56          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  57          0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
  58          /*--  文字:  7  --*/
  59          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  60          0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
  61          /*--  文字:  8  --*/
  62          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  63          0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
  64          /*--  文字:  9  --*/
  65          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
  66          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00
  67          };
  68          /**********************************************************************
  69          **                                                              函数申明                                                         **
  70          **********************************************************************/
  71          
  72          void display(unsigned long);
  73          
  74          unsigned char key_scan(void);
  75          unsigned char transition(unsigned char);
  76          bit isdigit(unsigned char );
  77          unsigned int process(unsigned char );
  78          uchar input();
  79          /**********************************************************************
  80          **函数功能:主函数                                                                                                       **
  81          **参数:无                                                                                                                       **
  82          **返回:无                                                                                                                       **
  83          **********************************************************************/
  84          void main()
  85          {
  86   1        unsigned char kvalue,temp;
  87   1        Lcd_Initial();
  88   1        Delay(500);
  89   1        Lcd_Clear();   
  90   1                       while(1)
  91   1                      {       
  92   2                              temp=input();
  93   2                              kvalue=keyvalue[temp];
  94   2                              if(kvalue!=0)
  95   2                              result=process(kvalue);
  96   2                              kvalue=0;
  97   2                              if(result<=999999999)
  98   2                                      {
  99   3                                      display(result);        
 100   3                                      }
 101   2                              else
 102   2                                      {
 103   3                                      display(0);
 104   3                                      }                                               
 105   2                      } 
 106   1                      
 107   1      }                               
 108          /**********************************************************************

⌨️ 快捷键说明

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