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

📄 hdp.lst

📁 通过人眼视觉暂停来显示图片文字
💻 LST
字号:
C51 COMPILER V7.50   HDP                                                                   08/10/2007 11:20:48 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE HDP
OBJECT MODULE PLACED IN HDP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HDP.c OMF2 BROWSE DEBUG

line level    source

   1          //====================================================================================
   2          // HDP.c  晃动屏程序  
   3          //====================================================================================
   4          // 
   5          // 版权所有: Copyright (C) 2007 Wellsin Studio
   6          // 编    写: 老  酷
   7          // 版    本: V1.0
   8          // 日    期: 2007-08-09
   9          // 目标器件: C8051F330D
  10          // 开发工具: KEIL 'c'
  11          //
  12          //====================================================================================
  13          // 包含文件
  14          //====================================================================================
  15          #include <c8051f330.h>
  16          #include <5x8_ascii_dot.c>
  17          //====================================================================================
  18          // 常数预定义
  19          //====================================================================================
  20          #define BYTE unsigned char
  21          #define WORD unsigned int
  22          //====================================================================================
  23          // 端口定义
  24          //====================================================================================
  25          sbit KEY1 = P0^7;
  26          sbit KEY2 = P1^7;
  27          sbit KEY3 = P2^0;
  28          
  29          #define G_Port P0
  30          #define R_Port P1
  31          //====================================================================================
  32          // 全局变量
  33          //====================================================================================
  34          BYTE str1[8]={"LAO KU  "};
  35          BYTE color;
  36          //====================================================================================
  37          // 函数原形
  38          //====================================================================================
  39          void PORT_Init (void);
  40          void Reset_Sources_Init();
  41          
  42          Delay_ms(WORD ms);
  43          //====================================================================================
  44          // 主程序
  45          //====================================================================================
  46          void main (void) 
  47          { 
  48   1        OSCICN    = 0x81;           // 初始化系统时钟
  49   1        PCA0MD &= ~0x40;                    // 禁止WDT 
  50   1        PORT_Init ();                       // 端口初始化
  51   1        Reset_Sources_Init();               // 复位源初始化                          
  52   1        TCON=0x01;
  53   1        IE        = 0x81;
  54   1        IT01CF    = 0x07;
  55   1        color=1;                                            
C51 COMPILER V7.50   HDP                                                                   08/10/2007 11:20:48 PAGE 2   

  56   1        while(1)
  57   1          {
  58   2            if(!KEY2)    // 判断是否有键按下
  59   2              {
  60   3                Delay_ms(100);       // 延时消抖动
  61   3                if(!KEY2) 
  62   3                  {                  
  63   4                    while(!KEY2){};  // 等待键放开
  64   4                            color++;              // 改变颜色
  65   4                            if(color>3){color=1;}
  66   4                            R_Port=G_Port=0xFF;
  67   4                            switch(color)  // 确定颜色
  68   4                          {
  69   5                                case 1: R_Port=0x80; break; // 红
  70   5                                case 2: G_Port=0x80; break; // 绿
  71   5                                case 3: R_Port=G_Port=0x80; break; // 红+绿=黄
  72   5                                default:break;
  73   5                          }
  74   4                  }
  75   3              }         
  76   2          }
  77   1      }
  78          //====================================================================================
  79          // 中断服务程序
  80          //====================================================================================
  81          //----------------------------
  82          // 外部中断0程序
  83          //----------------------------
  84          void INT0_ISR (void) interrupt 0
  85          {
  86   1      BYTE i,j,outbuf;
  87   1      WORD dot;
  88   1        R_Port=0xFF;
  89   1        G_Port=0xFF;
  90   1        Delay_ms(450);
  91   1        for(i=0;i<8;i++)
  92   1          {
  93   2                dot=(str1[i]-0x20)*5; // 计算字符在点阵中的首地址
  94   2                for(j=0;j<5;j++)
  95   2              {                // 一个字符5列
  96   3                        outbuf=~(ASCII_Dot[dot+j]>>1);
  97   3                    switch(color)  // 确定颜色
  98   3                      {
  99   4                            case 1: R_Port=outbuf; break; // 红
 100   4                            case 2: G_Port=outbuf; break; // 绿
 101   4                            case 3: R_Port=G_Port=outbuf; break; // 红+绿=黄
 102   4                            default:break;
 103   4                      }
 104   3                    Delay_ms(15);
 105   3                    R_Port=G_Port=0xFF;
 106   3                    Delay_ms(5);
 107   3                  }   
 108   2                Delay_ms(15);
 109   2              }
 110   1              IE0=0;
 111   1      }
 112          //====================================================================================
 113          // 子程序
 114          //====================================================================================
 115          
 116          //----------------------------------------
 117          // 延时子程序
C51 COMPILER V7.50   HDP                                                                   08/10/2007 11:20:48 PAGE 3   

 118          //----------------------------------------
 119          // 
 120          Delay_ms(WORD ms)
 121          {
 122   1      WORD i;
 123   1        while(ms!=0)
 124   1          {
 125   2            for(i=50;i>0;i--){} 
 126   2                ms--;
 127   2              }
 128   1      }
 129          //----------------------------------------
 130          // 端口初始化
 131          //----------------------------------------
 132          void PORT_Init (void)
 133          { 
 134   1         XBR1   = 0x40;   // 交叉开关打开
 135   1         P0MDOUT   = 0x7F;
 136   1         P1MDOUT   = 0x7F; 
 137   1        
 138   1         P0SKIP  = 0x0B;
 139   1      }
 140          //----------------------------------------
 141          // 复位源初始化
 142          //----------------------------------------
 143          void Reset_Sources_Init()
 144          {
 145   1      WORD i;
 146   1          i = 0;
 147   1          VDM0CN    = 0x80;  // 允许内部电压监视器
 148   1          for (i = 0; i < 350; i++);  // 延时等待电压监视器稳定
 149   1          RSTSRC    = 0x06;  //  允许电压监视器复位、时钟丢失复位
 150   1      }
 151          //====================================================================================
 152          //                                  结 束
 153          //====================================================================================


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    349    ----
   CONSTANT SIZE    =    480    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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