找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9498|回复: 11
打印 上一主题 下一主题
收起左侧

一个51单片机串口收发程序

  [复制链接]
跳转到指定楼层
楼主
一个串口收发程序


单片机源程序如下:
  1. /*****************************************************************************
  2. **************       大学生电器开发部 -- E.D.D     ***************************
  3. *****************************************************************************
  4. *  适用于电器开发部12级学习板,STC12@32M晶振
  5. *  File name: usart.c
  6. *  Author: E.D.D
  7. *  Date: 2016-1-20
  8. *  Version: V2.0
  9. *  Description: 串口相关函数说明
  10. *  Copyright (C) E.D.D -- HPU
  11. *****************************************************************************/

  12. #include "uart.h"

  13. uint16 ReceiveBuff = 0;


  14. /**
  15.   *  函数名称:UartInit
  16.   *  函数参数:无
  17.   *  函数功能:Uart 初始化并开中断
  18.   *  日期:2016-1-20
  19.   */
  20. void UartInit(void)                //9600bps@32MHz
  21. {
  22.         PCON &= 0x7F;                //波特率不倍速
  23.         SCON = 0x50;                //8位数据,可变波特率
  24.         AUXR |= 0x04;                //独立波特率发生器时钟为Fosc,即1T
  25.         BRT = 0x98;                   //设定独立波特率发生器重装值
  26.         AUXR |= 0x01;                //串口1选择独立波特率发生器为波特率发生器
  27.         AUXR |= 0x10;                //启动独立波特率发生器
  28.        
  29.         ES = 1;
  30. }

  31. /**
  32.   *  函数名称:MessageInit
  33.   *  函数参数:无
  34.   *  函数功能:消息处理 初始化
  35.   *  日期:2016-1-20
  36.   */
  37. void MessageInit(void)
  38. {
  39.     UartSendString("Uart_test  is  OK \r\n");
  40. }

  41. /**
  42.   *  函数名称:UartSendByte
  43.   *  函数参数:一个字节的数据
  44.   *  函数功能:串口发送一个字节
  45.   *  日期:2016-1-20
  46.   */
  47. void UartSendByte(uint8 byte)
  48. {
  49.     SBUF = byte;
  50.     while(!TI);
  51.          TI = 0;
  52. }

  53. /**
  54.   *  函数名称:UartSendString
  55.   *  函数参数:一个字符串
  56.   *  函数功能:串口发送一个字符串
  57.   *  日期:2016-1-20
  58.   */
  59. void UartSendString(uint8 *string)
  60. {
  61.     while(*string)
  62.          {
  63.              UartSendByte(*string++);
  64.          }
  65. }

  66. /**
  67.   *  函数名称:DealReceiveData
  68.   *  函数参数:无
  69.   *  函数功能:串口接受数据处理
  70.   *  日期:2016-1-20
  71.   */
  72. void DealReceiveData(void)
  73. {

  74.            if(ReceiveBuff == 1)
  75.            {
  76.                            P13 = ~P13;
  77.            }
  78.            else
  79.            {
  80.                            UartSendByte(ReceiveBuff);
  81. ……………………

  82. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
1.串口收发.zip (64.36 KB, 下载次数: 206)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:287333 发表于 2018-3-13 12:51 | 只看该作者
好东西。。
回复

使用道具 举报

板凳
ID:292103 发表于 2018-3-15 09:21 来自手机 | 只看该作者
楼主辛苦!正需要呢!
回复

使用道具 举报

地板
ID:80947 发表于 2018-5-19 19:40 | 只看该作者
刚好遇到,谢谢分享
回复

使用道具 举报

5#
ID:316504 发表于 2018-5-20 10:33 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
ID:162543 发表于 2018-5-29 15:22 | 只看该作者
谢谢。。。。。。。。
回复

使用道具 举报

7#
ID:20672 发表于 2018-7-25 19:12 | 只看该作者
谢谢分享,郭天祥的说不清楚,
回复

使用道具 举报

8#
ID:20672 发表于 2018-7-26 16:13 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
ID:219185 发表于 2018-12-14 21:07 | 只看该作者
到处找51获取攀藤G3数据的程序,这个下来学习一下,谢谢!
回复

使用道具 举报

10#
ID:446902 发表于 2018-12-15 19:21 | 只看该作者
非常需要,谢谢楼主
回复

使用道具 举报

11#
ID:20672 发表于 2019-11-21 21:18 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表