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

📄 my51pro.lst

📁 串口程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 279   1          {
 280   2              if(m&0x01) DS1302_DIO=1;
 281   2              else DS1302_DIO=0;
 282   2              DS1302_CLK = 1;
 283   2              DS1302_CLK = 1;
 284   2              DS1302_CLK = 0;
 285   2              DS1302_CLK = 0;
 286   2              m=m>>1;
 287   2           }
 288   1      }
 289          
 290          unsigned char Outputbyte(void)  //SPI读出一个字节
 291          {
 292   1           unsigned char i;
 293   1           unsigned char temp=0x00;
 294   1          for(i=8; i>0; i--)
 295   1          {
 296   2               temp = temp >>1;
 297   2              if(DS1302_DIO) temp=temp|0x80;
 298   2              DS1302_CLK = 1;
 299   2              DS1302_CLK = 1;
 300   2              DS1302_CLK = 1;
 301   2              DS1302_CLK = 1;
 302   2              DS1302_CLK = 1;
 303   2              DS1302_CLK = 1;
C51 COMPILER V8.02   MY51PRO                                                               10/04/2008 10:46:24 PAGE 6   

 304   2              DS1302_CLK = 1;
 305   2              DS1302_CLK = 1;
 306   2              DS1302_CLK = 0;
 307   2              DS1302_CLK = 0;
 308   2              DS1302_CLK = 0;
 309   2              DS1302_CLK = 0;
 310   2              DS1302_CLK = 0;
 311   2              DS1302_CLK = 0;
 312   2              DS1302_CLK = 0;
 313   2              DS1302_CLK = 0;
 314   2      
 315   2          }
 316   1          return(temp);
 317   1      }
 318          
 319          void Write1302(unsigned char Addr, unsigned char Da)//ucAddr: DS1302地址, ucData: 写入的数据
 320          {
 321   1          DS1302_RST = 0;
 322   1          DS1302_CLK = 0;
 323   1          DS1302_CLK = 0;
 324   1          DS1302_CLK = 0;
 325   1          DS1302_CLK = 0;
 326   1          DS1302_CLK = 0;
 327   1          DS1302_RST = 1;
 328   1          DS1302_RST = 1;
 329   1          DS1302_RST = 1;
 330   1          DS1302_RST = 1;
 331   1          DS1302_RST = 1;
 332   1          DS1302_RST = 1;
 333   1          DS1302_RST = 1;
 334   1          DS1302_RST = 1;
 335   1          DS1302_RST = 1;
 336   1          Inputbyte(Addr);            // 地址,命令
 337   1          Inputbyte(Da);              // 写1Byte数据
 338   1          DS1302_RST = 0;
 339   1      }
 340          
 341          unsigned char Read1302(unsigned char Addr)      //读取DS1302地址Addr的数据
 342          {
 343   1          unsigned char ucData;
 344   1      
 345   1          DS1302_RST = 0;
 346   1          DS1302_CLK = 0;
 347   1          DS1302_CLK = 0;
 348   1          DS1302_CLK = 0;
 349   1          DS1302_CLK = 0;
 350   1          DS1302_CLK = 0;
 351   1          DS1302_RST = 1;
 352   1          DS1302_RST = 1;
 353   1          DS1302_RST = 1;
 354   1          DS1302_RST = 1;
 355   1          DS1302_RST = 1;
 356   1          DS1302_RST = 1;
 357   1          DS1302_RST = 1;
 358   1          DS1302_RST = 1;
 359   1          DS1302_RST = 1;
 360   1          Inputbyte(Addr|0x01);        // 地址,命令
 361   1          ucData = Outputbyte();         // 读1Byte数据
 362   1          DS1302_RST = 0;
 363   1          return(ucData);
 364   1      }
 365          
