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

📄 main.lst

📁 菜鸟,详细NRF24E1运用,程序,电路
💻 LST
📖 第 1 页 / 共 2 页
字号:
 181          {
 182   1        CS=0;
 183   1        Delay(25);
 184   1        WriteSPI(Cmd);
 185   1        CS=1;
 186   1        Delay(5);
 187   1      }
 188          /****************************************
 189          /给7289写指令和数据
 190          *****************************************/
 191          void WriteCmdDat(uchar Cmd,uchar Dat)
 192          {
 193   1        CS=0;
 194   1        Delay(25);
 195   1        WriteSPI(Cmd);
 196   1        Delay(15);
 197   1        WriteSPI(Dat);
 198   1        CS=1;
 199   1        Delay(5);
 200   1      }
 201          /****************************************
 202          /在数码管上显示内容
 203          *****************************************/
 204          void ZLG7289DownLoad(uchar Mod,uchar cX,uchar cDp,uchar cDat)
 205          {
 206   1          uchar ucModDat[3] = {0x80,0xC8,0x90};
 207   1          uchar ucD1;
 208   1          uchar ucD2;
 209   1          if (Mod > 2) 
 210   1                 {
 211   2              Mod = 2;
 212   2             } 
 213   1          ucD1  = ucModDat[Mod];
 214   1          cX &= 0x07;
 215   1          ucD1 |= cX;
 216   1          ucD2  = cDat & 0x7F;
 217   1          if (cDp  == 1) {
 218   2              ucD2 |= 0x80;
 219   2          }
 220   1          WriteCmdDat(ucD1, ucD2);
 221   1      }
 222          /****************************************
 223          /读取一个按键值
 224          *****************************************/
 225          uchar GetKey()
 226          {
 227   1          uchar cKey;
 228   1          CS=0;
 229   1          Delay(25);
 230   1          WriteSPI(0x15);
 231   1          Delay(15);
 232   1          cKey =ReadSPI();
 233   1          CS=1;
 234   1          Delay(5);
 235   1          return cKey;
 236   1      }
 237          /****************************************
 238          /7289用户指令集
 239          /复位(清除)指令  
 240          *****************************************/
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:57:23 PAGE 5   

 241          void zlg7289Reset()  
 242          {    WriteCmd(0xA4);
 243   1      }     
 244          /***************************************
 245          /测试指令                   
 246          ****************************************/ 
 247          void zlg7289Test()
 248           {
 249   1        WriteCmd(0xBF);
 250   1       } 
 251          /***************************************
 252          /左移指令 
 253          ****************************************/                           
 254          void zlg7289SHL()
 255           {
 256   1       WriteCmd(0xA0); 
 257   1       }
 258          /***************************************
 259          /右移指令 
 260          ****************************************/                         
 261          void zlg7289SHR()
 262          { 
 263   1       WriteCmd(0xA1);
 264   1      }
 265          /***************************************
 266          /循环左移指令 
 267          ****************************************/                           
 268          void zlg7289ROL()
 269           {
 270   1       WriteCmd(0xA2);
 271   1       }                          
 272          /***************************************
 273          /循环右移指令 
 274          ****************************************/
 275          void zlg7289ROR()       
 276          {
 277   1      WriteCmd(0xA3);
 278   1      }                           
 279          /***************************************
 280          /闪烁控制 
 281          ***************************************/
 282          void zlg7289Flash(uchar cX)    
 283          { 
 284   1        WriteCmdDat(0x88, (cX));
 285   1       }                 
 286          /**************************************
 287          /消隐控制
 288          **************************************/                                                                
 289          void zlg7289Hide(uchar cX) 
 290          {
 291   1        WriteCmdDat(0x98, (cX));
 292   1        }                   
 293          /*************************************
 294          /段打开指令      8个数码管被看成64个独立LED
 295          *************************************/                                                                    
             -                                                                   /*  0:消隐  1:显示              */
 296          void zlg7289SegOn(uchar cSeg)  
 297          {
 298   1       WriteCmdDat(0xE0, (cSeg));               
 299   1       }                                                                                                        
             -                     
 300          /************************************
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:57:23 PAGE 6   

 301          /段关闭指令  8个数码管被看成64个独立LED
 302          ************************************/
 303          void zlg7289SegOff(uchar cSeg)
 304          {
 305   1       WriteCmdDat(0xC0, (cSeg));
 306   1       }
 307          /***********************************
 308          /外部中断服务函数
 309          ************************************/
 310          uchar KeyValue=0;
 311          void EXTISR() interrupt INTERRUPT_IFP
 312          {
 313   1          EX0=0;
 314   1              KeyValue=GetKey();
 315   1          ZLG7289DownLoad (0, 0, 0, KeyValue);
 316   1          ZLG7289DownLoad (0, 1, 0, KeyValue);
 317   1          ZLG7289DownLoad (0, 2, 0, KeyValue);
 318   1          ZLG7289DownLoad (0, 3, 0, KeyValue);
 319   1          ZLG7289DownLoad (0, 4, 0, KeyValue);
 320   1          ZLG7289DownLoad (0, 5, 0, KeyValue);
 321   1          ZLG7289DownLoad (0, 6, 0, KeyValue);
 322   1          ZLG7289DownLoad (0, 7, 0, KeyValue);
 323   1              putch('0'+(KeyValue/10));
 324   1              putch('0'+(KeyValue%10));
 325   1              putch('\n');
 326   1              EX0=1;
 327   1      }                                                                  
 328          /***********************************
 329          /主函数部分  
 330          ************************************/
 331          void main()
 332          {
 333   1          /*初始化*/
 334   1          Disableint;
 335   1              SetMcuClk();
 336   1              Uartinit(BAUD_9600);
 337   1          ZLG7289init();
 338   1              zlg7289Reset();
 339   1              Enableint;
 340   1          Delay(100);
 341   1          ZLG7289DownLoad (0, 0, 0, 0);
 342   1          ZLG7289DownLoad (0, 1, 0, 1);
 343   1          ZLG7289DownLoad (0, 2, 0, 2);
 344   1          ZLG7289DownLoad (0, 3, 0, 3);
 345   1          ZLG7289DownLoad (0, 4, 0, 4);
 346   1          ZLG7289DownLoad (0, 5, 0, 5);
 347   1          ZLG7289DownLoad (0, 6, 0, 6);
 348   1          ZLG7289DownLoad (0, 7, 0, 7);
 349   1          while(1);
 350   1      }
 351          /**************************************
 352          /            程序到此结束             /
 353          ***************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    746    ----
   CONSTANT SIZE    =      3    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      10
   IDATA SIZE       =   ----    ----
C51 COMPILER V9.00   MAIN                                                                  11/13/2010 14:57:23 PAGE 7   

   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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