一個串口收發程序
0.png (55.01 KB, 下載次數: 129)
下載附件
2017-6-6 03:43 上傳
單片機源程序如下:
- /*****************************************************************************
- ************** 大學生電器開發部 -- E.D.D ***************************
- *****************************************************************************
- * 適用于電器開發部12級學習板,STC12@32M晶振
- * File name: usart.c
- * Author: E.D.D
- * Date: 2016-1-20
- * Version: V2.0
- * Description: 串口相關函數說明
- * Copyright (C) E.D.D -- HPU
- *****************************************************************************/
-
- #include "uart.h"
- uint16 ReceiveBuff = 0;
- /**
- * 函數名稱:UartInit
- * 函數參數:無
- * 函數功能:Uart 初始化并開中斷
- * 日期:2016-1-20
- */
- void UartInit(void) //9600bps@32MHz
- {
- PCON &= 0x7F; //波特率不倍速
- SCON = 0x50; //8位數據,可變波特率
- AUXR |= 0x04; //獨立波特率發生器時鐘為Fosc,即1T
- BRT = 0x98; //設定獨立波特率發生器重裝值
- AUXR |= 0x01; //串口1選擇獨立波特率發生器為波特率發生器
- AUXR |= 0x10; //啟動獨立波特率發生器
-
- ES = 1;
- }
- /**
- * 函數名稱:MessageInit
- * 函數參數:無
- * 函數功能:消息處理 初始化
- * 日期:2016-1-20
- */
- void MessageInit(void)
- {
- UartSendString("Uart_test is OK \r\n");
- }
- /**
- * 函數名稱:UartSendByte
- * 函數參數:一個字節的數據
- * 函數功能:串口發送一個字節
- * 日期:2016-1-20
- */
- void UartSendByte(uint8 byte)
- {
- SBUF = byte;
- while(!TI);
- TI = 0;
- }
- /**
- * 函數名稱:UartSendString
- * 函數參數:一個字符串
- * 函數功能:串口發送一個字符串
- * 日期:2016-1-20
- */
- void UartSendString(uint8 *string)
- {
- while(*string)
- {
- UartSendByte(*string++);
- }
- }
- /**
- * 函數名稱:DealReceiveData
- * 函數參數:無
- * 函數功能:串口接受數據處理
- * 日期:2016-1-20
- */
- void DealReceiveData(void)
- {
- if(ReceiveBuff == 1)
- {
- P13 = ~P13;
- }
- else
- {
- UartSendByte(ReceiveBuff);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
1.串口收發.zip
(64.36 KB, 下載次數: 210)
2017-6-5 12:21 上傳
點擊文件名下載附件
串口程序 下載積分: 黑幣 -5
|