m_comm.c

来自「郑州远博公司生产的单片机B型实验板电路原理图及配套源程序代码」· C语言 代码 · 共 54 行

C
54
字号
/******************************************************************************
YB-51-B单片机通用实验板串口中断和液晶屏显示演示程序=
在pc机上利用通用串口调试程序(在配套光盘上),发送的字符可以在液晶屏上显示出来,同时可以接收单片机回送的字符

程序来源:远博科技
0371-66949037  0371-67256036   13949105551
********************************************************************************/

//[注]:AT89C51的晶振频率为11.0592MHz


#include <config.h>
void Comminit(void);
void Scomm(void);
code char examp[]="serial communication test";
Uchar x=0,y=0,sedata;

 void main(void)      {
    Delayms(1000);                      //延时,保证器件复位
    Comminit();                          //串口初始化,打开串口中断
    Lcdreset();                         //液晶屏初始化
    Eputstr(0,0,examp);                 // 液晶屏显示一个预定字符串
	Delayms(3000);
    Lcdreset();     
    while(1);                           //无限循环。
	                    }


void Scomm(void) interrupt 4 {  
                          while(!RI);  //判断是否接收完成
                          EA=0;
                          RI=0;
                          sedata=SBUF;     //保存数据
                          Disponechar(x,y++,sedata);
                          if ( y == 32 )  { y = 0; x ^= 0; }  //显示到最后位置以后,重新开始从第一个位置显示
                          SBUF=sedata;     //转发数据
                          while (!TI);  //判断是否发送完成
                          TI=0;
                          EA=1;
                              }
/*********************************************************************************
             串口初始化程序
**********************************************************************************/                        
void Comminit(void)     {            
                          TMOD=0x20;   //定时器1方式2定时
                          TH1=0xfd;
                          TL1=0xfd;   //置定时器初值,选定9600bps
                          SCON=0x50;  //选择通讯方式1 (1位起始,8位数据,1位停止)
                          TR1=1;      //启动定时器
						  ET1=0;
                          ES=1;       //开串口中断
                          EA=1;       //开中断 
                         }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?