EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机C语言程序设计:单片机向主机发送字符串
7 i; V6 }# Y& x) V$ h
, s3 {* A, R2 U; V/ z
- }; U" M1 ]2 M9 J; V1 @/* 名称:单片机向主机发送字符串 说明:单片机按一定的时间间隔向主机 发送字符串,发送内容在虚拟终端显示。 */ #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++);
5 v( r7 {0 {; I" {. u4 I& |} //向串口发送字符 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
% q$ @. W7 z% U' o* D) rTH1=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);
0 Z$ a: Z) {/ D* I, t) E: _/ g+ m} c=(c+1)%26; } }
% h3 V, M, H4 T ! c7 Y% k' m& p% L% @1 }5 b
if(c%10==0) //每输出 10 个字符后换行 { Puts_to_SerialPort("rn"); DelayMS(100); } # W: `/ A/ t$ {6 P" M1 z' E. t8 t
+ R4 r: ^( x6 }# h* i+ G( a
( |# L1 E+ b L; d3 l# s& E" ~( O2 @/ |4 p( [, R7 H0 L
$ t* w6 v) a. a0 b+ x H0 C |