久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4167|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

移植簡(jiǎn)單軟件串口打印函數(shù) STC單片機(jī)串口助手的hex轉(zhuǎn)換成文本模式

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:342442 發(fā)表于 2018-10-19 14:15 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
為了確保移植成功,有必要在 "soft_uart.h"的文件下進(jìn)行以下步驟的更改:
                |
                |
                |
                V

/********************特別注意***************************/
該軟件串口打印可以定義任何一個(gè)IO口輸出數(shù)據(jù)
波特率固定為9600
該軟件串口只適用與15系列的單片機(jī)
/********************特別注意***************************/

1.先將頭文件和點(diǎn)C文件添加到你需要添加的文件中如:
#include    "soft_uart.c"
#include    "soft_uart.h"

2.打開(kāi)soft_uart.h文件,因?yàn)椴煌南到y(tǒng)時(shí)鐘不同,需要在soft_uart.h文件中配置為相應(yīng)的主時(shí)鐘,這里因?yàn)槲业某绦蚴?1.0592進(jìn)行了二分頻,所以我選擇5529600L,用戶(hù)根據(jù)自己的配置進(jìn)行相應(yīng)的選擇。

//#define MAIN_Fosc        22118400L    //定義主時(shí)鐘
//#define MAIN_Fosc        12000000L    //定義主時(shí)鐘
//#define MAIN_Fosc        11059200L    //定義主時(shí)鐘
#define MAIN_Fosc         5529600L    //定義主時(shí)鐘
//#define MAIN_Fosc        24000000L    //定義主時(shí)鐘

/*********************************************************/
3.還需要根據(jù)芯片的型號(hào)進(jìn)行更改頭文件。
//#include    "STC15Fxxxx.H"
#include    "STC15F2K60S2.h"

單片機(jī)源程序如下:

  1. /*************        功能說(shuō)明        **************

  2. 本文件為模擬串口發(fā)送程序, 一般為測(cè)試監(jiān)控用.

  3. 串口參數(shù):9600,8,n,1.

  4. 可以根據(jù)主時(shí)鐘自動(dòng)適應(yīng).

  5. ******************************************/

  6. #include        "soft_uart.h"

  7. sbit        P_TXD = P3^1;        //定義模擬串口發(fā)送端,可以是任意IO

  8. //========================================================================
  9. // 函數(shù): void        BitTime(void)
  10. // 描述: 位時(shí)間函數(shù)。
  11. // 參數(shù): none.
  12. // 返回: none.
  13. // 版本: VER1.0
  14. // 日期: 2013-4-1
  15. // 備注:
  16. //========================================================================
  17. void        BitTime(void)
  18. {
  19.         u16 i;
  20.         i = ((MAIN_Fosc / 100) * 104) / 130000L - 1;                //根據(jù)主時(shí)鐘來(lái)計(jì)算位時(shí)間
  21.         while(--i);
  22. }

  23. //========================================================================
  24. // 函數(shù): void        TxSend(uchar dat)
  25. // 描述: 模擬串口發(fā)送一個(gè)字節(jié)。9600,N,8,1
  26. // 參數(shù): dat: 要發(fā)送的數(shù)據(jù)字節(jié).
  27. // 返回: none.
  28. // 版本: VER1.0
  29. // 日期: 2013-4-1
  30. // 備注:
  31. //========================================================================
  32. void        TxSend(u8 dat)
  33. {
  34.         u8        i;
  35.         EA = 0;
  36.         P_TXD = 0;
  37.         BitTime();
  38.         for(i=0; i<8; i++)
  39.         {
  40.                 if(dat & 1)                P_TXD = 1;
  41.                 else                        P_TXD = 0;
  42.                 dat >>= 1;
  43.                 BitTime();
  44.         }
  45.         P_TXD = 1;
  46.         EA = 1;
  47.         BitTime();
  48.         BitTime();
  49. }

  50. //========================================================================
  51. // 函數(shù): void PrintString(unsigned char code *puts)
  52. // 描述: 模擬串口發(fā)送一串字符串。9600,N,8,1
  53. // 參數(shù): *puts: 要發(fā)送的字符指針.
  54. // 返回: none.
  55. // 版本: VER1.0
  56. // 日期: 2013-4-1
  57. // 備注:
  58. //========================================================================
  59. void PrintString(unsigned char code *puts)
  60. {
  61.     for (; *puts != 0;        puts++)  TxSend(*puts);
  62. }
  63. void   printdec_soft(int dec) //打印十進(jìn)制的數(shù)據(jù)出來(lái)
  64. {       
  65.    char buff_numb[5]={0},i=0,j;
  66.         if(dec==0)
  67.     {          
  68.             TxSend( (char)( '0'));//48         
  69.                 TxSend( (char)('\r'));
  70.              TxSend( (char)('\n'));
  71.     }
  72.          else
  73.          {
  74.                 while(dec!=0)
  75.                 {
  76.                         buff_numb[i++]=dec%10;  //從個(gè)位開(kāi)始讀入
  77.                         dec=dec/10;
  78.                 }
  79.                 for(j=i-1;j>=0;j--)
  80.                 {
  81.                         TxSend( (char)(buff_numb[j] + '0'));//48
  82.                 }
  83.                 TxSend( (char)('\r'));
  84.                 TxSend( (char)('\n'));
  85.         }
  86. }

  87. void   printdec_softtm(int dec) //打印十進(jìn)制的數(shù)據(jù)出來(lái)
  88. {       
  89.    char buff_numb[5]={0},i=0,j;
  90.         if(dec==0)
  91.     {
  92.             TxSend( (char)( '0'));//48         
  93.     }
  94.          else
  95.          {
  96.                 while(dec!=0)
  97.                 {
  98.                         buff_numb[i++]=dec%10;  //從個(gè)位開(kāi)始讀入
  99.                         dec=dec/10;
  100.                 }
  101.                 for(j=i-1;j>=0;j--)
  102.                 {
  103.                         TxSend( (char)(buff_numb[j] + '0'));//48
  104.                 }
  105.         }
  106. }
復(fù)制代碼

全部資料51hei下載地址:
移植簡(jiǎn)單軟件串口打印函數(shù).zip (2.15 KB, 下載次數(shù): 13)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产91久久精品一区二区 | 特一级毛片 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 99久久日韩精品免费热麻豆美女 | 国产精品乱码一区二区三区 | 日韩欧美一区二区三区在线播放 | 国产精品久久久久久久久免费丝袜 | 国内自拍偷拍视频 | 一区二区精品视频 | 国产在线中文字幕 | 欧美一区二区三区免费在线观看 | 久久精品无码一区二区三区 | 毛片a区 | 国产美女视频一区 | 伊人亚洲| 国产精品一区二区在线播放 | 精品一区在线免费观看 | 欧美a区 | 国产高清精品一区二区三区 | 99九九久久| 中文字幕在线观看一区二区 | 久久久国产精品 | 亚洲精品久久久蜜桃 | 日本一区二区三区精品视频 | 精品久久中文 | av天天看| 欧美激情国产日韩精品一区18 | 在线播放国产一区二区三区 | 99伊人| 国产成人精品视频在线观看 | 国产精品夜夜夜一区二区三区尤 | 国产精品自拍视频 | 久久精品女人天堂av | 久久在看 | 日日干干 | 国产成人一区二区三区精 | 日日摸夜夜添夜夜添精品视频 | 欧美中文字幕在线观看 | 中文字幕国产一区 | 狠狠色狠狠色综合系列 | 在线不卡视频 |