0216

来源:互联网 发布:gta5您必须有网际网络 编辑:程序博客网 时间:2024/06/05 02:13

串口2

  1. /*-----------------------------------------------   
  2.   名称:串口通信   
  3.   网站:www.doflye.net   
  4.   编写:shifang   
  5.   日期:2009.5   
  6.   修改:无   
  7.   内容:连接好串口或者usb转串口至电脑,下载该程序,打开电源   
  8.         打开串口调试程序,将波特率设置为9600,无奇偶校验   
  9.         晶振11.0592MHz,发送和接收使用的格式相同,如都使用   
  10.         字符型格式,设置正确后接受框可以看到UART test,技术论坛:www.doflye.net thank you!   
  11. ------------------------------------------------*/    
  12.     
  13. #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义                            
  14. #include"delay.h"    
  15. /*------------------------------------------------   
  16.                    函数声明   
  17. ------------------------------------------------*/    
  18. void SendStr(unsigned char *s);    
  19. /*------------------------------------------------   
  20.                     串口初始化   
  21. ------------------------------------------------*/    
  22. void InitUART  (void)    
  23. {    
  24.     
  25.     SCON  = 0x50;               // SCON: 模式 1, 8-bit UART, 使能接收      
  26.     TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装    
  27.     TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz      
  28.     TR1   = 1;                  // TR1:  timer 1 打开                             
  29.     EA    = 1;                  //打开总中断    
  30.     //ES    = 1;                  //打开串口中断    
  31. }                                
  32. /*------------------------------------------------   
  33.                     主函数   
  34. ------------------------------------------------*/    
  35. void main (void)    
  36. {    
  37.     
  38. InitUART();    
  39.     
  40.     
  41.     
  42. while (1)                           
  43.     {    
  44.     SendStr("UART test,技术论坛:www.doflye.net thank you!");    
  45.     DelayMs(240);//延时循环发送    
  46.     DelayMs(240);    
  47.     }    
  48. }    
  49.     
  50. /*------------------------------------------------   
  51.                     发送一个字节   
  52. ------------------------------------------------*/    
  53. void SendByte(unsigned char dat)    
  54. {    
  55.  SBUF = dat;    
  56.  while(!TI);    
  57.       TI = 0;    
  58. }    
  59. /*------------------------------------------------   
  60.                     发送一个字符串   
  61. ------------------------------------------------*/    
  62. void SendStr(unsigned char *s)    
  63. {    
  64.  while(*s!='\0')// \0 表示字符串结束标志,    
  65.                 //通过检测是否字符串末尾    
  66.   {    
  67.   SendByte(*s);    
  68.   s++;    
  69.   }    
  70. }    

0 0
原创粉丝点击