找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1032|回复: 7
收起左侧

求助大佬,为啥单片机程序只执行上电之后发送一次啊

[复制链接]
ID:1077099 发表于 2023-8-15 17:25 | 显示全部楼层 |阅读模式
我的这个函数为啥上电之后只执行一次啊,但是加上一个点亮led等就可以循环执行了,不明白为啥,请大佬指教啊
7D54C7~1.PNG
回复

使用道具 举报

ID:213173 发表于 2023-8-15 22:13 | 显示全部楼层
你说的情况不存在
无标题.jpg

  1. #include <reg51.H>
  2. #include <intrins.H>

  3. void Delay100ms()                //@11.0592MHz
  4. {
  5.         unsigned char data i, j;

  6.         i = 180;
  7.         j = 73;
  8.         do
  9.         {
  10.                 while (--j);
  11.         } while (--i);
  12. }

  13. void UartInit(void)                //9600bps@11.0592MHz
  14. {
  15.         PCON &= 0x7F;                //波特率不倍速
  16.         SCON = 0x50;                //8位数据,可变波特率
  17.         TMOD = 0x20;                //设置定时器模式
  18.         TL1 = 0xFD;                        //设置定时初始值
  19.         TH1 = 0xFD;                        //设置定时重载值
  20.         ET1 = 0;                        //禁止定时器中断
  21.         TR1 = 1;                        //定时器1开始计时
  22. }

  23. void sendbyte(unsigned char number)
  24. {
  25.         SBUF=number;
  26.         while(!TI);
  27.         TI=0;
  28. }

  29. void main(void)
  30. {
  31.         UartInit();   
  32.         while(1)
  33.         {
  34.                 Delay100ms();
  35.                 sendbyte(0x66);
  36.         }
  37. }
复制代码



回复

使用道具 举报

ID:180919 发表于 2023-8-16 00:04 | 显示全部楼层
不是只发送一次,是一直要while里以1秒循环发送
回复

使用道具 举报

ID:195496 发表于 2023-8-16 08:55 | 显示全部楼层
你的延时太短了吧,
回复

使用道具 举报

ID:1089588 发表于 2023-8-16 09:10 | 显示全部楼层
可能哪里有误了,就你展示的代码确实是循环的
回复

使用道具 举报

ID:1077099 发表于 2023-8-16 10:02 | 显示全部楼层
wulin 发表于 2023-8-15 22:13
你说的情况不存在

我的uart里把中断打开了这个有影响么?EA=1 ES=1,现在我这个程序只要是不加那个led的那个亮灯程序上电就只执行一次,加上led亮灯就可以1s循环发送
回复

使用道具 举报

ID:1077099 发表于 2023-8-16 10:03 | 显示全部楼层
大漠落日 发表于 2023-8-16 08:55
你的延时太短了吧,

延时1s这个应该不短吧,我加长了延时时间还是不行,我只不过是把中断打开了
回复

使用道具 举报

ID:1092280 发表于 2023-8-30 14:55 | 显示全部楼层
你可以试试再延时下面再加一次发送然后再加一次延时试试
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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