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

📄 dianzi.lst

📁 实验学习型电子钟包括红外线控制密码da控制led亮度ad转换语音转换闹铃
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.06   DIANZI                                                                08/21/2008 22:03:20 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DIANZI
OBJECT MODULE PLACED IN dianzi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dianzi.c BROWSE DEBUG OBJECTEXTEND TABS(11)

stmt level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          #define nop() _nop_()
   4          #define uint unsigned int 
   5          #define uchar unsigned char
   6          #define ulong unsigned long 
   7          #define USED_BYTE_QTY_IN_ONE_SECTOR                128
   8          sfr                   ISP_DATA   =          0xe2;      /*        ISP_DATA      DATA        0E2H;        汇编程序定义 or EQU */
   9          sfr     ISP_ADDRH     =          0xe3;      /*        ISP_ADDRH     DATA        0E3H;        汇编程序定义 */
  10          sfr                   ISP_ADDRL  =   0xe4;   /*        ISP_ADDRL     DATA        0E4H;        汇编程序定义 */
  11          sfr                   ISP_CMD               =   0xe5;   /*        ISP_CMD               DATA        0E5H;        汇编程序定义 */
  12          sfr                   ISP_TRIG   =   0xe6;   /*        ISP_TRIG      DATA        0E6H;        汇编程序定义 */
  13          sfr                   ISP_CONTR   =   0xe7;   /*        ISP_CONTR     DATA        0E7H;        汇编程序定义 */
  14          
  15          #define READ_Command                                   0x01        /*  字节读应用程序区和数据存储区   */
  16          #define PROGRAM_Command          0x02        /*  字节编程应用程序区和数据存储区 */
  17          #define ERASE_Command     0x03        /*  扇区擦除应用程序区和数据存储区 */
  18          
  19          #define ERROR   0    //错误
  20          #define OK      1    //正确
  21          uchar xdata protect_buffer[USED_BYTE_QTY_IN_ONE_SECTOR];
  22          //typedef     unsigned char      INT8U;                /* 8 bit 无符号整型  */
  23          //typedef     unsigned int    INT16U;     /* 16 bit 无符号整型 */
  24          
  25          uchar Write_flash(uint begin_addr, uint counter, uchar  array[]);
  26          
  27          uchar Read_flash(uint begin_addr, uint counter, uchar  array[]);   //读FLASH
  28          
  29                //  #define DEBUG_AP_Memory_Begin_Sector_addr               0x0000
  30                //  #define DEBUG_AP_Memory_End_Sector_addr         0x7e00
  31                 // #define DEBUG_AP_Memory_End_Byte_addr           0x7fff
  32          
  33                //  #define DEBUG_Data_Memory_Begin_Sector_addr     0x8000
  34                //  #define DEBUG_Data_Memory_End_Sector_addr       0xf600
  35                 // #define DEBUG_Data_Memory_End_Byte_addr         0xf7ff
  36          #define WAIT_TIME        0x00
  37          
  38          sbit SCLK = P2^5;//1302端口设置
  39          sbit IO   = P2^6;
  40          sbit RST  = P2^7;
  41          sbit RECLED = P2^0;//1420端口设置
  42          sbit PLAYL = P2^1;
  43              
  44          sbit ADCCS=P3^3; //AD0832端口设置
  45          sbit ADCCLK=P3^4;
  46          sbit ADCDO=P3^5;
  47          sbit DIN  = P2^2;  //7219端口設置
  48          sbit LOAD = P2^3;
  49          sbit CLK  = P2^4;
  50          uint Con_Data = 0;
  51          float Vref = 4.5;
  52          void Display( void );
  53          void delay( uchar n );
  54          void WriteByte( uchar D );
  55          void   Keyboard();
