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

📄 www.ourhc.cn.lst

📁 KZS1212-102Y_stc60s2双485单片机开发板
💻 LST
字号:
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         04/08/2013 13:56:53 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE WWW_OURHC_CN
OBJECT MODULE PLACED IN www.ourhc.cn.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE www.ourhc.cn.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************
   2                                  汇诚科技
   3          实现功能:STC12C5A60S2单片机开发板之整板测试
   4          使用芯片:STC12CA60S2
   5          晶振:11.0592MHZ
   6          编译环境:Keil
   7          硬件环境:STC12C5A60S2双485单片机开发板
   8          作者:yang
   9          QQ:790244909
  10          网站:www.ourhc.cn
  11          物联网测试网站:
  12          日期:2013-04-02
  13          淘宝店:
  14                华龙电子直销:http://hlelectrony.taobao.com 
  15                电子开发直销:http://shop63233873.taobao.com 
  16                    汇诚科技网路购物:http://shop36330473.taobao.com
  17          【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  18          功能    :串口一发送tab数据,串口二接收,接收后数据显示在P0口的led灯上
  19                    串口二发送tab数据,串口一接收,接收后数据显示在p0口的led灯上
  20                            按key1,P0口显示0xAA
  21                            按key2,P0口显示0x55
  22                            按key3,P0口显示0xf0
  23                            按key4,P0口显示0x0f
  24          其他    :采用查询方式发送稳定,但是接收数据极不稳定由于
  25          官方资料使用的是中断方式,所以建议使用中断方式收发数据。
  26          注意    :下载完程序后请复位系统后运行!(切记!!)
  27          *********************************************************************/
  28          #include "STC12C5A60S2.h"  //库文件
  29          #define uchar unsigned char//宏定义无符号字符型
  30          #define uint unsigned int  //宏定义无符号整型
  31          /********************************************************************
  32                                      初始定义
  33          *********************************************************************/
  34          uchar dat1=0,dat2=0;
  35          uchar tab[8]={0xfe,0xfd,0xfB,0xf7,0xef,0xdf,0xBf,0x7f};
  36          sbit key1=P2^0;
  37          sbit key2=P2^1;
  38          sbit key3=P2^2;
  39          sbit key4=P2^3;
  40          /********************************************************************
  41                                      串口初始化
  42          *********************************************************************/
  43          void init ()
  44          {
  45   1              TMOD = 0x20;                      //定时器1产生波特率
  46   1              SCON = 0x50;                      //方式1,8位数据,波特率可变
  47   1              TH1= TL1 = 0xfd;                 //波特率 9600
  48   1              S2CON= 0x50;                 //方式1,八位数据,可变波特率
  49   1              BRT= 0XFD;                               //设置波特率9600
  50   1              TR1= 1;                                  //启动定时器产生波特率 
  51   1              AUXR= 0x10;                              //启动波特率发生器
  52   1              IP= 0x00;                                //优先级默认
  53   1              EA = 1;                                  //开总中断
  54   1              ES= 1;                                   //开串口1中断
  55   1              IE2=0x01;                                //开串口2中断
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         04/08/2013 13:56:53 PAGE 2   

  56   1      }
  57          /********************************************************************
  58                                      串口一 发送一个字符
  59          *********************************************************************/
  60          void  uart1_txd(uchar x)
  61          {
  62   1              SBUF = x;
  63   1      }
  64          /********************************************************************
  65                                      串口二   发送一个字符
  66          *********************************************************************/
  67          void  uart2_txd(uchar x)
  68          {
  69   1              S2BUF = x;
  70   1      }
  71          /********************************************************************
  72                                       延时函数
  73          *********************************************************************/
  74          void delay ( uint t )
  75          {
  76   1              uint i,j;
  77   1              for( i=0; i<t; i++)
  78   1              for( j=0; j<250; j++);
  79   1      }
  80          /********************************************************************
  81                                        主函数
  82          *********************************************************************/
  83          void main()
  84          {
  85   1          uchar i;
  86   1              init();
  87   1      
  88   1               for(i=0;i<8;i++)
  89   1                 {
  90   2                   uart1_txd(tab[i]);//串口一发送数据
  91   2                   delay(500);          
  92   2                       P0=dat2;                 //串口二接收数据在led灯显示
  93   2                       delay(500);
  94   2      
  95   2                       uart2_txd(tab[7-i]); //串口二发送数据
  96   2                   delay(500);          
  97   2                       P0=dat1;                //串口一接收数据在led灯显示
  98   2                       delay(500);
  99   2                 }
 100   1              while(1)
 101   1              {
 102   2                if(key1==0){delay(20);while(!key1){P0=0xAA;} }
 103   2                if(key2==0){delay(20);while(!key2){P0=0x55;} }
 104   2                if(key3==0){delay(20);while(!key3){P0=0xf0;} }
 105   2                if(key4==0){delay(20);while(!key4){P0=0x0f;} }
 106   2      
 107   2              }
 108   1      }
 109          /********************************************************************
 110                                      串口二    发送接收中断函数
 111          *********************************************************************/
 112          void uart2_isr()  interrupt 8
 113          {
 114   1              if( S2CON & 0x01 )
 115   1              {
 116   2                      S2CON &= ~0x01;
 117   2                      dat2= S2BUF;
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         04/08/2013 13:56:53 PAGE 3   

 118   2              }
 119   1              if( S2CON & 0x02 )
 120   1              {
 121   2                      S2CON &= ~0x02;
 122   2              }
 123   1      }
 124           /********************************************************************
 125                                      串口一 发送接收中断函数
 126          *********************************************************************/
 127          void uart_isr()  interrupt 4 
 128          {
 129   1              if( RI )
 130   1                 RI = 0;
 131   1                  dat1 = SBUF;
 132   1              if( TI ) 
 133   1                  TI = 0;
 134   1      }
 135          /********************************************************************
 136                                        结束
 137          *********************************************************************/


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