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

📄 mmi.lst

📁 用DS12C887RTC芯片实现高精度数字时钟的1602显示
💻 LST
字号:
C51 COMPILER V8.08   MMI                                                                   02/05/2009 15:57:56 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MMI
OBJECT MODULE PLACED IN mmi.OBJ
COMPILER INVOKED BY: F:\安装包\Keilc uv2\C51\BIN\C51.EXE mmi.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*************************************************************************
   2          文件名  :mmi.c
   3          作        者:eleclike
   4          修改日期:2008-9-9
   5          版        本:v1.00
   6          版权说明:本程序只供学习使用,未经作者许可,不得用于其它任何用途
   7          备    注:该模块处理人机交互,包括按键,闹钟、显示时间,LED指示等
   8          **************************************************************************/
   9          
  10          #include "Mmi.h"
  11          
  12          //"ds12887.c"中定义
  13          extern uchar Second;            
  14          extern uchar AlarmEnable;
  15          
  16          //"main.c"中定义 本模块中用作延时
  17          extern void DeelDisplay(void);
  18          
  19          
  20          uchar KeyValue=0xff;    //键盘值,若为0XFF,则未按下键盘
  21          
  22          /*********************************************************
  23          函数名称:DynamicDisplay()
  24          函数功能:动态显示函数
  25          入口参数:需要显示的时钟参数
  26          出口参数:无
  27          备    注:显示的方式为月日、时分、年星期
  28          *********************************************************/
  29          void DynamicDisplay(uchar dt2,uchar dt1)
  30          {
  31   1              PtData = (dt2>>4) | 0x10;               //送数据dt2高四位至第1个数码管
  32   1              Delay(250);     
  33   1              PtData = (dt2&0x0f) | 0x20;     //送数据dt2低四位至第2个数码管
  34   1              Delay(250);      
  35   1              PtData = (dt1>>4) | 0x40;               //送数据dt1高四位至第3个数码管
  36   1              Delay(250);             
  37   1              PtData = (dt1&0x0f) | 0x80;             //送数据dt1低四位至第4个数码管
  38   1              Delay(250);      
  39   1      }
  40          /*********************************************************
  41          函数名称:ReadKey()
  42          函数功能:读取键盘的值
  43          入口参数:无
  44          出口参数:无
  45          备    注:
  46          *********************************************************/
  47          void ReadKey(void)
  48          {
  49   1              KEY1=1;KEY2=1;                          //将需要读取的端口置一
  50   1              KEY3=1;KEY4=1;
  51   1              KeyValue= P3 & 0x33;
  52   1              if(KeyValue != 0x33)
  53   1              {
  54   2                      DeelDisplay();                  //使用显示来延时
  55   2                      DeelDisplay();
C51 COMPILER V8.08   MMI                                                                   02/05/2009 15:57:56 PAGE 2   

  56   2                      DeelDisplay();  
  57   2                      DeelDisplay();  
  58   2                      DeelDisplay();
  59   2                      KEY1=1;KEY2=1;
  60   2                      KEY3=1;KEY4=1;
  61   2                      KeyValue = P3 & 0x33;   //读取键值
  62   2                      if(KeyValue != 0x33)
  63   2                      {       
  64   3                              DeelDisplay();          //使用显示来延时
  65   3                              DeelDisplay();
  66   3                              DeelDisplay();
  67   3                              DeelDisplay();
  68   3                              DeelDisplay();
  69   3                              KeyValue = P3 & 0x33;   
  70   3                              AlarmEnable = 0;        //任何按键将停止闹钟报警声
  71   3                      }
  72   2                      else 
  73   2                              KeyValue =  0xff;       //若无按键,置按键值无效
  74   2              }
  75   1              else
  76   1                      KeyValue =  0xff;               
  77   1      }
  78          
  79          /*********************************************************
  80          函数名称:SecondLedShine()
  81          函数功能:表示秒的LED闪烁
  82          入口参数:无
  83          出口参数:无
  84          备    注:
  85          *********************************************************/
  86          void SecondLedShine(void)
  87          {
  88   1              if(Second%2==0) 
  89   1                      SecondLedOn();
  90   1              else
  91   1                      SecondLedOff();
  92   1      
  93   1      }
  94          /*********************************************************
  95          函数名称:AlarmLedShine()
  96          函数功能:闹钟LED闪烁
  97          入口参数:无
  98          出口参数:无
  99          备    注:
 100          *********************************************************/
 101          void AlarmLedShine(void)
 102          {
 103   1              if(Second%2==0) 
 104   1                      AlarmLedOn();
 105   1              else
 106   1                      AlarmLedOff();
 107   1      }
 108          /*********************************************************
 109          函数名称:AlarmBellShine()
 110          函数功能:闹钟蜂鸣器间断发声
 111          入口参数:无
 112          出口参数:无
 113          备    注:
 114          *********************************************************/
 115          void AlarmBellShine(void)
 116          {
 117   1              if(Second%2==0) 
C51 COMPILER V8.08   MMI                                                                   02/05/2009 15:57:56 PAGE 3   

 118   1                      AlarmBellOn();
 119   1              else
 120   1                      AlarmBellOff();
 121   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    179    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       2
   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 + -