新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT90S8515的串行通信及其應用

        基于AT90S8515的串行通信及其應用

        作者: 時間:2011-01-30 來源:網絡 收藏

        位3———OR:超越出錯,當UDR寄存器的數據沒有在新的數據被移入到接收移位寄存器之前被讀走,該位置1,即OR位被緩沖。意味著移入移位寄存器的最后數據字節不能被送到UDR中而丟失。

          1.2.3 波特率發生器

          依據以下等式的分頻器產生波特率: BAUD=f/[16(UBRR+1)]

          BAUD表示波特率,f為晶振頻率;UBRR表示UART波特率寄存器的值(0~255)。例如,波特率確定為9600波特時,選用標準的晶振頻率1.8432MHz(誤差為0),則可計算出UBRR的初始化值為11;波特率確定為9600波特時選用晶振頻率為3.6864MHz,UBRR的初始化值為23。

          2 AT90S8515與上位PC機的串行通信應用

          2.1 與上位PC機的硬件連接

          AT90S8515與上位PC機通信采用RS485總線,通過RS-485接收/發送器連接,使用MAXIM公司的MAX3080CPD芯片,為了使電磁干擾及終端末匹配的連接所產生的反射最小,MAX3080適合速率為115Kbps以下的應用,而且具有平衡發送,差分接收,抑制共模干擾和故障保護的特點,適合遠距離傳送。為提高系統可靠性,在MAX3080與CPU之間還可增加光電耦合器6N137,更好地與上位機電氣隔離。硬件連接原理圖如圖1所示。

        硬件連接原理圖

          2.2 與PC機的串行通信軟件設計

          應用AT90S8515的串行接口UART與PC機進行串行通信軟件設計可以采用中斷接受與查詢發送的方式,通過判斷UART中的UDR發送數據寄存器是否為空決定是否發送,并激活接收完成中斷。

          下面的程序采用查詢方式向上位PC機發送數據,采用中斷方式接收數據,字符數據位為8位,接受數據塊將包含數據幀幀頭及幀尾(各占一個字節),還有符合本節點的標識碼(地址),從而提高數據接收的安全性及可靠性,并適合多個AVR微控制器與PC機通信。

          選用標準的晶振頻率3.864MHz(誤差為0),波特率確定為19200波特,且用PD7引腳控制MAX3080發送的開啟與關閉。

        程序

        程序

        程序

        程序



        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泗洪县| 碌曲县| 双城市| 临邑县| 肃宁县| 蓬溪县| 五华县| 岗巴县| 高雄市| 深州市| 繁峙县| 闽清县| 湖州市| 晋江市| 铜山县| 抚松县| 高阳县| 阿合奇县| 长武县| 始兴县| 谷城县| 乌兰浩特市| 延边| 陆丰市| 安泽县| 长寿区| 和林格尔县| 白玉县| 会昌县| 阿克陶县| 大庆市| 叶城县| 阳泉市| 彝良县| 南投市| 江阴市| 长泰县| 峨眉山市| 许昌市| 洛隆县| 保山市|