<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 分時(shí)操作系統思想在單片機中的實(shí)現

分時(shí)操作系統思想在單片機中的實(shí)現

作者: 時(shí)間:2010-12-28 來(lái)源:網(wǎng)絡(luò ) 收藏

 2.作業(yè)流程

  為了能實(shí)現8路分時(shí)工作,最主要的工作是將這一過(guò)程細分成一個(gè)個(gè)作業(yè)。筆者通過(guò)設計把它分成8個(gè)作業(yè),各作業(yè)的流程如圖2所示。 以上每一作業(yè)返回后,“路”指針自動(dòng)加1,到8后回到0,以保證分時(shí)工作合理。

分時(shí)操作系統思想在單片機編程中的實(shí)現

  3.幾點(diǎn)技巧

  8路電話(huà)信息采集卡的編程中,為了使程序更精練,筆者應用以下3個(gè)技巧:

  ?、? 因為這8路的工作是相同的,程序可以共用,只須再構造1“路”地址表,每一表項含有本路的輸入鎖存器地址、輸出鎖存器地址、DTMF碼存放RAM地址、計 時(shí)單元地址。這樣可以省掉“路”調度表,因為各路相同作業(yè)的入口地址是相同的。根據“路”指針的不同,帶入該“路”的地址表項,即可用相同的程序對8路分 別控制操作。

 ?、? 定時(shí)器中斷設置成4ms一次,這是因為電話(huà)振鈴是25Hz,檢測腳保持低電平的時(shí)間為10ms,它是最低的計時(shí)值。當振鈴檢測腳低電平保持時(shí)間少于8ms 時(shí)可認為是干擾。每一路都有自己的計時(shí)單元,每次定時(shí)器中斷后,在定時(shí)服務(wù)自程序中各路計時(shí)單元自動(dòng)加1。在上一次作業(yè)中將計時(shí)單元請0,下一次作業(yè)讀出 計時(shí)單元的值,延時(shí)值即為該值乘以4ms。這樣任何延時(shí)都不占用CPU機時(shí)。

 ?、? 串行數據的發(fā)送和接收是8路共有的操作,采用共同的模塊。數據的鏈接是通過(guò)開(kāi)辟緩沖區實(shí)現的,有發(fā)送緩沖區和接收緩沖區,采用4800baud的波特率。 一般程序的串行數據發(fā)送時(shí),都須要檢測TI位的變化來(lái)判斷1字節數據發(fā)送是否完成,由此決定可否發(fā)下一字節數據。應用到分時(shí)系統是行不通的,這要占用 CPU機時(shí),因為采用4800baud的波特率,則每一字節的發(fā)送時(shí)間少于4ms。當發(fā)送緩沖區有數據時(shí),可在定時(shí)器中斷服務(wù)自程序中發(fā)送。每一次定時(shí)中 斷中發(fā)送1字節數據,當下一次定時(shí)中斷來(lái)時(shí),上一字節數據必定已發(fā)送完畢,可發(fā)送下一字節數據。無(wú)須檢測TI位,也不占用CPU機時(shí)。數據接收采用串行中 斷,接收到的數據存放到接收緩沖區供各路查詢(xún)。

  結論

  將分時(shí)操作系統的思想引入系統,提出了一個(gè)針對多路檢測控制的系統軟件編程。大大減低了系統的設計成本,提高了系統的性能價(jià)格比,并在實(shí)際應用中獲得成功。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>