找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4231|回复: 0
收起左侧

用普通51单片机的串口c程序送到IAP15F2K61S2没用,求解

[复制链接]
ID:96630 发表于 2015-11-21 20:34 | 显示全部楼层 |阅读模式
这是原代码#include "reg52.h"  //定义51单片机特殊功能寄存器

#define BAUDRATE     2400  //波特率
#define SYSTEMCLOCK  12000000  //系统时钟频率

void uart_sendstring(unsigned char *str);

//主函数
void main(void)
{

          SCON = 0x50;
        TMOD |= 0x20;
        TH1 = 256 - (unsigned int)(SYSTEMCLOCK/BAUDRATE/384+0.5);
        ES = 1;  //时能串口中断
        EA = 1;
        TR1 = 1;  //启动定时器1

    uart_sendstring("hello,world.\r\n");
   
    while(1);
}

//通过串口发送字符串
void uart_sendstring(unsigned char *str)
{
    unsigned char *p;
   
    p = str;
    while(*p != '\0')
    {
        SBUF = *p;
                while(TI == 0);  //等待发送标志位置位
                TI = 0;
        p++;
    }
}
然后有人说IAP15F2K62S2的波特率是1T 就这样改了
#include "reg52.h"  //定义51单片机特殊功能寄存器
sfr AUXR =0x8E;

//#define BAUDRATE     2400  //波特率
//#define SYSTEMCLOCK  12000000  //系统时钟频率

void uart_sendstring(unsigned char *str);
void UartInit(void)                //2400bps@11.0592MHz
{
        PCON &= 0x7F;                //波特率不倍速
        SCON = 0x50;                //8位数据,可变波特率
        AUXR &= 0xBF;                //定时器1时钟为Fosc/12,即12T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //清除定时器1模式位
        TMOD |= 0x20;                //设定定时器1为8位自动重装方式
        TL1 = 0xF4;                //设定定时初值
        TH1 = 0xF4;                //设定定时器重装值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
}



//主函数
void main(void)
{
    UartInit();               


    uart_sendstring("hello,world.\r\n"); //'\r' 13 回车(return)  '\n' 10 换行(newline)
   
    while(1);
}

//通过串口发送字符串
void uart_sendstring(unsigned char *str)
{
    unsigned char *p;
   
    p = str;                 //p获得str内存储的地址值
    while(*p != '\0')                // '\0'字符串结束标志
    {
        SBUF = *p;
                while(TI == 0);  //等待发送标志位置位  TI=0时循环 TI=1时跳出循环
                TI = 0;
        p++;                         //向高地址移动指针
    }
}
发现还是没用 不知道是哪里出了问题了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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