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

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

QQ登錄

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

搜索
查看: 4135|回復(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ù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频区 | 精品国产乱码久久久久久丨区2区 | 超碰97人人人人人蜜桃 | 天天艹日日干 | 国产精品久久久久久久久久久免费看 | 免费国产视频在线观看 | 成人一区二区三区在线观看 | 免费在线观看一区二区三区 | 中文字幕一区二区三区不卡 | 久久久精品综合 | 久久一区二区视频 | 黄色av网站免费看 | 黑人巨大精品欧美一区二区免费 | 一级片免费在线观看 | 羞羞在线观看视频 | 欧美成人免费在线视频 | 久久久久国产精品午夜一区 | 婷婷久久五月 | 免费黄色在线 | 一级毛片免费视频观看 | 久久久蜜桃一区二区人 | 国产ts人妖一区二区三区 | 精品视频在线免费观看 | 日韩免费在线视频 | 国产中文字幕网 | 精品中文字幕视频 | 天天干天天玩天天操 | 99免费在线观看 | 成人在线观看欧美 | 久久精品视频91 | 成人在线小视频 | 精品一区在线 | 久久国产精品视频 | 国产精品免费观看 | 在线激情视频 | 欧美黄 片免费观看 | 91精品国产综合久久久久久丝袜 | 综合色久 | 午夜精品久久久久久久久久久久 | 欧美二区三区 | 色吧综合 |