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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片計(jì)算機(jī)串口開發(fā)詳解

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70941 發(fā)表于 2014-12-26 00:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一.51單片計(jì)算機(jī)串口結(jié)構(gòu)圖如下:


二. SCON 是一個(gè)特殊功能寄存器說明:
         用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志


        各位功能如下:
        SM0和SM1 為工作方式選擇位
   

        SM2,多機(jī)通信控制位,主要用于方式2和方式3。當(dāng)接收機(jī)的SM2=1時(shí)可以利用收到的RB8來控制是否激活RI(RB8=0時(shí)不激活RI,收到的信息丟棄;RB8=1時(shí)收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時(shí),不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時(shí)RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。
在方式0時(shí),SM2必須是0。在方式1時(shí),若SM2=1,則只有接收到有效停止位時(shí),RI才置1。
        REN,允許串行接收位。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。
        TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。
在方式0和方式1中,該位未用。
        RB8,在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。
        TI,發(fā)送中斷標(biāo)志位。在方式0時(shí),當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請。
        RI,接收中斷標(biāo)志位。在方式0時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請。

三.串口開發(fā)例程,下面程式實(shí)現(xiàn)向單片機(jī)發(fā)關(guān)信息后,它收完后再返回送回來。

#include<reg52.h>
unsigned  char flag,a;
void main()
{

   TMOD=0x20; //設(shè)置定時(shí)器1為工作方式2,串口是靠在、定時(shí)器工作的
   TH1=0xfd;
   TL1 =0xfd; //裝串口初值,設(shè)置串口波特率9600,計(jì)算出來的
   TR1=1;//打開定時(shí)器

   REN=1;  // 打開串口允許位
   SM0=0;
   SM1=1;//設(shè)置串口工作方式1
   EA=1;  //打開總中斷
   ES=1;  //打開串口中斷
   
   while(1)
   {
        if (RI==1)  //這個(gè)是用來讀取到P1口
       {
         RI=0;
         P1=SBUF:
       }


        if(flag==1)   //表明串口收到的數(shù)據(jù)可以用來發(fā)送
        {
          ES=0;  //防止TI進(jìn)入串口中斷關(guān)串口中斷
          flag=0;
          SBUF=a; //向發(fā)送SBUF送a
          while(!TI); //等待 發(fā)送結(jié)束。未發(fā)送結(jié)束之前T1一直是0
          TI=0;      // 通過軟件將TI置0防止中斷后進(jìn)入中斷服務(wù)程序
          ES=1;
         }
   }
}
void ser() interrupt 4  
{
   RI=0;
   P1=SBUF;
   a=SBUF;
   flag=1;
}

附:max232芯片接線圖

max 232 內(nèi)部合并了MC1488和MC1489能夠?qū)崿F(xiàn)TTL電平和232電平的雙向轉(zhuǎn)換


除了232接口外還有其它的接口,都有自己不同的特性



           RS-485是一點(diǎn)對多點(diǎn)的通信接口,一般采用雙絞線的結(jié)構(gòu)。普通的PC機(jī)一般不帶RS485接口,因此要使用RS-232C/RS-485轉(zhuǎn)換器。對于單片機(jī)可以通過芯片MAX485來完成TTL/RS-485的電平轉(zhuǎn)換。在計(jì)算機(jī)和單片機(jī)組成的RS-485通信系統(tǒng)中,下位機(jī)由單片機(jī)系統(tǒng)組成,上位機(jī)為普通的PC機(jī),負(fù)責(zé)監(jiān)視下位機(jī)的運(yùn)行狀態(tài),并對其狀態(tài)信息進(jìn)行集中處理,以圖文方式顯示下位機(jī)的工作狀態(tài)以及工業(yè)現(xiàn)場被控設(shè)備的工作狀況。系統(tǒng)中各節(jié)點(diǎn)(包括上位機(jī))的識別是通過設(shè)置不同的站地址來實(shí)現(xiàn)的。

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

使用道具 舉報(bào)

沙發(fā)
ID:60673 發(fā)表于 2014-12-27 22:21 | 只看該作者
值得擁有
回復(fù)

使用道具 舉報(bào)

板凳
ID:71354 發(fā)表于 2014-12-30 11:45 | 只看該作者
很詳細(xì)的資料,謝謝分享
回復(fù)

使用道具 舉報(bào)

