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

📄 text1.lst

📁 采用单片机直接驱动数码管
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.09   TEXT1                                                                 04/30/2009 21:34:49 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h> 
   2          #define uchar unsigned char                                               
   3          #define uint unsigned int                                                   
   4          #define ulong unsigned long 
   5          uchar i,j,count,m,f,s,key_number,key0,key1,key2,key3,key4,key5;
   6          /**************子函数定义****************************/                       
   7          void long_delay(void);                                                        
   8          void short_delay(void);                                                     
   9          void delay10ms(uchar);                                                       
  10          void write7279(uchar,uchar);                                               
  11          uchar read7279(uchar);                                                     
  12          void send_byte(uchar);                                                      
  13          uchar receive_byte(void);                                                   
  14                                      
  15          void keyunit(void);   //按键及显示测试 
  16          void init_time0(void);//定时器赋初值函数
  17          void display7279();//显示函数
  18          void kongzhi();//进位控制函数
  19          
  20          /**************端口初始化**************************/                        
  21          sbit key=P3^4;                                                                
  22          sbit dat=P3^5;                                                                   
  23          sbit clk=P3^6;                                                              
  24          sbit cs=P3^7;     
  25          /***********7279指令初始化*************************/                      
  26          #define DEC0DE0 0x80                              //采用译码方式0                       
  27          #define DEC0DE1 0xc8                              //采用译码方式1                          
  28          #define CMD_READ 0x15                             //读键盘的数据指令                      
  29          #define UNDEC0DE 0x90                             //不译码              
  30          main()                                                                      
  31          { 
  32   1        init_time0();                                                                                
  33   1        while(1)                                                                  
  34   1        {   kongzhi();
  35   2            display7279();
  36   2            keyunit();                            
  37   2        }                                                               
  38   1                                                                  
  39   1                                                                                   
  40   1      }                   
  41          
  42          /************************************************                          
  43                                    7279写入函数                                             
  44          **********************************************/                             
  45          void write7279(uchar cmd,uchar dta)                                         
  46          {                                                                              
  47   1        send_byte(cmd);                                                            
  48   1        send_byte(dta);                                                           
  49   1      }                                                                           
  50          /*************************************************                          
  51                                     7279读取函数                                             
  52          **************************************************/                             
  53          uchar read7279(uchar command)                                               
  54          {                                                                         
  55   1        send_byte(command);                                                      
C51 COMPILER V7.09   TEXT1                                                                 04/30/2009 21:34:49 PAGE 2   

  56   1        return(receive_byte());                                                   
  57   1      }                                                                             
  58          /*************************************************                         
  59                                  7279发送字节函数                                          
  60          ***************************************************/                      
  61          void send_byte(uchar out_byte)                                          
  62          {                                                                             
  63   1        uchar i;                                                                 
  64   1        cs=0;                                                                              
  65   1        long_delay();                                                            
  66   1        for(i=0;i<8;i++)                                                          
  67   1        {                                                                                   
  68   2                if(out_byte&0x80)                                                      
  69   2                {                                                                   
  70   3                    dat=1;                                                           
  71   3                 }                                                                   
  72   2                else                                                                  
  73   2                {                                                                    
  74   3                    dat=0;                                                             
  75   3                 }                                                                   
  76   2                clk=1;                                                                
  77   2                short_delay();                                                                  
  78   2                clk=0;                                                                
  79   2                short_delay();                                                      
  80   2                out_byte=out_byte*2;                                                   
  81   2         }                                                                          
  82   1        dat=0;                                                                   
  83   1       }                                                                         
  84          /***************************************************                          
  85                                 7279接受字节函数                                           
  86          ******************************************************/                     
  87          uchar receive_byte(void)                                                     
  88          {                                                                          
  89   1        uchar i,in_byte;                                                       
  90   1        dat=1;                                                                    
  91   1        long_delay();                                                              
  92   1        for(i=0;i<8;i++)                                                           
  93   1        {                                                                      
  94   2            clk=1;                                                              
  95   2                short_delay();                                                        
  96   2                in_byte=in_byte*2;                                                   
  97   2                if(dat)                                                               
  98   2                {                                                                    
  99   3                    in_byte=in_byte|0x01;                                           
 100   3                 }                                                                   
 101   2                clk=0;                                                              
 102   2                short_delay();                                                       
 103   2         }                                                                       
 104   1        dat=0;                                                                  
 105   1        return(in_byte);                                                       
 106   1      }                                                                         
 107          /***************************************************                        
 108                                 7279长延迟函数                                              
 109          ****************************************************/                       
 110          void long_delay(void)                                                        
 111          {                                                                          
 112   1          uchar i;                                                              
 113   1              for(i=0;i<0x30;i++);                                                   
 114   1      }                                                                          
 115          /***************************************************                          

⌨️ 快捷键说明

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