C51 COMPILER V8.02   MY51PRO                                                               10/04/2008 10:46:24 PAGE 7   

 366          
 367          void DS1302config()
 368          {
 369   1      
 370   1        Write1302(DS1302_WP,0x00);
 371   1         _nop_();
 372   1         _nop_();
 373   1         // Write1302(0x90,0xA5);    //充电模式(暂时省略)
 374   1         _nop_();
 375   1         _nop_();
 376   1        Write1302(DS1302_MINUTE,feninit);  //设置分钟
 377   1         _nop_();
 378   1         _nop_();
 379   1        Write1302(DS1302_HOUR,shiinit);    //设置小时
 380   1         _nop_();
 381   1         _nop_();
 382   1        Write1302(DS1302_DATE,riinit);    //设置日期
 383   1         _nop_();
 384   1         _nop_();
 385   1        Write1302(DS1302_MONTH,yueinit);    //设置月
 386   1          _nop_();
 387   1         _nop_();
 388   1        Write1302(DS1302_DAY,zhouinit);      //设置星期
 389   1         _nop_();
 390   1         _nop_();
 391   1        Write1302(DS1302_YEAR,nianinit);      //设置年
 392   1         _nop_();
 393   1         _nop_();
 394   1         Write1302(DS1302_SECOND,miaoinit|0x80);  //设置秒,并启动
 395   1         _nop_();
 396   1         _nop_();
 397   1         Write1302(DS1302_WP,0xFF);         //关写操作允许位
 398   1      }
 399          
 400          void Timeupdata()
 401          {
 402   1        nian=Read1302(DS1302_YEAR);
 403   1        yue=Read1302(DS1302_MONTH);
 404   1        ri=Read1302(DS1302_DATE);
 405   1        shi=Read1302(DS1302_HOUR);
 406   1        fen=Read1302(DS1302_MINUTE);
 407   1        miao=Read1302(DS1302_SECOND);
 408   1      }
 409          
 410          void Sendpc()
 411          {
 412   1      switch(sendpcnum)
 413   1                 {
 414   2                  case 0:SBUF=0x00;sendpcnum++;break;
 415   2                  case 1:SBUF=0x11;sendpcnum++;break;
 416   2                  case 2:SBUF=0x22;sendpcnum++;break;
 417   2                  case 3:SBUF=0x33;sendpcnum++;break;
 418   2                  case 4:SBUF=0x44;sendpcnum++;break;
 419   2                  case 5:SBUF=0x55;sendpcnum++;break;
 420   2                  case 6:SBUF=0x66;sendpcnum++;break;
 421   2                  case 7:SBUF=0x77;sendpcnum++;break;
 422   2                  case 8:SBUF=0x88;sendpcnum++;break;
 423   2                  case 9:SBUF=0x99;sendpcnum++;break;
 424   2                  case 10:sendpcnum=0;         break;
 425   2                 }
 426   1      }
 427          
C51 COMPILER V8.02   MY51PRO                                                               10/04/2008 10:46:24 PAGE 8   

 428          void Send3ff()
 429          {
 430   1       SBUF=0xff;
 431   1       while(TI==1);
 432   1       SBUF=0xff;
 433   1       while(TI==1);
 434   1       SBUF=0xff;
 435   1       while(TI==1);
 436   1      }
 437          
 438          void Send300()
 439          {
 440   1       SBUF=0x00;
 441   1       while(TI==0);
 442   1       SBUF=0x00;
 443   1       while(TI==0);
 444   1       SBUF=0x00;
 445   1       while(TI==0);
 446   1      }
 447          
C51 COMPILER V8.02   MY51PRO                                                               10/04/2008 10:46:24 PAGE 9   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


zhouinit . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
receiveFnum. . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
jingdu . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
datareadynum . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0003H  1
yueinit. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0004H  1
Send3ff. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
receive_1302 . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0005H  1
riinit . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0006H  1
Timeupdata . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
receivecount . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0007H  1
configflag . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0008H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
receivestart . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0009H  1
OK . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000AH  1
DS1302_CLK . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
receive_7128 . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000BH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
DS1302_DIO . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
int_s. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
Send300. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
receiveend . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000CH  1
weidu. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000DH  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
_Read1302. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Addr . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  ucData . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
miao . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000EH  1
nian . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000FH  1
_Inputbyte . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  m. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
error. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0010H  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
_DAint . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dadata_fir . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  dadata_sec . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
_Write1302 . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Addr . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  Da . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
adnumflag. . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0011H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
DS1302_RST . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
fen. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0012H  1
shi. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0013H  1
receivecount2. . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0014H  1
C51 COMPILER V8.02   MY51PRO                                                               10/04/2008 10:46:24 PAGE 10  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


zhou . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0015H  1
adnum1 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0016H  1
danum1 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0017H  1
adnum2 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0018H  1
danum2 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0019H  1
adnum3 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001AH  1
danum3 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001BH  1
Outputbyte . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  temp . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
adnum4 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001CH  1
danum4 . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001DH  1
receivestart2. . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001EH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
ADint. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
sendpcnum. . . . . . . . . . . . . . .  PUBLIC   DATA   INT      001FH  2
yue. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0021H  1
updatanum. . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0022H  2
dosendpc . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0024H  2
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
DS1302config . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ri . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0026H  1
DAW. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
miaoinit . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0027H  1
nianinit . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0028H  1
Sendpc . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
receive0num. . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0029H  1
feninit. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   002AH  1
receive_sbuf . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   002BH  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
shiinit. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   002CH  1


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