浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 單 片 機(jī)

PC機(jī)與單片機(jī)的通訊

發(fā)布時(shí)間:2008/8/19 0:00:00 訪問(wèn)次數(shù):719

  大多數(shù)的電腦設(shè)備都具有rs-232c接口,盡管它的性能指標(biāo)并非很好。在廣泛的市場(chǎng)支持下依然常勝不衰。

  就使用而言,rs-232也確實(shí)有其優(yōu)勢(shì):僅需3根線便可在兩個(gè)數(shù)字設(shè)備之間全雙工的傳送數(shù)據(jù)。不過(guò),rs-232c的控制要比使用并行通訊的打印機(jī)接口更難于控制。rs-232c使用了遠(yuǎn)較并行口更多的寄存器。這些寄存器用來(lái)實(shí)現(xiàn)串行數(shù)據(jù)的傳送及rs-232c設(shè)備之間的握手與流量控制。本文將分別描述pc機(jī)及單片機(jī)mcs-51的串行通訊的原理及具體的軟件設(shè)計(jì)。

  rs-232c介紹與pc硬件
  使用查詢方法的串行通訊程序設(shè)計(jì)
  使用中斷的串行通訊程序設(shè)計(jì)
  mcs-51串行通訊

  關(guān)于rs485

 。1)rs-232c介紹與pc硬件:

  rs-232c使用-3到-25v表示數(shù)字“1”,使用3v到25v表示數(shù)字“0”,rs-232c在空閑時(shí)處于邏輯“1”狀態(tài),在開(kāi)始傳送時(shí),首先產(chǎn)生一起始位,起始位為一個(gè)寬度的邏輯“0”,緊隨其后為所要傳送的數(shù)據(jù),所要傳送的數(shù)據(jù)有最低位開(kāi)始依此送出,并以一個(gè)結(jié)束位標(biāo)志該字節(jié)傳送結(jié)束,結(jié)束位為一個(gè)寬度的邏輯“1”狀態(tài)。
  
  pc機(jī)一般使用8250或16550作為串行通訊的控制器,使用9針或25針的接插件將串行口的信號(hào)送出。

該插座的信號(hào)定義如下:
db-25db-9信號(hào)名稱方向含 義
23txd輸出數(shù)據(jù)發(fā)送端
32rxd輸入數(shù)據(jù)接收端
47rts輸出請(qǐng)求發(fā)送(計(jì)算機(jī)要求發(fā)送數(shù)據(jù))
58cts輸入清除發(fā)送(modem準(zhǔn)備接收數(shù)據(jù))
66dsr輸入數(shù)據(jù)設(shè)備準(zhǔn)備就緒
75sg-信號(hào)地
81dcd輸入數(shù)據(jù)載波檢測(cè)
204dtr輸出數(shù)據(jù)終端準(zhǔn)備就緒(計(jì)算機(jī))
229ri輸入響鈴指示
 
  以上信號(hào)在通訊過(guò)程之中可能會(huì)被全部或部分使用,最簡(jiǎn)單的通訊僅需txd及rxd及sg即可完成,其他的握手信號(hào)可以做適當(dāng)處理或直接懸空,至于是否可以懸空這視乎你的通訊軟件。比如說(shuō),如果使用dos所提供的bios通訊驅(qū)動(dòng)程序,那么,這些握手信號(hào)則需要做如下處理,因?yàn)閎ios的通訊驅(qū)動(dòng)使用了這些信號(hào)。如果使用自己編寫的串行驅(qū)動(dòng)程序則可以完全不使用這些握手信號(hào)(詳見(jiàn)下面有關(guān)章節(jié))。

  pc機(jī)一般使用8250或16550的作為串行通訊控制器,8250及16550的管腳排列如下:

  8250(16550)的寄存器如下表所示:
基地址讀/寫寄存器縮寫注 釋
0write-發(fā)送保持寄存器(dlab=0)
0read-接收數(shù)據(jù)寄存器(dlab=0)
0read/write-波特率低八位(dlab=1)
1read/writeier中斷允許寄存器
1read/write-波特率高八位(dlab=1)
2readiir中斷標(biāo)識(shí)寄存器
2writefcrfifo控制寄存器
3read/writelcr線路控制寄存器
4read/writemcrmodem控制寄存器
5readlsr線路狀態(tài)寄存器
6readmsrmodem狀態(tài)寄存器
7read/write-scratch register

pc機(jī)支持1-4個(gè)串行口,即com1-com4,其基地址在bios數(shù)據(jù)區(qū)0000:0400-0000:0406中描述,對(duì)應(yīng)地址分別為3f8/2f8/3e8/2e8,com1及com3使用pc機(jī)中斷4,com2及com4使用中斷3。
  
  在上表中,8250共有12個(gè)寄存器,使用了8個(gè)地址,其中部分寄存器共用一個(gè)地址,由dlab=0/1來(lái)區(qū)分,在dlab=1用于設(shè)定通訊所需的波特率。常用的波特率參數(shù)見(jiàn)下表:
 
速率(bps)波特率高八位波特率低八位
  5009h00h
  30001h80h
  60000hc0h
  240000h30h
  480000h18h
  960000h0ch
  1920000h06h
  3840000h03h
  5760000h02h
  11520000h01h

  以下幾個(gè)表格為8250的寄存器的功能描述:
  中斷允許寄存器(ier):
  位注 釋
  7未使用
  6未使用
  5進(jìn)入低功耗模式(16750)
  4進(jìn)入睡眠模式(16750)
  3允許modem狀態(tài)中斷
  2允許接收線路狀態(tài)中斷
  1允許發(fā)送保持器空中斷
  0允許接收數(shù)據(jù)就緒中斷

  bit0置1將允許接收到數(shù)據(jù)時(shí)產(chǎn)生中斷,bit1置1時(shí)允許發(fā)送保持寄存器空時(shí)產(chǎn)生中斷,bit2置1將在lsr變化時(shí)產(chǎn)生中斷,相應(yīng)的bit3置位將在msr變化時(shí)產(chǎn)生中斷。
  中斷識(shí)別寄存器(iir):
  位注 釋
  bit6:7=00無(wú)fifo
  bit6:7=01允許fifo,但不可用
  bit6:7=11允許fifo
  bit5允許64字節(jié)fifo(16750)
  bit4未使用
  bit316550超時(shí)中斷
  bit2:1=00modem狀態(tài)中斷(cts/ri/dtr/dcd)
  bit2:1=01發(fā)送保持寄存器空中斷
  bit2:1=10接收數(shù)據(jù)就緒中斷
  bit2:1=11接收線路狀態(tài)中斷
  bit0=0有中斷產(chǎn)生
  bit0=1無(wú)中斷產(chǎn)生

  iir為只讀寄存器,bit6:7用來(lái)指示fifo的狀態(tài),均為0時(shí)則無(wú)fifo,此時(shí)為8250或16450芯片,為01時(shí)有fifo但不可以使用,為11時(shí)fifo有效并可以正常工作。bit3用來(lái)指示超時(shí)中斷(16550/16750)。
  
  bit0用來(lái)指示是否有中斷發(fā)生,bit1:2標(biāo)識(shí)具體的中斷類型,這些中斷具有不同的優(yōu)先級(jí)別,其中l(wèi)sr中

  大多數(shù)的電腦設(shè)備都具有rs-232c接口,盡管它的性能指標(biāo)并非很好。在廣泛的市場(chǎng)支持下依然常勝不衰。

  就使用而言,rs-232也確實(shí)有其優(yōu)勢(shì):僅需3根線便可在兩個(gè)數(shù)字設(shè)備之間全雙工的傳送數(shù)據(jù)。不過(guò),rs-232c的控制要比使用并行通訊的打印機(jī)接口更難于控制。rs-232c使用了遠(yuǎn)較并行口更多的寄存器。這些寄存器用來(lái)實(shí)現(xiàn)串行數(shù)據(jù)的傳送及rs-232c設(shè)備之間的握手與流量控制。本文將分別描述pc機(jī)及單片機(jī)mcs-51的串行通訊的原理及具體的軟件設(shè)計(jì)。

  rs-232c介紹與pc硬件
  使用查詢方法的串行通訊程序設(shè)計(jì)
  使用中斷的串行通訊程序設(shè)計(jì)
  mcs-51串行通訊

  關(guān)于rs485

 。1)rs-232c介紹與pc硬件:

  rs-232c使用-3到-25v表示數(shù)字“1”,使用3v到25v表示數(shù)字“0”,rs-232c在空閑時(shí)處于邏輯“1”狀態(tài),在開(kāi)始傳送時(shí),首先產(chǎn)生一起始位,起始位為一個(gè)寬度的邏輯“0”,緊隨其后為所要傳送的數(shù)據(jù),所要傳送的數(shù)據(jù)有最低位開(kāi)始依此送出,并以一個(gè)結(jié)束位標(biāo)志該字節(jié)傳送結(jié)束,結(jié)束位為一個(gè)寬度的邏輯“1”狀態(tài)。
  
  pc機(jī)一般使用8250或16550作為串行通訊的控制器,使用9針或25針的接插件將串行口的信號(hào)送出。

