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

📄 _main.lst

📁 国产键盘、显示芯片CH451在ADUC845下的程序
💻 LST
字号:
C51 COMPILER V7.06   _MAIN                                                                 08/24/2007 00:43:39 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE _MAIN
OBJECT MODULE PLACED IN _main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE _main.c BROWSE

stmt level    source

   1                                                                                                                                                                                                                            //CH451
   2          //AT89C51 C语言程序
   3          //Web: http//winchiphead.com
   4          //Author: yhw  2003.7
   5          
   6          //功能  开机后在最低位置1,其余清零;按下键后,左移两位,在低两位显示
   7          //十进制键值,如果按住键不放,最低位小数点点亮,释放后小数点熄灭。
   8          
   9          #include "ADuC845.h"
  10          //如果使用键盘中断请定义
  11          #define  USE_KEY  1
  12          unsigned char  ch451_key;                               // 存放键盘中断中读取的键值
  13          #include "ch451.h"
  14          //须主程序定义的参数
  15          
  16          
  17          
  18          
  19          
  20          //*************************************************
  21           //延时程序
  22           void delay(){                                  //在12P下延时十毫秒
  23   1         unsigned char i,j,k;
  24   1         for(i=0;i<10;i++)
  25   1           for(j=0;j<40;j++)
  26   1             for(k=0;k<120;k++);
  27   1        }
  28          
  29          //************************************************
  30          void main(){
  31   1         unsigned char a;
  32   1         ch451_write(CH451_RESET);
  33   1         ch451_init();                                  //调用初始化
  34   1         
  35   1         ch451_write(0x403);
  36   1         
  37   1         ch451_write(0x580);                           //测试送入命令
  38   1         ch451_write(CH451_DIG0|0X01);                 //最低位显示1
  39   1         EA=1;
  40   1         ch451_key=0x0ff;
  41   1         while(1){
  42   2          while(ch451_key==0xff);                     //等待中断
  43   2          a=ch451_key;
  44   2          //d=a;
  45   2          ch451_key=0x0ff;
  46   2          ch451_write(CH451_RIGHTMOV);                              //左移两位
  47   2          //ch451_write(0x300);
  48   2          //a&=0x3f;                               //显示十进制数据
  49   2          //b=a;
  50   2          //a/=10;
  51   2              switch(a)
  52   2              {
  53   3              case  0x5c:       ch451_write(CH451_DIG7|0x00);    break;
  54   3              case  0x54:       ch451_write(CH451_DIG7|0x01);    break;
  55   3              case  0x4c:       ch451_write(CH451_DIG7|0x02);    break;
C51 COMPILER V7.06   _MAIN                                                                 08/24/2007 00:43:39 PAGE 2   

  56   3              case  0x44:       ch451_write(CH451_DIG7|0x03);   break;
  57   3      
  58   3              case  0x5d:       ch451_write(CH451_DIG7|0x04);    break;
  59   3              case  0x55:       ch451_write(CH451_DIG7|0x05);   break;
  60   3              case  0x4d:       ch451_write(CH451_DIG7|0x06);   break;
  61   3              case  0x45:       ch451_write(CH451_DIG7|0x07);  break;
  62   3      
  63   3              case  0x5e:       ch451_write(CH451_DIG7|0x08);  break;
  64   3              case  0x56:       ch451_write(CH451_DIG7|0x09); break;
  65   3      
  66   3      
  67   3              default:   ch451_write(CH451_DIG7|0x80); break;
  68   3      
  69   3              }
  70   2          //ch451_write(CH451_DIG1|a);
  71   2          //b%=10;
  72   2          //ch451_write(CH451_DIG0|b);
  73   2           //delay();
  74   2           //c=ch451_read();
  75   2           //while(c==d)                         //测试按键是否释放
  76   2           //{
  77   2           // ch451_write(CH451_DIG0|b|0x80);
  78   2            //delay();
  79   2           // c=ch451_read();
  80   2          // }
  81   2          //ch451_write(CH451_DIG0|b);
  82   2       }
  83   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    322    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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