找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用串口给单片机发数据,怎么发送的数据无法修改产生的波形,

[复制链接]
跳转到指定楼层
楼主
ID:637351 发表于 2019-11-29 16:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
25黑币
请大家帮忙看看有什么问题?
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int
sbit test = P1^0;
uchar x;//256时100Hz;1时24.25KHz;
uint H,L;
uchar  flag;
void Initurat()  
{
TMOD=0X20;
TH0 = 0Xfd;
TL0 = 0Xfd;
TR1 = 1;

SM0=0;
SM1=1;
REN=1;
PCON|=0x00;//SMOD=0;
EA = 1;
ES = 1;
}
void receive()  interrupt 4
{
if(RI)
{
  RI = 0;
  x = SBUF;
  ES = 0;
  flag = 1;
}
}
void init()
{
EA = 1;
ET1 = 1;
TMOD=0x10;
x = 65536 - x*18;
H = x / 256;
L = x % 256;
TH1 = H;
TL1 = L;
TR1 = 1;
}
main()
{
init();
while(1);
}
void interrupt_() interrupt 3
{
TH1 = H;
TL1 = L;
P1 = ~P1;
IE1 = 0;
}

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

使用道具 举报

沙发
ID:213173 发表于 2019-11-30 08:32 | 只看该作者
51单片机串口波特率发生器是T1,不可以用T0。
回复

使用道具 举报

板凳
ID:94031 发表于 2019-11-30 10:30 | 只看该作者
你的基本功很差,要一步步来,先解决能正常接收,再解决产生正常波形。
回复

使用道具 举报

地板
ID:653163 发表于 2019-11-30 19:43 | 只看该作者
把TH0和TL0改成TH1和TL1
回复

使用道具 举报

5#
ID:637351 发表于 2019-12-2 10:21 | 只看该作者
xuyaqi 发表于 2019-11-30 10:30
你的基本功很差,要一步步来,先解决能正常接收,再解决产生正常波形。

现在就是不能正常接收啊?该怎么改才行
回复

使用道具 举报

6#
ID:637351 发表于 2019-12-2 10:22 | 只看该作者
wulin 发表于 2019-11-30 08:32
51单片机串口波特率发生器是T1,不可以用T0。

除此之外还有什么问题吗?
回复

使用道具 举报

7#
ID:213173 发表于 2019-12-2 13:19 | 只看该作者
王文杰 发表于 2019-12-2 10:22
除此之外还有什么问题吗?

51单片机在11.0592MHz晶振条件下用定时器模式1产生可变频方波的最高频率只能达几百Hz。因为运算定时器重装值需要时间的。要想输出24.25KHz需要外接锁相环倍频。
回复

使用道具 举报

8#
ID:498463 发表于 2019-12-2 14:37 | 只看该作者
问题比较多啊,兄弟
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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