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

📄 text1.lst

📁 采用7279显示模块
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.09   TEXT1                                                                 04/26/2009 21:30:37 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          /**************子函数定义****************************/                       
   6          void long_delay(void);                                                        
   7          void short_delay(void);                                                     
   8          void delay10ms(uchar);                                                       
   9          void write7279(uchar,uchar);                                               
  10          uchar read7279(uchar);                                                     
  11          void send_byte(uchar);                                                      
  12          uchar receive_byte(void);                                                   
  13          void display7279();                            
  14          void keyunit(void);            //按键及显示测试                      
  15                                    
  16          /************程序变量定义***************************/                       
  17                                                                       
  18          uchar key_number,j,k,key0,key1,key2,key3,key4,key5,p;                                                     
             -      
  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 UNDECODE 0x90                             //不译码                                
  30          #define RTL_CYCLE 0xa3                            //循环左移                             
  31          #define RTR_CYCLE 0xa2                            //循环右移                             
  32          #define RTL_RESET 0xa1                            //左移                                   
  33          #define CMD_RESET 0xa4                            //复位,所有的显示清除                 
  34          #define CMD_TEST 0xbf                             //测试,将所有的LED点亮                
  35          #define RTR_UNCYL 0xa0                            //右移                                 
  36          #define ACTCTL 0x98                               //消隐                                
  37          #define SEGON 0xe0                                //段亮                                 
  38          #define SEGOFF 0xc0                               //断灭                                    
  39          #define  BLINKCTL 0x88                            //闪烁                                 
  40                                                                                       
  41          /****************************************************                     
  42                                        主函数                                                            
  43          主要功能:测试、复位、不译码显示、译码【0】【1】                                    
  44                   显示、按键值测试并显示、移位、消隐、段显等                     
  45          ***************************************************/                        
  46          main()                                                                      
  47          {                                                                                
  48   1        while(1)                                                                  
  49   1        {                                 
  50   2                keyunit();                                                        
  51   2                                                                  
  52   2         }                                                                          
  53   1      }                                                                           
  54          /************************************************                          
C51 COMPILER V7.09   TEXT1                                                                 04/26/2009 21:30:37 PAGE 2   

  55                                    7279写入函数                                             
  56          **********************************************/                             
  57          void write7279(uchar cmd,uchar dta)                                         
  58          {                                                                              
  59   1        send_byte(cmd);                                                            
  60   1        send_byte(dta);                                                           
  61   1      }                                                                           
  62          /*************************************************                          
  63                                     7279读取函数                                             
  64          **************************************************/                             
  65          uchar read7279(uchar command)                                               
  66          {                                                                         
  67   1        send_byte(command);                                                      
  68   1        return(receive_byte());                                                   
  69   1      }                                                                             
  70          /*************************************************                         
  71                                  7279发送字节函数                                          
  72          ***************************************************/                      
  73          void send_byte(uchar out_byte)                                          
  74          {                                                                             
  75   1        uchar i;                                                                 
  76   1        cs=0;                                                                              
  77   1        long_delay();                                                            
  78   1        for(i=0;i<8;i++)                                                          
  79   1        {                                                                                   
  80   2                if(out_byte&0x80)                                                      
  81   2                {                                                                   
  82   3                    dat=1;                                                           
  83   3                 }                                                                   
  84   2                else                                                                  
  85   2                {                                                                    
  86   3                    dat=0;                                                             
  87   3                 }                                                                   
  88   2                clk=1;                                                                
  89   2                short_delay();                                                                  
  90   2                clk=0;                                                                
  91   2                short_delay();                                                      
  92   2                out_byte=out_byte*2;                                                   
  93   2         }                                                                          
  94   1        dat=0;                                                                   
  95   1       }                                                                         
  96          /***************************************************                          
  97                                 7279接受字节函数                                           
  98          ******************************************************/                     
  99          uchar receive_byte(void)                                                     
 100          {                                                                          
 101   1        uchar i,in_byte;                                                       
 102   1        dat=1;                                                                    
 103   1        long_delay();                                                              
 104   1        for(i=0;i<8;i++)                                                           
 105   1        {                                                                      
 106   2            clk=1;                                                              
 107   2                short_delay();                                                        
 108   2                in_byte=in_byte*2;                                                   
 109   2                if(dat)                                                               
 110   2                {                                                                    
 111   3                    in_byte=in_byte|0x01;                                           
 112   3                 }                                                                   
 113   2                clk=0;                                                              
 114   2                short_delay();                                                       
 115   2         }                                                                       
 116   1        dat=0;                                                                  
C51 COMPILER V7.09   TEXT1                                                                 04/26/2009 21:30:37 PAGE 3   

 117   1        return(in_byte);                                                       
 118   1      }                                                                         
 119          /***************************************************                        
 120                                 7279长延迟函数                                              
 121          ****************************************************/                       
 122          void long_delay(void)                                                        
 123          {                                                                          
 124   1          uchar i;                                                              
 125   1              for(i=0;i<0x30;i++);                                                   

⌨️ 快捷键说明

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