找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2216|回復: 7
收起左側

用串口給單片機發(fā)數(shù)據(jù),怎么發(fā)送的數(shù)據(jù)無法修改產生的波形,

[復制鏈接]
ID:637351 發(fā)表于 2019-11-29 16:55 | 顯示全部樓層 |閱讀模式
25黑幣
請大家?guī)兔纯从惺裁磫栴}?
#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;
}

回復

使用道具 舉報

ID:213173 發(fā)表于 2019-11-30 08:32 | 顯示全部樓層
51單片機串口波特率發(fā)生器是T1,不可以用T0。
回復

使用道具 舉報

ID:94031 發(fā)表于 2019-11-30 10:30 | 顯示全部樓層
你的基本功很差,要一步步來,先解決能正常接收,再解決產生正常波形。
回復

使用道具 舉報

ID:653163 發(fā)表于 2019-11-30 19:43 | 顯示全部樓層
把TH0和TL0改成TH1和TL1
回復

使用道具 舉報

ID:637351 發(fā)表于 2019-12-2 10:21 | 顯示全部樓層
xuyaqi 發(fā)表于 2019-11-30 10:30
你的基本功很差,要一步步來,先解決能正常接收,再解決產生正常波形。

現(xiàn)在就是不能正常接收啊?該怎么改才行
回復

使用道具 舉報

ID:637351 發(fā)表于 2019-12-2 10:22 | 顯示全部樓層
wulin 發(fā)表于 2019-11-30 08:32
51單片機串口波特率發(fā)生器是T1,不可以用T0。

除此之外還有什么問題嗎?
回復

使用道具 舉報

ID:213173 發(fā)表于 2019-12-2 13:19 | 顯示全部樓層
王文杰 發(fā)表于 2019-12-2 10:22
除此之外還有什么問題嗎?

51單片機在11.0592MHz晶振條件下用定時器模式1產生可變頻方波的最高頻率只能達幾百Hz。因為運算定時器重裝值需要時間的。要想輸出24.25KHz需要外接鎖相環(huán)倍頻。
回復

使用道具 舉報

ID:498463 發(fā)表于 2019-12-2 14:37 | 顯示全部樓層
問題比較多啊,兄弟
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表