中易网

求助~!一个简单的单片机串口发送字符函数用的是STC12C4052AD这款11.0592M的晶振一直显示乱码为什么嘞

答案:2  悬赏:80  
解决时间 2021-11-15 13:44
之前程序在STC12C5A60S2这款上可以正常使用 更改了头文件之后 程序保持不变 换成4052AD就用不了了 求大神帮忙看一下~~无比感激~~~
#include "intrins.h"
#include "STC12C2052AD.H"
#define uchar unsigned char
#define uint unsigned int
unsigned char *str0="*******************\r\n";
unsigned char *str1="The temp is:";
unsigned char *str2="℃\r\n";

//串口初始化函数
void Com_init(void)
{
TMOD = 0x20; //设置波特率为9600和定时器1工作方式
TL1 = 0xFD; //设置初始值
TH1 = 0xFD;
SCON = 0x50; //设置串行口工作方式
PCON = 0x00;
TR1 = 1; //允许发送
//ET0 = 1; //启动定时器
EA = 1;
ES = 1; //串行中断允许
}

//串口接收中断函数
void comm() interrupt 4
{
ES=0;
if(1==RI)
{
RI=0;
}
ES=1;
}

//单个字符发送函数

void send_char(unsigned char ch)
{
SBUF = ch; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(TI==0);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
}

//字符串发送函数

void send_data(unsigned char *Value,unsigned char Len) //发送字符串
{
unsigned char i;
for(i=0;i{
send_char(*Value);
Value++;
}
}
void main()
{
Com_init();
while(1)
{
//发送
send_data(str0,21);
send_data(str1,12);
send_data(str2,4);

}
}
最佳答案
你的意思是程序不变,换了不同型号的单片机,功能不正常了,对吗?如果那样的话肯定不是程序的问题,好好看看4052AD的手册吧
全部回答
stc的芯片基本都内置了rc振荡器,方便节省成本。使不使用内部rc程序可以控制,使用内部rc时可以省掉外部晶振,并且晶振脚可以做普通io口使用,而89s52就只有接外部晶振才能工作。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
孕妇睡觉脸向右是男孩女士
打官司律师算了赔偿10万。自己要了五万了。律
什么叫双修?为什么有的人说天仙修完某某技能
中邮物流单号查询谁能帮我查下单号是AA 0964
多饮水对于降婴幼儿的体温有利吗?
瑞鑫美容地址好找么,我有些事要过去
梦见女儿被人拐走是什么意思?好不好呢?
不用web.xml怎么访问静态资源
我想制作一个生态鱼缸不知怎样制作需要什么材
小仓鼠生宝宝之前有没有特别的征兆
宁波大点的房产代理公司有哪些?
没有身份证,但是以前在网上买过火车票,还能
单缸柴油机的过滤杯子密封不好,怎么办
英文.看怎么读
当涂县房产局首套121平米购房税率多少
推荐资讯
广州京东快递短途配送员具体是什么工作,有什
白衣公卿是什么意思啊?
法藤和古兰图腾哪个好,怎么鉴别真假
沈阳中兴苏宁手机差价
宁夏银川的火车站新址什么时候可以建好,有规
牙齿鲍有点鲍老了会更鲍吗
说德语的国家都有哪些?请具体指出是哪些国家
沈吟不决是什么意思啊?
知道的说说美的电饭煲怎么拆开
中国联通(毛甸子营业厅)地址在什么地方,我要
婴之杰宝宝潜能开发中心(店)地址有知道的么?
西安万科高新华府户型哪位给介绍下?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?