QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
源程序如下:: o0 J9 W* J5 X( U0 X: j" ~5 \

% w$ H7 u* {/ R8 N4 H#include <reg51.h>+ b& K' N9 z5 Y0 \3 H
#define MESSAGE_LEN 3    // 定义数据长度7 W/ `- E0 q  w) F9 P: G! q: p. q
unsigned char message[MESSAGE_LEN];
8 _6 N/ q* a# d7 M2 Z$ N% r% Pvoid init_serialcomm(). R- n2 V# O4 y7 P1 Q* T
{% v1 E7 ]; w' p/ x! T& X5 N
TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X209 w6 n8 m5 _1 d8 k, \: s9 ^5 ?% L
TH1 = 0xfd;
) a7 ~; V$ ^( k, `, U5 M" Y TL1 = 0xfd;4 m; L4 H  n' {, K* D7 M+ y# V
TR1 = 1;
* b- f5 N- X& r6 ?+ `) T SCON = 0xd8;
2 E2 Q: s( P' g  C PCON = 0x00;, o' v1 D6 U, q
IE = 0x90;. _3 A: y! k/ p& e- }  Y
}9 v, d" y, O- s/ ~1 i5 I4 H
void putchar(unsigned char ch)    // 串口发送一个字符
7 @; r! t! m0 G* s8 H+ ~9 R+ A{: g( n3 X% r* f: g( l
SBUF = ch;8 T# t/ C- \  {+ a% z  ^. T
while (TI == 0);7 K/ E; N3 `+ O+ Z4 U- D  Y
TI = 0;
/ u2 M* H& R% \! s+ L3 n1 d5 U}+ d, x1 P% x! h" Z, v. q
void send_message(void)    // 串口发送字符串& z, W* c# a* x% r( x* a9 G
{5 ^5 s' k4 M' I0 ?1 W) g& v7 s# z8 ?
unsigned int i = 0;8 q# _. {# V5 }
do
+ J4 W( p7 O" g' B {- q/ F  N' Q7 y
  putchar(message[i]);
( ]0 w) `9 |- w/ ?( y9 o  i++;
; D; j% R9 M' {/ w } while (i < MESSAGE_LEN);# ]1 k' \1 @$ ?6 f- k8 t  o
}9 j( p7 f  ^& O9 A
main()* A' W: w2 \* c
{
1 o0 D; Z% d3 ~( k2 V* e message[MESSAGE_LEN] = {'M','C','S'};+ s5 l/ u, s3 F" V! \% n
init_serialcomm();
- i1 [8 ?. K  I: M send_message();) @( o- t3 z% `4 z8 y+ {
}7 d  o8 Z" Y* x+ W! F: ^! T( L6 w0 p3 x
0 k. u8 n' c- A  l& f& ], G
使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”. [( k  @6 u" O3 ~7 }" Q4 V4 `
本想显示“MCS”,为什么会显示错呢?
$ X1 d! S$ a3 G5 C+ {3 ?" e. z. _/ N- e' p
哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;) q" J0 u  z3 i0 a7 `$ q
unsigned int i = 0;
* e2 g1 l7 L, i! P1 Hdo
* m+ s! ^8 X! }+ j6 D- j{putchar(message[i]);3 A+ d8 }( R! ~
i++;
( b/ R) l& d: a0 ]; q9 w5 `" ]} while (i < MESSAGE_LEN);
" ]0 d6 z1 p2 M. T8 Q' `这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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