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

📄 模拟中断fa.lst

📁 I/O口模拟串口(利用中断
💻 LST
字号:
C51 COMPILER V8.05a   模拟中断FA                                                           04/05/2009 16:15:32 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 模拟中断FA
OBJECT MODULE PLACED IN 模拟中断fa.OBJ
COMPILER INVOKED BY: D:\Program Files\keil c51 v8.05\C51\BIN\C51.EXE 模拟中断fa.c COMPACT BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<STC12C5410AD.H>
   2          sbit clk=P1^2; //时钟线
   3          sbit BT_SND=P1^0;//发送线
   4          int b,z,d;
   5          unsigned char a,c;
   6          #define F_TM F0 
   7          sbit ACC0=   ACC^0;
   8          sbit ACC1=   ACC^1;
   9          sbit ACC2=   ACC^2;
  10          sbit ACC3=   ACC^3;
  11          sbit ACC4=   ACC^4;
  12          sbit ACC5=   ACC^5;
  13          sbit ACC6=   ACC^6;
  14          sbit ACC7=   ACC^7;
  15          
  16          
  17          /******************进入定时器0********************/
  18          void IntTimer0() interrupt 1
  19          {
  20   1              
  21   1                      clk=0;
  22   1                      F_TM=1;
  23   1              
  24   1      }
  25          
  26           
  27          /***************定时器0初始化***************/
  28          void init()
  29          {
  30   1              //TMOD=0x02;
  31   1              TH0=(256-10);
  32   1          TL0=TH0;
  33   1              EA=1;
  34   1              ET0=1;
  35   1      }
  36          
  37          
  38          
  39          
  40          
  41          /***********串口通讯设置**************/
  42          void cksz()
  43          {       
  44   1          //PCON=0x80;//设置波特率为19200  若想变成9600删除此行即可
  45   1              AUXR=0x20;
  46   1              TMOD=0x22; //波特率设置
  47   1              TH1=0xfd;
  48   1              TL1=0xfd;
  49   1              TR1=1;
  50   1      
  51   1              REN=1;//工作方式设置
  52   1              SM0=0;
  53   1              SM1=1;
  54   1              EA=1; //开启中断
  55   1              ES=1;
C51 COMPILER V8.05a   模拟中断FA                                                           04/05/2009 16:15:32 PAGE 2   

  56   1      }                                                          
  57          
  58          /**************发送**********************/
  59          void sed(unsigned char inch)
  60          {
  61   1                      ACC=inch;
  62   1                      clk=1;
  63   1                      F_TM=0;
  64   1                      BT_SND=0; //start bit 
  65   1                      TR0=1; //启动
  66   1                      while(!F_TM);
  67   1                      
  68   1                      BT_SND=ACC0; //先送出低位
  69   1                      clk=1;
  70   1                      F_TM=0;
  71   1                      while(!F_TM);
  72   1                      
  73   1                      BT_SND=ACC1;
  74   1                      clk=1; 
  75   1                      F_TM=0;
  76   1                      while(!F_TM);
  77   1                      
  78   1                      BT_SND=ACC2;
  79   1                      clk=1; 
  80   1                      F_TM=0;
  81   1                      while(!F_TM);
  82   1                      
  83   1                      BT_SND=ACC3;
  84   1                      clk=1; 
  85   1                      F_TM=0;
  86   1                      while(!F_TM);
  87   1                      
  88   1                      BT_SND=ACC4;
  89   1                      clk=1; 
  90   1                      F_TM=0;
  91   1                      while(!F_TM);
  92   1                      
  93   1                      BT_SND=ACC5; 
  94   1                      clk=1;
  95   1                      F_TM=0;
  96   1                      while(!F_TM);
  97   1                      
  98   1                      BT_SND=ACC6; 
  99   1                      clk=1;
 100   1                      F_TM=0;
 101   1                      while(!F_TM);
 102   1                      
 103   1                      BT_SND=ACC7; 
 104   1                      clk=1;
 105   1                      F_TM=0;
 106   1                      while(!F_TM);
 107   1                      
 108   1                      BT_SND=1;
 109   1                      clk=1;
 110   1                      F_TM=0;
 111   1                      while(!F_TM);
 112   1              TR0=0; //停止timer
 113   1                      clk=1;
 114   1      }
 115          
 116          
 117          
C51 COMPILER V8.05a   模拟中断FA                                                           04/05/2009 16:15:32 PAGE 3   

 118          
 119          /********************主函数**************/
 120          void main()
 121          {
 122   1              init();
 123   1              cksz();
 124   1              z=0;
 125   1              b=0;
 126   1              while(1)
 127   1              { 
 128   2              if(b==1)
 129   2      
 130   2                      {  b=0;
 131   3                         
 132   3                         sed(a);
 133   3                       }      
 134   2              }
 135   1      
 136   1      }
 137          
 138          void time4() interrupt 4
 139          {
 140   1                  RI=0;
 141   1              
 142   1                      a=SBUF;
 143   1              
 144   1                      if(a=='~')
 145   1                      {
 146   2                      z=1;
 147   2                      }
 148   1                      if(z==1)
 149   1                      {
 150   2                              b=1;
 151   2                      }
 152   1              
 153   1                      
 154   1                      
 155   1      }


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