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

📄 74_595_task.lst

📁 C8051F020对74LS595的控制
💻 LST
字号:
C51 COMPILER V7.06   74_595_TASK                                                           09/18/2008 13:57:34 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 74_595_TASK
OBJECT MODULE PLACED IN 74_595_TASK.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 74_595_TASK.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /**********************************************************************/
   2          //**程序名称:74HC595驱动发光二极管模块
   3          //**    作者:杨占刚
   4          //**作者简介:中南民族大学_电子信息工程学院_电子信息工程专业_本科学号:05071133   
   5          
   6          //**芯片说明:8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。
   7                        //数据在SCLK的上升沿输入,在RCLK的上升沿进入的存储寄存器中去。
   8                                    //如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
   9          //**出口函数:595_TASK()
  10          //**人口函数:无
  11          /***建立时间:2008年7月19号
  12          /*??????????????????????????????????????????????????????????????????????*/
  13          #include  "c8051f020.h"
  14          #include  "config.h"
  15          #include  "intrins.h"
  16          
  17          
  18          /**************************************************
  19          >>>函数名称: LED_595_TASK(UCHAR d)
  20          >>>函数功能: 74HC595驱动发光二极管LED
  21          >>>入口参数: UCHAR d:对应的8个数码管的亮灭,位为1亮,位为0灭
  22          >>>出口参数: 无
  23          >>>调用模块: 无
  24          /**注意事项:串行到并行的数据转换
  25          ***************************************************/
  26          void Write_595(UCHAR d)
  27          {
  28   1              UCHAR i,Serial;
  29   1              Serial  =       d;
  30   1              for(i=0;i<8;i++)
  31   1          {
  32   2                      SCLK = 0;
  33   2                      SER=Serial&0X80;//因为串口输入是最低位先输入,所以,先右移一位使得最低位变为CY,再执行SER=CY;
  34   2                      Serial=Serial<<1;
  35   2                      SCLK = 1;               //数据在SCLK的上升沿输入到移位寄存器中
  36   2                      _nop_();
  37   2              }
  38   1              //以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令
  39   1              RCLK = 0;       
  40   1              _nop_();
  41   1              RCLK = 1;       //数据在RCLK的上升沿输输出
  42   1      } 
  43          
  44          void main(void)
  45          {
  46   1              config();
  47   1              for(;;)
  48   1              {
  49   2                      Write_595(16);
  50   2              }
  51   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    120    ----
C51 COMPILER V7.06   74_595_TASK                                                           09/18/2008 13:57:34 PAGE 2   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -