新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC18FXX8單片機(jī)通用同步異步收發(fā)器的接口電路和C源代碼

        PIC18FXX8單片機(jī)通用同步異步收發(fā)器的接口電路和C源代碼

        作者: 時間:2012-06-01 來源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/171367.htm
        摘 要:本文介紹了Microchip公司推出的USART(串行通信)的相關(guān)內(nèi)容,給出了該模塊的和C語言應(yīng)用編程。
        0 引言
        PIC18Fxx8是美國微芯公司推出的16位RISC指令集的高級產(chǎn)品,由于芯片內(nèi)含有A/D、內(nèi)部E2PROM存儲器、I2C和SPI、CAN接口、串行通信(USART)接口等強(qiáng)大的功能,具有很好的應(yīng)用前景。但是,目前介紹其應(yīng)用和以C語言編程的中文參考資料很少。本文將探討該型單片機(jī)串行通信的編程應(yīng)用,程序用HI-TECH PICC-18 C語言編寫,并在重慶大學(xué)-美國微芯公司PIC單片機(jī)實(shí)驗(yàn)室的PIC18F458實(shí)驗(yàn)板上通過。
        1 單片機(jī)/異步(USART)
        同步/異步(USART)模塊是由內(nèi)的三個串行I/O模塊組成的器件之一(USART也叫串行通信接口即SCI),可以配置為全雙工異步方式、半雙工同步主控方式、半雙工同步從動方式三種工作方式。
        TXSTA是PIC18FXX8單片機(jī)串行通信發(fā)送狀態(tài)和控制寄存器,RCSTA是接收狀態(tài)和控制寄存器。由于在實(shí)際工程中,異步方式用得最多,這里僅介紹異步工作方式,其它方式可參閱相關(guān)資料。
        1.1 USART 異步工作方式
        在異步工作方式下,串行通信接口USART采用標(biāo)準(zhǔn)的不歸零(NRZ)格式(1位起始位、8位或9位數(shù)據(jù)位和一位停止位),最常用的數(shù)據(jù)位是8位。片內(nèi)提供的8位波特率發(fā)生器BRG可用來自振蕩器時鐘信號產(chǎn)生標(biāo)準(zhǔn)的波特率頻率。通過對SYNC位(在TXSTA寄存器中)清零,可選擇USART異步工作方式。
        1.2 USART波特率發(fā)生器(BRG)
        USART帶有一個8位的波特率發(fā)生器(BRG),這個BRG支持USRAT的同步方式和異步方式。用SPBRG寄存器控制一個獨(dú)立的8位定時器的周期。在異步方式下,BRGH位(控制寄存器TXSTA的)也被用來控制波特率。在同步方式下,用不到BRGH位。表1給出了在主控方式下(內(nèi)部時鐘)不同USART工作方式時的波特率計(jì)算式。
        表1主控方式下的波特率計(jì)算式

        SYNC

        BRGH=0(低速)
        BRGH=1(高速)
        0
        (異步)波特率=FOSC/[64(X+1)]
        波特率 = FOSC/[16(X+1)]
        1
        (同步)波特率=FOSC/[4(X+1)]

        1.3 USART 異步工作方式配置
        下面是串行通信異步工作方式配置步驟(順序可以改變):
        (1)配置發(fā)送狀態(tài)和控制寄存器TXSTA;
        (2)配置接收狀態(tài)和控制寄存器RCSTA;
        (3)配置RX(RC7引腳)、TX(RC6引腳)分別為輸入和輸出方式;
        (4)通過設(shè)定的通信波特率配置SPBRG寄存器,計(jì)算公式參見表1;
        (5)設(shè)置串行通信接收或發(fā)送中斷是否使能;
        (6)清串行通信接收或發(fā)送中斷標(biāo)志;
        (7)設(shè)置串行通信接收中斷或發(fā)送中斷的優(yōu)先級是高或低優(yōu)先級中斷方式,PIC18單片機(jī)默認(rèn)情況下是高優(yōu)先級中斷,若是低優(yōu)先級中斷,則必須進(jìn)行設(shè)置;
        (8)設(shè)置串行通信接收和發(fā)送數(shù)據(jù)是否允許。
        若用到了中斷功能,還需設(shè)置總中斷和外圍中斷使能,以開放未屏蔽的中斷。
        2 USART接口硬件

        DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY



        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 阳朔县| 玛纳斯县| 临泽县| 遂川县| 田林县| 宁安市| 阳新县| 百色市| 宿松县| 崇阳县| 泰和县| 荔波县| 开江县| 浪卡子县| 隆德县| 通州区| 丰县| 当涂县| 枣强县| 乌鲁木齐县| 敖汉旗| 宁武县| 木里| 永平县| 罗平县| 海伦市| 黄大仙区| 江门市| 青田县| 手游| 宜昌市| 大化| 漯河市| 疏附县| 义乌市| 九龙坡区| 吉林市| 太康县| 鲁山县| 阿坝县| 遵化市|