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

📄 4.3.4.lst

📁 单片机C编程实例
💻 LST
📖 第 1 页 / 共 2 页
字号:
 141   2                      {
 142   3                              send_byte(RTL_UNCYL);   //不循环左移指令
 143   3                              write7279(DECODE0,j);   //译码方式0指令,显示在第1位
 144   3                              delay10ms(50);
 145   3                      }
 146   2                      delay10ms(150);
 147   2                      //send_byte(CMD_RESET);
 148   2      /***************消隐指令测试程序**************************/
 149   2                      k=0xff;
 150   2                      for (j=0;j<6;j++)
 151   2                      {
 152   3                              k=k<<1;         
 153   3                              write7279(ACTCTL,k);    //每隔1秒增加一个消隐位
 154   3                              delay10ms(100);
 155   3                      }
 156   2                      write7279(ACTCTL,0xff);         //恢复8位显示
 157   2                      delay10ms(100);
 158   2                      send_byte(CMD_RESET);           //消除显示
 159   2      /***********译码方式1及右移指令测试程序********************/
 160   2                      for (j=0;j<16;j++)
 161   2                      {
 162   3                              send_byte(RTR_UNCYL);   //不循环右移指令
 163   3                              write7279(DECODE1+7,j); //译码方式1指令,显示在第8位
 164   3                              delay10ms(50);
 165   3                      }
 166   2                      delay10ms(150);
 167   2      /***************消隐指令测试程序**************************/
 168   2                      k=0xff;
 169   2                      for (j=0;j<6;j++)
 170   2                      {
 171   3                              k=k/2;
 172   3                              write7279(ACTCTL,k);    //每隔1秒增加一个消隐位
 173   3                              delay10ms(100);
 174   3                      }
 175   2                      write7279(ACTCTL,0xff);         //恢复8位显示
 176   2                      delay10ms(100);
 177   2                      send_byte(CMD_RESET);           //消除显示
 178   2      /*************段点亮指令和段关闭指令程序****************************/
 179   2                      for (j=0;j<64;j++)
C51 COMPILER V8.02   4_3_4                                                                 12/13/2007 12:52:34 PAGE 4   

 180   2                      {
 181   3                              write7279(SEGON,j);     //将64个显示段逐个点亮
 182   3                              write7279(SEGOFF,j-1);  //同时将前一个显示段关闭
 183   3                              delay10ms(20);
 184   3                      }
 185   2              }
 186   1      }
 187          
 188          void write7279(unsigned char cmd, unsigned char dta)
 189          {
 190   1              send_byte (cmd);
 191   1              send_byte (dta);
 192   1      }
 193          
 194          unsigned char read7279(unsigned char command)
 195          {
 196   1              send_byte(command);
 197   1              return(receive_byte());
 198   1      }
 199          
 200          void send_byte( unsigned char out_byte)
 201          {
 202   1              unsigned char i;
 203   1              cs=0;
 204   1              long_delay();
 205   1              for (i=0;i<8;i++)
 206   1              {
 207   2                      if (out_byte&0x80)
 208   2                      {
 209   3                              dat=1;
 210   3                      }
 211   2                      else
 212   2                      {
 213   3                              dat=0;
 214   3                      }
 215   2                      clk=1;
 216   2                      short_delay();
 217   2                      clk=0;
 218   2                      short_delay();
 219   2                      out_byte=out_byte*2;
 220   2              }
 221   1              dat=0;
 222   1      }
 223          
 224          unsigned char receive_byte(void)
 225          {
 226   1              unsigned char i, in_byte;
 227   1              dat=1;                          //设为输入状态
 228   1              long_delay();
 229   1              for (i=0;i<8;i++)
 230   1              {
 231   2                      clk=1;
 232   2                      short_delay();
 233   2                      in_byte=in_byte*2;
 234   2                      if (dat)
 235   2                      {
 236   3                              in_byte=in_byte|0x01;
 237   3                      }
 238   2                      clk=0;
 239   2                      short_delay();
 240   2              }
 241   1              dat=0;
C51 COMPILER V8.02   4_3_4                                                                 12/13/2007 12:52:34 PAGE 5   

 242   1              return (in_byte);
 243   1      }
 244          
 245          void long_delay(void)
 246          {
 247   1              unsigned char i;
 248   1              for (i=0;i<0x30;i++);
 249   1      }
 250          
 251          void short_delay(void)
 252          {
 253   1              unsigned char i;
 254   1              for (i=0;i<8;i++);
 255   1      }
 256          
 257          /********************* 延时n*10ms **********************/
 258          void delay10ms(unsigned char time)
 259          {
 260   1              unsigned char i;
 261   1              unsigned int j;
 262   1              for (i=0;i<time;i++)
 263   1              {
 264   2                      for(j=0;j<0x590;j++)
 265   2                      {
 266   3                              //if (!key)
 267   3                              //{
 268   3                                      //key_int();                            
 269   3                              //}
 270   3                              ;
 271   3                      }
 272   2              }
 273   1      }
 274          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    760    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       5
   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 + -