該插座的信號(hào)定義如下:
db-25db-9信號(hào)名稱方向含 義
23txd輸出數(shù)據(jù)發(fā)送端
32rxd輸入數(shù)據(jù)接收端
47rts輸出請(qǐng)求發(fā)送(計(jì)算機(jī)要求發(fā)送數(shù)據(jù))
58cts輸入清除發(fā)送(modem準(zhǔn)備接收數(shù)據(jù))
66dsr輸入數(shù)據(jù)設(shè)備準(zhǔn)備就緒
75sg-信號(hào)地
81dcd輸入數(shù)據(jù)載波檢測(cè)
204dtr輸出數(shù)據(jù)終端準(zhǔn)備就緒(計(jì)算機(jī))
229ri輸入響鈴指示
 
  以上信號(hào)在通訊過(guò)程之中可能會(huì)被全部或部分使用,最簡(jiǎn)單的通訊僅需txd及rxd及sg即可完成,其他的握手信號(hào)可以做適當(dāng)處理或直接懸空,至于是否可以懸空這視乎你的通訊軟件。比如說(shuō),如果使用dos所提供的bios通訊驅(qū)動(dòng)程序,那么,這些握手信號(hào)則需要做如下處理,因?yàn)閎ios的通訊驅(qū)動(dòng)使用了這些信號(hào)。如果使用自己編寫的串行驅(qū)動(dòng)程序則可以完全不使用這些握手信號(hào)(詳見(jiàn)下面有關(guān)章節(jié))。

  pc機(jī)一般使用8250或16550的作為串行通訊控制器,8250及16550的管腳排列如下:

  8250(16550)的寄存器如下表所示:
基地址讀/寫寄存器縮寫注 釋
0write-發(fā)送保持寄存器(dlab=0)
0read-接收數(shù)據(jù)寄存器(dlab=0)
0read/write-波特率低八位(dlab=1)
1read/writeier中斷允許寄存器
1read/write-波特率高八位(dlab=1)
2readiir中斷標(biāo)識(shí)寄存器
2writefcrfifo控制寄存器
3read/writelcr線路控制寄存器
4read/writemcrmodem控制寄存器
5readlsr線路狀態(tài)寄存器
6readmsrmodem狀態(tài)寄存器
7read/write-scratch register

pc機(jī)支持1-4個(gè)串行口,即com1-com4,其基地址在bios數(shù)據(jù)區(qū)0000:0400-0000:0406中描述,對(duì)應(yīng)地址分別為3f8/2f8/3e8/2e8,com1及com3使用pc機(jī)中斷4,com2及com4使用中斷3。
  
  在上表中,8250共有12個(gè)寄存器,使用了8個(gè)地址,其中部分寄存器共用一個(gè)地址,由dlab=0/1來(lái)區(qū)分,在dlab=1用于設(shè)定通訊所需的波特率。常用的波特率參數(shù)見(jiàn)下表:
 
速率(bps)波特率高八位波特率低八位
  5009h00h
  30001h80h
  60000hc0h
  240000h30h
  480000h18h
  960000h0ch
  1920000h06h
  3840000h03h
  5760000h02h
  11520000h01h

  以下幾個(gè)表格為8250的寄存器的功能描述:
  中斷允許寄存器(ier):
  位注 釋
  7未使用
  6未使用
  5進(jìn)入低功耗模式(16750)
  4進(jìn)入睡眠模式(16750)
  3允許modem狀態(tài)中斷
  2允許接收線路狀態(tài)中斷
  1允許發(fā)送保持器空中斷
  0允許接收數(shù)據(jù)就緒中斷

  bit0置1將允許接收到數(shù)據(jù)時(shí)產(chǎn)生中斷,bit1置1時(shí)允許發(fā)送保持寄存器空時(shí)產(chǎn)生中斷,bit2置1將在lsr變化時(shí)產(chǎn)生中斷,相應(yīng)的bit3置位將在msr變化時(shí)產(chǎn)生中斷。
  中斷識(shí)別寄存器(iir):
  位注 釋
  bit6:7=00無(wú)fifo
  bit6:7=01允許fifo,但不可用
  bit6:7=11允許fifo
  bit5允許64字節(jié)fifo(16750)
  bit4未使用
  bit316550超時(shí)中斷
  bit2:1=00modem狀態(tài)中斷(cts/ri/dtr/dcd)
  bit2:1=01發(fā)送保持寄存器空中斷
  bit2:1=10接收數(shù)據(jù)就緒中斷
  bit2:1=11接收線路狀態(tài)中斷
  bit0=0有中斷產(chǎn)生
  bit0=1無(wú)中斷產(chǎn)生

  iir為只讀寄存器,bit6:7用來(lái)指示fifo的狀態(tài),均為0時(shí)則無(wú)fifo,此時(shí)為8250或16450芯片,為01時(shí)有fifo但不可以使用,為11時(shí)fifo有效并可以正常工作。bit3用來(lái)指示超時(shí)中斷(16550/16750)。
  
  bit0用來(lái)指示是否有中斷發(fā)生,bit1:2標(biāo)識(shí)具體的中斷類型,這些中斷具有不同的優(yōu)先級(jí)別,其中l(wèi)sr中

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

硬盤式MP3播放器終級(jí)改
    一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!