stc单片机能下载程序但是用串口通信程序给电脑发字符。收不到。该 程 序在仿真软件中用C51单片机仿真成功

 我来答
Nicole088
2013-06-20 · 超过15用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:47万
展开全部
测试通过的!!
#include <STC12C56.h>
#include "UART.h"
#define RELOAD_COUNT 0xFD // 11.0592MHz, 12T, 9600BTR

void UART_Init(void)
{
SCON = 0x40; // 8位UART,波特率可变,禁止接收
PCON &= 0x3F; // 波特率不加倍
AUXR = 0x00;
TMOD |= 0x20;
TH1 = RELOAD_COUNT;
//EA = 1;
}
/***********************************************************************************
* Description: 从串口发送一个字节数据
* Input: chr, 发送的数据
* Output: none
* Return: none
* Note:
************************************************************************************/
void UART_SendByte(UINT8 dat)
{
TL1 = TH1;
TR1 = 1;
TI = 0;
SBUF = dat;
while (!TI);
TI = 0;
TR1 = 0;
}
/***********************************************************************************
* Function: Uart0_SendString
* Description: 从串口发送一个字符串数据
* Input: *ptr, 发送字符串数据块指针
* Output: none
* Return: none
* Note:
************************************************************************************/
void Uart0_SendString (unsigned char *ptr)
{
while(*ptr)
{
UART_SendByte(*ptr++); // 发送数据
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
执子之手xw
2013-06-20 · TA获得超过244个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:157万
展开全部

您这样,先用STC提供的示例程序来试,调通之后,再用您自己的程序,要先用STCISP下载软件上的比特率计算器算一下误码率,小于2%就好了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenzh98
2013-06-20 · TA获得超过393个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:179万
展开全部
void UART_SendByte(UINT8 dat)
{
TL1 = TH1;
TR1 = 1;
TI = 0; <---
SBUF = dat;
while (!TI); <----
TI = 0; <----
TR1 = 0;
}
检查下三个箭头所指位置代码是否都无误!!

另外,UART代码没有,看不出其它问题。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duyin2011
2013-06-20 · TA获得超过2398个赞
知道大有可为答主
回答量:1723
采纳率:100%
帮助的人:660万
展开全部
1 如果程序没错,显然你单片机没有带串口,stc型号是什么,贴下吧,
2,stc用isp技术烧写的,没串口也能烧进程序的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式