QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2459|回复: 1
收起左侧

[求助] 请教关于C51串口的问题

[复制链接]
发表于 2010-8-13 08:59:04 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
源程序如下:0 e1 c  Y6 \( W2 W  y

+ L4 \: {( P: D9 {3 P6 _* J+ [#include <reg51.h>+ @5 _! t( I6 J1 g" c8 B
#define MESSAGE_LEN 3    // 定义数据长度
( \) C; l6 M* ?$ Vunsigned char message[MESSAGE_LEN];
2 l& X, Q5 r5 ~2 a# d% s3 ^* U3 dvoid init_serialcomm()
# S8 [; v1 e( y" L' J{: \2 O0 r5 u5 {3 t! D8 l: [
TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X20+ `2 Q3 F( q# I# |$ x6 W* n+ y5 O# d6 ]7 o0 x
TH1 = 0xfd;
& v& _+ J7 ?0 t TL1 = 0xfd;
; P  ?, l& u! s4 N' D# m( x TR1 = 1;" c/ w2 G5 `& `) S# T9 n$ i
SCON = 0xd8;
: N) X; q+ L# X PCON = 0x00;6 Z3 w- _7 [. ^3 M0 _" E5 `1 c
IE = 0x90;
# F5 f+ Q# |% M) z( h}
. m: {& Y; j: l4 u; I: j4 pvoid putchar(unsigned char ch)    // 串口发送一个字符
5 l  Y1 z) j" p+ Q{
( o& G  s3 Y+ M$ C3 Z- K SBUF = ch;
2 ^# e: g5 l; D6 c+ U while (TI == 0);/ Y; Q2 U, n* D( O+ C/ [
TI = 0; , x* x2 I" x( l, q+ s' Q7 A
}) j+ ~5 a1 O& A$ y/ }1 G$ g0 d
void send_message(void)    // 串口发送字符串5 w9 T, D0 ~6 ?/ x$ A: y. q& f
{" C  b0 f, _( r2 [2 y
unsigned int i = 0;9 D: t# ?# x2 {
do0 Y, W; U; A5 F* v' h! M) }- R
{, I( X& r. H: T! N  N6 U* h
  putchar(message[i]);- E' s$ h, W' l# a
  i++;
6 o0 ^4 R" n( g# U5 U" Y- V } while (i < MESSAGE_LEN);
. A6 t6 a" f4 f}
3 r: c9 a0 {! N' T" n  ~# ?; Hmain()
8 K7 F; s4 R3 j, x$ E4 D{
2 Q& Q1 Y4 P* V' b message[MESSAGE_LEN] = {'M','C','S'};/ M: u4 H4 r+ I  v  l! X3 A- M# y
init_serialcomm();
8 W# i) p) Q# R' V' B# i send_message();) f. v$ ~2 l, I9 S" [; k
}7 ~( ?7 V$ ~; I4 s- c" G0 o$ V

& {- _2 g& B: I使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”
, ^# _. ?# _3 k4 z2 |# {本想显示“MCS”,为什么会显示错呢?% B* \- c  Q( l7 N5 ^

( O1 n9 l/ N: [5 }哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;+ T: k' b6 H2 T: T. p
unsigned int i = 0;7 O% H9 K8 r% a) j0 M& m- i
do
5 n* {5 O( k/ V9 Z, t2 @  Z{putchar(message[i]);2 @* u) j& v. p0 R
i++;
9 W$ R* c$ |4 R- c  t! T} while (i < MESSAGE_LEN);0 |3 B$ n# ]4 E: s! g
这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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