找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机模拟串口问题,STC89C52在处理速度上和STC11有什么差距吗?

[复制链接]
跳转到指定楼层
楼主
ID:772400 发表于 2020-7-24 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10黑币
请问STC89C52在处理速度上和STC11有什么差距吗?我有一份模拟串口代码可以在STC11上运行,放在STC89C52上就不行了
void timer0(void) interrupt 1
{
//TR0 = 0;
//TL0=0x00;
TH0 = 0xd8; // 1/90秒
g_ReceDlyCnt ++;
g_MsgDlyCnt ++;
if((g_MsgDlyCnt%30)==0)
{if(LED)
LED= 0;
else
LED= 1;
}
}
uint8 receiveFromCoderTwo() //从模拟口接收数据
{
uint8 result;

//对于接收第一个字节的后续字节需要同步等待
g_ReceDlyCnt = 0;
ET0=1;
if(RXD2)//等待起始位
{
//接收第一个字节的后续字节
while(1)
{
if(RXD2==0)
{
ET0=0;
break ;
}
if(g_ReceDlyCnt>9)
{
return 0;//超时
}
}
}
ET0=0;
ACC=0;
CY=0;
#pragma  asm
MOV R3,#120 ;1
DJNZ R3,$ ;240


MOV R2,#8;
Rec_8Bits2:
MOV R3,#255;1
DJNZ R3,$;510
MOV R3,#28 ;1
DJNZ R3,$ ;62
NOP ;1
MOV C,RXD2;2
RRC A;1
DJNZ R2,Rec_8Bits2;2total 576



MOV R3,#255      ;1 //停止位
DJNZ R3,$       ;510
MOV R3,#27    ;1
DJNZ R3,$       ;54


#pragma  endasm


result=ACC;
ET0=1;
return result;


}

最佳答案

查看完整内容

使用示波器看TX口波形,看一下频率多少,确认输出是否符合你的设置的频率,一般是频率不对,极小可能是芯片不同,程序配置差异。频率不同,你就看看主频,然后计算一下就好了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:808491 发表于 2020-7-24 14:12 | 只看该作者
使用示波器看TX口波形,看一下频率多少,确认输出是否符合你的设置的频率,一般是频率不对,极小可能是芯片不同,程序配置差异。频率不同,你就看看主频,然后计算一下就好了。
回复

使用道具 举报

板凳
ID:767423 发表于 2020-7-24 15:52 | 只看该作者
速度不一样,STC11是1T的,STC89C52是6T/12T
回复

使用道具 举报

地板
ID:472268 发表于 2020-7-24 16:46 | 只看该作者
用逻辑分析仪抓一下时间,很好解决的。τ 宝上有USB式的,25-35RMB
回复

使用道具 举报

5#
ID:807666 发表于 2020-7-24 16:48 | 只看该作者
当然有差距 最大支持的晶振不同啊  
回复

使用道具 举报

6#
ID:807680 发表于 2020-7-24 17:20 | 只看该作者
基本功能是一样的,只是指令执行速度 快一些 12 倍,增加了一些可选的 IO 口,P4 口
回复

使用道具 举报

7#
ID:772400 发表于 2020-7-27 13:59 | 只看该作者
hsl32 发表于 2020-7-24 15:52
速度不一样,STC11是1T的,STC89C52是6T/12T

STC11默认是12T的,那我这个也是12T的
回复

使用道具 举报

8#
ID:772400 发表于 2020-7-27 14:03 | 只看该作者
sheng7533967 发表于 2020-7-24 16:46
用逻辑分析仪抓一下时间,很好解决的。τ 宝上有USB式的,25-35RMB

你们说的抓是怎么个抓法了,我不懂额,可以讲详细点吗,
回复

使用道具 举报

9#
ID:426143 发表于 2020-7-27 15:09 | 只看该作者
跟速度其实关系不大,主要是同一个模拟端口在两个芯片引脚的处理上有什么不同,使用模拟端口的引脚的基础设置查看一下芯片手册
回复

使用道具 举报

10#
ID:772400 发表于 2020-7-27 15:26 | 只看该作者
土豆西红柿 发表于 2020-7-27 15:09
跟速度其实关系不大,主要是同一个模拟端口在两个芯片引脚的处理上有什么不同,使用模拟端口的引脚的基础设 ...

你好,端口就都是普通IO口,我这接收用延时接收的,IO口没做什么设置
回复

使用道具 举报

11#
ID:426143 发表于 2020-7-27 15:36 | 只看该作者
aYong0308 发表于 2020-7-27 15:26
你好,端口就都是普通IO口,我这接收用延时接收的,IO口没做什么设置

编译通过之后进行单步调试,看一下是不是卡在哪个语句上了
回复

使用道具 举报

12#
ID:772400 发表于 2020-7-27 15:40 | 只看该作者
土豆西红柿 发表于 2020-7-27 15:36
编译通过之后进行单步调试,看一下是不是卡在哪个语句上了

我这份代码在STC11上稳定运行的,没语句上的毛病,就是接收时序对不上,接收的是错误的
回复

使用道具 举报

13#
ID:426143 发表于 2020-7-27 15:54 | 只看该作者
aYong0308 发表于 2020-7-27 15:40
我这份代码在STC11上稳定运行的,没语句上的毛病,就是接收时序对不上,接收的是错误的

那你看一下接收发送脚有没有接错,交换一下试试
回复

使用道具 举报

14#
ID:772400 发表于 2020-7-27 16:05 | 只看该作者
土豆西红柿 发表于 2020-7-27 15:54
那你看一下接收发送脚有没有接错,交换一下试试

no no no
回复

使用道具 举报

15#
ID:772400 发表于 2020-7-28 10:24 | 只看该作者
感谢大家的回答,解决了,延时减小3倍(6T)或6倍(12T)
回复

使用道具 举报

16#
ID:744327 发表于 2020-7-28 10:27 | 只看该作者
延时减小3倍效果最好
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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