C51 COMPILER V9.59.0.0 SOFT_UART 07/19/2020 10:36:33 PAGE 1 C51 COMPILER V9.59.0.0, COMPILATION OF MODULE SOFT_UART OBJECT MODULE PLACED IN .\list\Soft_UART.obj COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Soft_UART.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\list\Sof -t_UART.lst) TABS(2) OBJECT(.\list\Soft_UART.obj) line level source 1 /*---------------------------------------------------------------------*/ 2 /* --- STC MCU Limited ------------------------------------------------*/ 3 /* --- STC 1T Series MCU Demo Programme -------------------------------*/ 4 /* --- Mobile: (86)13922805190 ----------------------------------------*/ 5 /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/ 6 /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/ 7 /* --- Web: www.STCMCU.com --------------------------------------------*/ 8 /* --- Web: www.STCMCUDATA.com ---------------------------------------*/ 9 /* --- QQ: 800003751 -------------------------------------------------*/ 10 /* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */ 11 /*---------------------------------------------------------------------*/ 12 13 /************* 功能说明 ************** 14 15 本文件为模拟串口发送程序, 一般为测试监控用. 16 17 串口参数:9600,8,n,1. 18 19 可以根据主时钟自动适应. 20 21 ******************************************/ 22 23 #include "soft_uart.h" 24 25 sbit P_TXD = P4^7; //定义模拟串口发送端,可以是任意IO 26 27 //======================================================================== 28 // 函数: void BitTime(void) 29 // 描述: 位时间函数。 30 // 参数: none. 31 // 返回: none. 32 // 版本: VER1.0 33 // 日期: 2013-4-1 34 // 备注: 35 //======================================================================== 36 void BitTime(void) 37 { 38 1 u16 i; 39 1 i = ((MAIN_Fosc / 100) * 104) / 130000L - 1; //根据主时钟来计算位时间 40 1 while(--i); 41 1 } 42 43 //======================================================================== 44 // 函数: void TxSend(uchar dat) 45 // 描述: 模拟串口发送一个字节。9600,N,8,1 46 // 参数: dat: 要发送的数据字节. 47 // 返回: none. 48 // 版本: VER1.0 49 // 日期: 2013-4-1 50 // 备注: 51 //======================================================================== 52 void TxSend(u8 dat) 53 { 54 1 u8 i; C51 COMPILER V9.59.0.0 SOFT_UART 07/19/2020 10:36:33 PAGE 2 55 1 EA = 0; 56 1 P_TXD = 0; 57 1 BitTime(); 58 1 for(i=0; i<8; i++) 59 1 { 60 2 if(dat & 1) P_TXD = 1; 61 2 else P_TXD = 0; 62 2 dat >>= 1; 63 2 BitTime(); 64 2 } 65 1 P_TXD = 1; 66 1 EA = 1; 67 1 BitTime(); 68 1 BitTime(); 69 1 } 70 71 //======================================================================== 72 // 函数: void PrintString(unsigned char code *puts) 73 // 描述: 模拟串口发送一串字符串。9600,N,8,1 74 // 参数: *puts: 要发送的字符指针. 75 // 返回: none. 76 // 版本: VER1.0 77 // 日期: 2013-4-1 78 // 备注: 79 //======================================================================== 80 void PrintString(unsigned char code *puts) 81 { 82 1 for (; *puts != 0; puts++) TxSend(*puts); 83 1 } 84 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 89 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)