地板
ID:71354 發(fā)表于 2014-12-30 11:51 | 只看該作者
經(jīng)過驗(yàn)證,程序可用
回復(fù)

使用道具 舉報(bào)

5#
ID:11942 發(fā)表于 2015-1-7 13:14 | 只看該作者
詳細(xì)的資料,謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:28571 發(fā)表于 2015-4-16 20:28 | 只看該作者
好東西,學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報(bào)

7#
ID:79943 發(fā)表于 2015-5-15 10:22 | 只看該作者
    SM2,多機(jī)通信控制位,主要用于方式2和方式3。當(dāng)接收機(jī)的SM2=1時(shí)可以利用收到的RB8來控制是否激活RI(RB8=0時(shí)不激活RI,收到的信息丟棄;RB8=1時(shí)收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時(shí),不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時(shí)RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。
在方式0時(shí),SM2必須是0。在方式1時(shí),若SM2=1,則只有接收到有效停止位時(shí),RI才置1。
        REN,允許串行接收位。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。
        TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。
在方式0和方式1中,該位未用。
        RB8,在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。
        TI,發(fā)送中斷標(biāo)志位。在方式0時(shí),當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請。
        RI,接收中斷標(biāo)志位。在方式0時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請。
回復(fù)

使用道具 舉報(bào)

8#
ID:89610 發(fā)表于 2015-12-24 11:45 | 只看該作者
很好的帖子
回復(fù)

使用道具 舉報(bào)

9#
ID:74145 發(fā)表于 2016-3-17 23:11 | 只看該作者
很好的帖子   幫助很大
回復(fù)

使用道具 舉報(bào)

10#
ID:109441 發(fā)表于 2016-3-18 00:34 | 只看該作者
很好的帖子   幫助很大很好的帖子   幫助很大
回復(fù)

使用道具 舉報(bào)

11#
ID:135676 發(fā)表于 2016-9-1 15:11 | 只看該作者
我用這個(gè)程序在我的實(shí)驗(yàn)板上調(diào)試,可以通過,但燒入單片機(jī)運(yùn)行,串口無顯示,為何?
回復(fù)

使用道具 舉報(bào)

12#
ID:3802 發(fā)表于 2019-1-25 10:52 | 只看該作者
值得擁有
回復(fù)

使用道具 舉報(bào)

13#
ID:860602 發(fā)表于 2021-1-9 21:07 | 只看該作者
RS-485還要在終端接120歐姆電阻,防止信號反射
回復(fù)

使用道具 舉報(bào)

14#
ID:299193 發(fā)表于 2021-2-17 15:50 | 只看該作者
真是個(gè)好貼,我正好在學(xué)習(xí),謝謝!
回復(fù)

使用道具 舉報(bào)

15#
ID:513213 發(fā)表于 2021-2-20 23:20 | 只看該作者
很詳細(xì)的資料,謝謝分享
回復(fù)

使用道具 舉報(bào)

16#
ID:47634 發(fā)表于 2021-2-22 10:44 | 只看該作者
感謝樓主,很好的學(xué)習(xí)資料
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av日韩高清| 青青草视频免费观看 | 精品伦精品一区二区三区视频 | 日韩精品一二三 | 成人高潮片免费视频欧美 | 亚洲码欧美码一区二区三区 | 成人在线视频免费观看 | 青青草这里只有精品 | 北条麻妃一区二区三区在线视频 | 久久国产精品无码网站 | 精品一区二区三区四区 | 琪琪午夜伦伦电影福利片 | 福利精品 | 中文字幕一区二区三区不卡在线 | 日本一区二区三区四区 | 欧美日韩在线观看视频网站 | 国产激情一区二区三区 | 蜜桃在线播放 | 久久久精品高清 | 九九热re| 亚洲国产一区二区三区在线观看 | 美国一级黄色片 | www.伊人.com | 一区二区成人 | 欧美aaaa视频 | 亚洲精品乱码久久久久久9色 | 欧美日韩亚洲一区 | 亚洲精品一区二区三区免 | 中文在线播放 | 国产精品免费一区二区三区 | 99在线资源 | 日韩精品一区二区三区视频播放 | 国产精品高潮呻吟久久久久 | 亚洲一区二区三区在线播放 | www.亚洲精品 | 久久综合亚洲 | 国产亚洲欧美在线视频 | 久久国产三级 | 日韩激情视频一区 | 欧美精品久久久 | 中文字幕一区二区三区四区五区 |