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

📄 p0902-ird.lst

📁 单片机模拟红外线发射
💻 LST
📖 第 1 页 / 共 3 页
字号:
 502   4                                      repeat();       
 503   4                              }
 504   3                      }               
 505   2              }
 506   1              else if(buf==4)                   //K4键处理程序
 507   1              {
 508   2                      if(keybit==1)
 509   2                      {
 510   3                              keybit=0;                       
 511   3                          disp16_16(0,0,0);   //已
 512   3                              disp16_16(2,0,1);       //按
 513   3                              disp16_16(4,0,2);       //下
 514   3                              disp8_16(6,0,20);       //K  
 515   3                              disp8_16(7,0,4);        //4 
 516   3                              disp16_16(8,0,3);       //键  
 517   3                              send_all(0x00,0x0d); 
 518   3                              while(l2==0)
 519   3                              {
 520   4                                      repeat();       
 521   4                              }
 522   3                      }                                       
 523   2              }
 524   1      }
 525          //---------------------------------------
 526          //名称: 发送头码函数
 527          //作者:cby
 528          //网站:宁波单片机开发网
 529          //网址:www.nbdpj.com
 530          //邮箱:nbdpj@nbdpj.com
 531          //日期:20081231  
 532          //-----------------------------------------
 533          void send_head(void)
 534          {
 535   1          TR0=1;                        
 536   1          intcon=0;
 537   1          while(intcon<692); 
 538   1              TR0=0; 
 539   1              irdio=1;  
 540   1          intcon=0;
 541   1              TR1=1;
 542   1              while(intcon<346); 
 543   1              TR1=0;
 544   1              irdio=1; 
 545   1      }
 546          //---------------------------------------
 547          //名称: 发送数据0函数
 548          //作者:cby
 549          //网站:宁波单片机开发网
 550          //网址:www.nbdpj.com
 551          //邮箱:nbdpj@nbdpj.com
C51 COMPILER V8.05a   P0902_IRD                                                            04/01/2009 22:16:33 PAGE 10  

 552          //日期:20081231  
 553          //-----------------------------------------
 554          void send_0(void)
 555          {
 556   1          intcon=0;
 557   1          TR0=1;   
 558   1          while(intcon<43);
 559   1              TR0=0; 
 560   1              irdio=1;   
 561   1          intcon=0;
 562   1              TR1=1;
 563   1              while(intcon<43);
 564   1              TR1=0;
 565   1              irdio=1;     
 566   1      }
 567          //---------------------------------------
 568          //名称: 发送数据1函数
 569          //作者:cby
 570          //网站:宁波单片机开发网
 571          //网址:www.nbdpj.com
 572          //邮箱:nbdpj@nbdpj.com
 573          //日期:20081231  
 574          //-----------------------------------------
 575          void send_1(void)
 576          {
 577   1          intcon=0;
 578   1              TR0=1;
 579   1          while(intcon<43);
 580   1              TR0=0;  
 581   1              irdio=1;        
 582   1          intcon=0;
 583   1              TR1=1;
 584   1              while(intcon<130); 
 585   1              TR1=0;          
 586   1              irdio=1;
 587   1      }
 588          //---------------------------------------
 589          //名称: 发送结束码函数             40ms
 590          //作者:cby
 591          //网站:宁波单片机开发网
 592          //网址:www.nbdpj.com
 593          //邮箱:nbdpj@nbdpj.com
 594          //日期:20081231  
 595          //-----------------------------------------
 596          void send_over(void)
 597          {
 598   1              intcon=0;
 599   1              TR0=1;
 600   1          while(intcon<43);
 601   1              TR0=0; 
 602   1              irdio=1;
 603   1          intcon=0;
 604   1              TR1=1;
 605   1          while(intcon<3076); 
 606   1              TR1=0;          
 607   1              irdio=1;   
 608   1      }
 609          //---------------------------------------
 610          //名称: 发送一个字节(8BIT)函数
 611          //作者:cby
 612          //网站:宁波单片机开发网
 613          //网址:www.nbdpj.com
