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

📄 chuankou.lst

📁 串口通信
💻 LST
字号:
C51 COMPILER V7.50   CHUANKOU                                                              05/21/2009 16:19:26 PAGE 1   


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

line level    source

   1          #include<reg52.h>
   2          #include<stdio.h>
   3          #include<string.h>
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          sfr P1M0=0x91;
   7          sfr P1M1=0x92;
   8          uchar rh;
   9          uchar ch;
  10          void delay1ms(unsigned int f);
  11          void init_serial()
  12          {
  13   1           SCON=0x50;            
  14   1           //方式1,10位异步收发,波特率由定时器控制,单机对单机,
  15   1           //允许接收
  16   1           PCON=0x00;          //SMOD=0,方式1、2、3的波特率不加倍
  17   1           TMOD=0x21;               //定时器1工作于方式2,自动装载方式
  18   1                                    //定时器0工作方式1
  19   1          // TH0=(65536-1000)%256;    
  20   1           //TL0=(65536-1000)/256;
  21   1           TL1=0xfd;                //设置定时器装载值,来设置波特率
  22   1           TH1=0xfd;
  23   1      //     ET0=1;                  //开T0中断
  24   1      //     TR0=1;               //启动定时器T0
  25   1           TR1=1;               //启动定时器T1
  26   1      //   TI=1;                 //有发送中断,发送中断标志
  27   1      //   RI=1;                 //有接收中断,接收中断标志
  28   1           ES=1;                                       //     开串口中断
  29   1           EA=1;                 //开总中断
  30   1      }
  31          
  32          //发送操作在TI=0时,执行SBUF=A指令后开始,然后发送电路自动在8位
  33          //发送字符前后分别添加一位起始位和停止位,发送完后,TI由硬件在
  34          //发送停止后置位
  35          
  36          //在一定条件下,向SBUF写入数据就启动了发送过程,读SBUF就启动了
  37          //接收过程
  38          
  39          //向串口发送一个字符 
  40          
  41          /*void timer0() interrupt 1 using 3{
  42               // char i; 
  43                 flag++;
  44                 TH0=0x00;
  45                 TL0=0x00;
  46                    if(flag==10)
  47                   {// cp=!cp;
  48                        // for(i=0;i<6;i++)
  49                            P2=0x25;
  50                               TI=1;
  51                            temp=*RAMDATA;
  52                              printf("%c",temp);
  53                                 TI=0;
  54                                //   RAMDATA--;
  55                            flag=0;
C51 COMPILER V7.50   CHUANKOU                                                              05/21/2009 16:19:26 PAGE 2   

  56                          }
  57                 }*/
  58          
  59          //主程序
  60          
  61          void main()
  62          {uchar  rh=0xf6; 
  63   1       //P1M0=0x01;
  64   1       //P1M1=0x00;   
  65   1       init_serial();  //初始化串口 
  66   1       while(1)
  67   1        {//if(ch==rh)
  68   2         //SBUF=0x89;                         
  69   2         delay1ms(100);
  70   2         //if (TI==1)
  71   2            //break;
  72   2         }
  73   1      //SBUF=0x11;
  74   1      }
  75          
  76          void delay1ms(unsigned int f)
  77          {
  78   1      unsigned int i,j;
  79   1      for(i=0;i<f;i++)
  80   1      for(j=0;j<120;j++);
  81   1      }
  82          
  83          void serial () interrupt 4 using 3     //串口接收发送中断程序
  84          
  85          {ES=0;    
  86   1       if(RI)       //接收完一帧数据后,硬件自动置1,如果再接收必须
  87   1        {RI=0;        //软件清零RI
  88   2        ch=SBUF;
  89   2        }
  90   1       if(TI)      //发送完一帧数据后,硬件自动置1,如果再发送必须
  91   1         {TI=0;
  92   2         }          //软件清零TI
  93   1       SBUF=ch;
  94   1       ES=1;
  95   1      }
  96           
  97          
  98          


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