EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机C语言程序设计:单片机向主机发送字符串9 \* p j0 h/ A, p3 u1 v
7 E% x. q$ K2 `: q, O1 t
# ?5 p/ `8 k& F* T$ G
/* 名称:单片机向主机发送字符串 说明:单片机按一定的时间间隔向主机 发送字符串,发送内容在虚拟终端显示。 */ #include<reg51.h> #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<120;i++); 6 x5 T8 `/ f6 M
} //向串口发送字符 void Putc_to_SerialPort(uchar c) { SBUF=c; while(TI==0); TI=0; } //向串口发送字符串 void Puts_to_SerialPort(uchar *s) { while(*s!='') { Putc_to_SerialPort(*s); s++; DelayMS(5); } } //主程序 void main() { uchar c=0; SCON=0x40; 串口模式 1 TMOD=0x20; //T1 工作模式 2
x( e( F6 P# V( G) w: r: k: NTH1=0xfd; //波特率 9600 TL1=0xfd; PCON=0x00; 波特率不倍增 TI=0; TR1=1; DelayMS(200); //向主机发送数据 Puts_to_SerialPort("Receiving From 8051...rn"); Puts_to_SerialPort("-------------------------------rn"); DelayMS(50); while(1) { Putc_to_SerialPort(c+'A'); DelayMS(100); Putc_to_SerialPort(' '); DelayMS(100); if(c==25) //每输出一遍后加横线 { Puts_to_SerialPort("rn-------------------------------rn"); DelayMS(100); * b: o, n1 ^' T% t
} c=(c+1)%26; } }/ w5 [& t+ d* `, p
5 R6 E8 }! J+ S# I9 z! ^; |
if(c%10==0) //每输出 10 个字符后换行 { Puts_to_SerialPort("rn"); DelayMS(100); } 0 Q; y: c( g; L2 R; L" t2 g) p! ?
6 t4 x& ^9 y, d; i! G- _
; v3 b2 u. y) K. G/ o2 q4 T
' _$ ^$ x5 f* e0 V1 u( R
9 e @6 z5 s& m( V3 `3 j& d |