C51 COMPILER V7.06   DIANZI                                                                08/21/2008 22:03:20 PAGE 2   

  56          void naozhong();
  57          uchar ReadByte( void );
  58          //sbit P3_4 = P3^4;
  59          void WriteDate( uchar Add , uchar Date );
  60          uchar ReadDate( uchar Add );
  61          void SetTime( uchar Hour , uchar Min , uchar Sec );
  62          uchar hour,min,sec,yuanma= 20,k;
  63          bit keybuttflag=1,keybuttmima=0;
  64          bit flag=0;
  65          void GetTime( void );
  66          uchar scan();
  67          //code uchar DispCode[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
  68          uchar DispBuf[8]={1,2,3,4,5,6,7,8};
  69          uchar cunmima[6]={0,0,0,0,0,0};
  70          uchar naoling[5][4] = {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
  71          uchar fangyin[9];
  72          
  73          //sbit LED  = P1^0;
  74          void Write7129( uchar Add, uchar Data );
  75          void Init7219( void );
  76          void desips7219();
  77          void DelayMs( uchar n );
  78          void temp1();
  79          void int0();
  80          void Init1302(void);
  81          void Data_Process(void);
  82          uchar Re_Data();
  83          
  84          uint code Play_temp[19] = {0x00,0x04,0x08,0x0c,0x10,0x14,0x17,0x1b,0x1f,0x22,0x26,0x2a,
  85          0x2d,0x31,0x35,0x40,0x44,0x48,0x4c};//"0~10,点、分、秒、现在时间是、零晨、上午,晚上、下午、"
  86          uchar temp[10] = {14,1,2,3,4,5,6,0,0,0}; //'现在时间是' '上午/下午/晚上/零晨' '0~10'
  87          //sbit PLAYL = P0^7;
  88          uchar counter,Play_counter,ctr_temp=1,Play_num;   //报时  
  89          void ProcessPlay();
  90          
  91          
  92          main()
  93          {   
  94   1          
  95   1          yuanma= 20;
  96   1          delay( 100 );
  97   1                 Init1302( );
  98   1                 Init7219( );
  99   1                 
 100   1                 GetTime();
 101   1         
 102   1          delay( 100 );
 103   1          int0();
 104   1          temp1();
 105   1                 while(1)
 106   1                 {
 107   2                   Data_Process();
 108   2            GetTime();
 109   2                   Keyboard();
 110   2            naozhong();
 111   2                 }
 112   1      
 113   1      }
 114          void desips7219()
 115          {
 116   1          
 117   1                 Write7129( 0x01 , DispBuf[0] );
C51 COMPILER V7.06   DIANZI                                                                08/21/2008 22:03:20 PAGE 3   

 118   1                 Write7129( 0x02 , DispBuf[1]|0x80 );
 119   1                 Write7129( 0x03 , DispBuf[2] );
 120   1                 Write7129( 0x04 , DispBuf[3]|0x80 );
 121   1                 Write7129( 0x05 , DispBuf[4] );
 122   1                 Write7129( 0x06 , DispBuf[5]|0x80 );
 123   1                 Write7129( 0x07 , DispBuf[6] );
 124   1                 Write7129( 0x08 , DispBuf[7] );
 125   1         
 126   1      }
 127          void temp1()
 128          {
 129   1        EA = 1;
 130   1        PT0 = 1;
 131   1        TR0= 1;
 132   1        TMOD = 0X19;
 133   1        TL0 = 0x00;
 134   1        TH0 = 0x00;
 135   1      }
 136          void int0()
 137          {
 138   1       EA = 1;
 139   1       EX0 = 1;
 140   1       PX0 = 1;
 141   1       IT0 = 1;
 142   1      }
 143          
 144          /************************************************************
 145                                            1302設置  
 146          ************************************************************/
 147          
 148          void delay( uchar n )
 149          {
 150   1                 uchar i;
 151   1                 while( n-- )
 152   1                 {
 153   2                            for( i = 0 ; i < 125 ; i++ )
 154   2                                       ;
 155   2                 }
 156   1      }
 157          uchar ReadByte( void )
 158          {
 159   1                 uchar i, sbuf = 0;
 160   1                 IO=1;
 161   1                 for( i = 0 ; i < 8 ; i++)
 162   1                 {
 163   2                            SCLK = 1;
 164   2                            _nop_();
 165   2                            SCLK = 0;
 166   2                            sbuf = sbuf >> 1;
 167   2                            if(IO == 1)
 168   2                            sbuf = sbuf | 0x80;
 169   2                 }
 170   1      
 171   1                 return sbuf;
 172   1      }
 173          void WriteByte( uchar D )
 174          {
 175   1                 uchar i;
 176   1      
 177   1                 for( i = 0 ; i < 8 ; i++ )
 178   1                 {
 179   2                            IO = 1;
C51 COMPILER V7.06   DIANZI                                                                08/21/2008 22:03:20 PAGE 4   

 180   2                            if( (D & 0x01) != 0x01)
 181   2                            IO = 0; 
 182   2                            SCLK = 0;
 183   2                            _nop_();
 184   2                            _nop_();
 185   2                            SCLK = 1;
 186   2                            D >>= 1 ;             
 187   2                 }
 188   1      }
 189          
 190          void WriteDate( uchar Add , uchar Date )
 191          {
 192   1                 SCLK = 0 ;
 193   1                 RST = 0 ;
 194   1                 _nop_();
 195   1                 _nop_();
 196   1                 RST = 1 ;
 197   1                 _nop_();
 198   1                 WriteByte( Add );
 199   1                 WriteByte( Date );
 200   1      }
 201          uchar ReadDate( uchar Add )
 202          {
 203   1                 uchar Rec;
 204   1                 SCLK = 0 ;
 205   1                 RST = 0 ;
 206   1                 _nop_();
 207   1                 _nop_();
 208   1                 RST = 1 ;
 209   1                 _nop_();
 210   1                 WriteByte( Add );
 211   1                 Rec = ReadByte();
 212   1                 return Rec;
 213   1      }
 214          void Init1302(void)
 215          {
 216   1                 WriteDate( 0x8e , 0);
 217   1                 WriteDate( 0x90 , 0xab);
 218   1      
 219   1      }
 220          void SetTime( uchar Hour , uchar Min , uchar Sec )
 221          {
 222   1                 WriteDate( 0x84 , Hour);
 223   1                 WriteDate( 0x82 , Min);
 224   1                 WriteDate( 0x80 , Sec);
 225   1                 WriteDate( 0x8c , 0x08);
 226   1                 WriteDate( 0x88 , 0x05);
 227   1                 WriteDate( 0x86 , 0x13);
 228   1      }
 229          void GetTime( void )
 230          {          
 231   1                 uchar Time;
 232   1                 Time = ReadDate( 0x85 );
 233   1                 DispBuf[0] = (Time&0xf0) >> 4;
 234   1                 DispBuf[1] = Time & 0x0f; 
 235   1                 Time = ReadDate( 0x83 );
 236   1                 DispBuf[2] = (Time&0xf0) >> 4;
 237   1                 DispBuf[3] = Time & 0x0f; 
 238   1                 Time = ReadDate( 0x81 );
 239   1                 DispBuf[4] = (Time&0xf0) >> 4;
 240   1                 DispBuf[5] = Time & 0x0f;
 241   1          desips7219();                
C51 COMPILER V7.06   DIANZI                                                                08/21/2008 22:03:20 PAGE 5   

⌨️ 快捷键说明

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