C51 COMPILER V8.05a   P0902_IRD                                                            04/01/2009 22:16:33 PAGE 11  

 614          //邮箱:nbdpj@nbdpj.com
 615          //日期:20081231  
 616          //-----------------------------------------
 617          void send_data(unsigned char dat)
 618          {
 619   1              unsigned char j;    
 620   1          for(j=0;j<8;j++)
 621   1          {                
 622   2              if(dat&(0x01<<j))
 623   2              {
 624   3                 send_1(); 
 625   3              }
 626   2              else
 627   2              {            
 628   3                 send_0();
 629   3              }       
 630   2              }       
 631   1      }
 632          //---------------------------------------
 633          //名称: 发送完整码函数
 634          //作者:cby
 635          //网站:宁波单片机开发网
 636          //网址:www.nbdpj.com
 637          //邮箱:nbdpj@nbdpj.com
 638          //日期:20081231  
 639          //-----------------------------------------
 640          void send_all(unsigned char address,unsigned char data1)
 641          {
 642   1              send_head();                    //发送头码
 643   1              send_data(address);     //发地址码
 644   1              send_data(~address);    //发地址反码
 645   1              send_data(data1);       //发数据码
 646   1              send_data(~data1);      //发数据反码
 647   1              send_over();            //发结束码
 648   1      }
 649          //---------------------------------------
 650          //名称: 发送重复码函数
 651          //作者:cby
 652          //网站:宁波单片机开发网
 653          //网址:www.nbdpj.com
 654          //邮箱:nbdpj@nbdpj.com
 655          //日期:20081231  
 656          //-----------------------------------------
 657          void repeat(void)//108ms
 658          {
 659   1          intcon=0;
 660   1          TR0=1;
 661   1          while(intcon<692);//9ms
 662   1              TR0=0;
 663   1              irdio=1;            
 664   1          intcon=0;
 665   1              TR1=1;
 666   1              while(intcon<130);//1.69ms  
 667   1              TR1=0;
 668   1              irdio=1;   
 669   1          intcon=0;
 670   1              TR0=1;
 671   1          while(intcon<43);//0.56ms     
 672   1              TR0=0;
 673   1              irdio=1;                        
 674   1          intcon=0;
 675   1              TR1=1;
C51 COMPILER V8.05a   P0902_IRD                                                            04/01/2009 22:16:33 PAGE 12  

 676   1              while(intcon<7442);//96.75ms
 677   1              TR1=0;      
 678   1              irdio=1;        
 679   1      }
 680          //---------------------------------------
 681          //名称: T0定时器256us中断函数
 682          //作者:cby
 683          //网站:宁波单片机开发网
 684          //网址:www.nbdpj.com
 685          //邮箱:nbdpj@nbdpj.com
 686          //日期:20081111  
 687          //----------------------------------------- 
 688          void timer0(void)interrupt 1 using 0   //TIMER0方式1,采用中断方式 
 689          {  
 690   1              intcon++;                               
 691   1              irdio=!irdio;             
 692   1      }
 693          //---------------------------------------
 694          //名称: T1定时器256us中断函数
 695          //作者:cby
 696          //网站:宁波单片机开发网
 697          //网址:www.nbdpj.com
 698          //邮箱:nbdpj@nbdpj.com
 699          //日期:20081111  
 700          //----------------------------------------- 
 701          void timer1(void)interrupt 3 using 1   //TIMER0方式1,采用中断方式 
 702          {  
 703   1              intcon++;
 704   1      }
 705          //---------------------------------------
 706          //名称: 主函数           
 707          //作者:cby
 708          //网站:宁波单片机开发网
 709          //网址:www.nbdpj.com
 710          //邮箱:nbdpj@nbdpj.com
 711          //日期:20081111  
 712          //----------------------------------------- 
 713          void main()
 714          {
 715   1              unsigned char k;
 716   1              TMOD=0x22;//T0用于延时程序
 717   1              TH0=0xf4;
 718   1              TL0=0xf4;
 719   1              TH1=0xf4;
 720   1              TL1=0xf4;
 721   1              init();
 722   1          init_spi();
 723   1              res=0;
 724   1              for(k=0;k<250;k++);
 725   1              res=1;                          //LCD复位
 726   1              LCD_init();             //初始化LCD模块         
 727   1              LCD_clear();            //清屏幕        
 728   1              back_led=0;                     //开背光
 729   1          ET0=1;
 730   1              TR0=0; 
 731   1              ET1=1;
 732   1              TR1=0;  
 733   1              EA=1;
 734   1              while(1)
 735   1              {               
 736   2                      keypro();
 737   2              }
C51 COMPILER V8.05a   P0902_IRD                                                            04/01/2009 22:16:33 PAGE 13  

 738   1      }
 739          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1090    ----
   CONSTANT SIZE    =    896    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      10
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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