⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shuoming.txt

📁 GSM开发板第三版资料
💻 TXT
字号:
请参考如下程序:
#include <reg51.h>
#include <string.h> 
   
unsigned char ch;
   
bit read_flag= 0 ; 
   
void init_serialcom( void ) 
   { 
       SCON = 0x50 ;  //SCON: serail mode 1, 8-bit UART, enable ucvr   
                         //UART为模式1,8位数据,允许接收
          TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload             
                         //定时器1为模式2,8位自动重装
          PCON |= 0x80 ; //SMOD=1; 
          TH1 = 0xFD ;   //Baud:19200 fosc="11".0592MHz 
          IE |= 0x90 ;     //Enable Serial Interrupt 
          TR1 = 1 ;       // timer 1 run 
          TI=1; 
          
       } 
          
//向串口发送一个字符 
void send_char_com( unsigned char ch) 
         { 
            SBUF=ch; 
            while (TI== 0); 
               TI= 0 ; 
          } 
 

//串口接收中断函数 
void serial () interrupt 4 using 3 
{ 
    if (RI) 
          {  
                 RI = 0 ; 
                 ch=SBUF;             
                 read_flag= 1 ; //就置位取数标志 
              }
} 
 

 main() 
    { 
           init_serialcom(); //初始化串口 
                  while ( 1 ) 
                        { 
                            if (read_flag) //如果取数标志已置位,就将读到的数从串口发出 
                                    { 
                                              read_flag= 0 ; //取数标志清0 
                                                 send_char_com(ch); 
                                          } 
                            } 
       }
 

这个程序由四部分组成
init_serialcom( void )                              //初始化串口
send_char_com( unsigned char ch)     //向串口发送字符
serial () interrupt 4 using 3                    //中断串口接收字符
main()                                                     //主函数
 

其中前三个函数都不太需要改变,以后应用的时候直接复制粘贴就行,主要修改的是主函数。这个程序实现的是接收字符,再把这个字符串口发送。






如何用单片机C语言来编写8字节串行数据?
可以建一个数组,用于存储数据,然后把数组里的数据一个字节一个字节的发给串口的缓存器。

⌨️ 快捷键说明

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