找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 964|回复: 0
打印 上一主题 下一主题
收起左侧

STC15W204S单片机串口通讯控制LED亮灭程序

[复制链接]
跳转到指定楼层
楼主
      STC15W204S串口通讯控制LED亮灭!此芯片大家注意,它是没有定时器1的,所以我走了一点误区,没有注意看资料。实际实验是正常的。


单片机源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. unsigned char buf;
  4. sfr P5=0xC8;//xxxx,1111 端口5
  5. sfr T2L=0xD7;//xxxx,1111 端口5
  6. sfr T2H=0xD6;//xxxx,1111 端口5
  7. sfr AUXR=0x8E;//xxxx,1111 端口5
  8. sfr BRT=0x9C;//xxxx,1111 端口5
  9. sbit led0=P5^5;
  10. void UartInit(void)                //9600bps@11.0592MHz
  11. {
  12.         SCON = 0x50;                //8位数据,可变波特率
  13.         AUXR |= 0x01;                //串口1选择定时器2为波特率发生器
  14.         AUXR |= 0x04;                //定时器时钟1T模式
  15.         T2L = 0xE0;                        //设置定时初始值
  16.         T2H = 0xFE;                        //设置定时初始值
  17.         AUXR |= 0x10;                //定时器2开始计时
  18.         ES=1;
  19.         EA=1;
  20. }
  21. main()
  22. {
  23.         /*SCON = 0x50;// 8位数据,可变波特率 9600bps 11.0592MHZ
  24.         AUXR|=0X01;// 串口1选择定时器2为波特率发生器
  25.         AUXR|=0X04;        //1T模式
  26.         T2L=0XE0;
  27.         T2H=0XFE;
  28.         AUXR|=0X10;//开定时器2
  29.         ES=1;
  30.         EA=1;*/
  31.         UartInit();
  32.         while(1);

  33. }
  34. void uart() interrupt 4
  35. {
  36.         ES=0;
  37.         RI=0;
  38.         buf=SBUF;           
  39.         switch(buf)
  40.         {
  41.             case 0:led0=0;break;//发送0灯亮
  42.             case 1:led0=~led0;break; //发送1灯取反
  43.             
  44.             default:P5=0XFF;break; //否则灭掉
  45.         }
  46.         ES=1;        //清除发送完成标志位
  47. }
复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表