新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于IPV6 的嵌入式數據采集系統設計

        基于IPV6 的嵌入式數據采集系統設計

        作者: 時間:2010-01-27 來源:網絡 收藏

        2.1 主控制器的擴展
        中,主控制器采用了 ATMEL 公司生產的AT89C55 微處理器。中把P0
        口用作數據16 位地址的低位地址復用口,P2 口用作16 位地址的高位地址,P1 口的P1. 0
        用作以太網控制芯片RTL8019AS 的復位信號輸入端,P1. 1, P1. 2 分別模擬IZC 總線用作
        EEPROM 數據存儲器的時鐘信號和數據輸入輸出線。引腳12(INTO)用來對以太網控制器
        RTL8019AS 的中斷請求作響應。
        74LS373 用作P0 口分時復用的16 位低位地址鎖存器。外部數據存儲器62256 內含32K
        的8 位存儲單元,其片選引腳CS (20)接單片機的A15。62256 內部存儲器尋址通過單片機
        的低15 位地址線AO^}A14。所以外部數據存儲器62256 的單片機尋址范圍為0000~7FFF。
        AT89C55 沒有I2C 總線接口,所以只能用單片機虛擬I2C 總線方式工作,由于總線上只
        有一個單片機作為主節點,因此為單主方式下的虛擬I2C 總線。在這種方式下,虛
        擬I2C 總線只有主發送和主接收兩種操作, AT24C02 的寫讀程序如下:
        ① 寫 AT24C02 子程序AT24C02_ W
        NUMBYT:被傳送字節數N 的存放單元、NUM:被傳送字節數N, SUBADR:AT24C02 中
        要存放的數據首地址、VSDA:虛擬總線的數據線、VSCL:虛擬總線的時鐘線、SLAW:寫尋址
        字節、MTD:發送數據緩沖區首地址。
        AT24C02_W: NUMBYT. #NUM ;將被傳送的字節數N 寫入NUMBYT 中
        MOV SLA. #SLAW ;寫地址送到SLA 中
        LCALL WRNBYT ;調用N 字節的寫入子程序
        RET
        ② 讀 AT24C02 子程序AT24C02_ R。
        AT24C02 的指點地址的讀和它的寫有些不同,指點地址的讀是要求在指定的字地址讀
        出一個字節數據的操作,由于是要在指定的資地址,所以要先寫一個字地址,然后重復起始
        狀態,讀入一個數據字節。
        AT24C02 R:MOV MTD. SUBADR :將數據首地址送到發送數據緩沖區
        MOV SLA. #SLAW :將寫地址送到SLA 中
        MOV NUMBYT,#1
        LCALL WRNBYT ;調用N 字節的寫入程序
        MOV SLA,#SLAR ;將讀地址送到SLA 中
        MOV NUMBYT, #NUM ;從AT24C02 中讀出子程序
        RET
        2.2 SAA1064 LED 驅動控制器
        SAA1064 是PHILIPS 公司生產的I2C 總線接口的LED 驅動控制器件,它為雙極型集成
        電路,有2X8 位輸出驅動接口,可靜態驅動2 位8 段LED 顯示器或動態4 位8 段LED 顯
        示器。AT89C55 的P1 口的P1. 1 和P1. 2 引腳模擬I2C 總線與SAA1064 的SCL 和SDA 連
        接,P1~P8, P9~P16 分別各自連接兩個數碼管的abcdefgh 端,CEXT 外接2. 7nF 電容,模擬引
        腳地址端ADR 引腳接地,器件可讀地址為SLAR=71H,可寫地址為SLAW=70H。
        SAA1064 除了具有LED 驅動控制的寫操作外,還有可以反映上電標志的讀操作,
        但是,由于在本論文中只需用到SAA1064 的顯示驅動控制功能,所以這里只討論其寫入操
        作。SAA1064 的寫入數據操作格式為:
        SLAW +SUBADR +COM +data 1+data2+data3+data4
        其中SUBADR 為SAA1064 片內地址單元首地址,COM 為SAA1064 的控制命令,
        datal~data4 為動態顯示方式的4 個LED 的共陰極段選碼。
        2.3 系統A/D 和D/A 轉換
        PCF8591 是PHILIPS 公司生產的具有I2c 總線接口的8 位A/D 和D/A 轉換器。器件由
        單一的電源供電,COMS 工藝;有4 路A/D 轉換模擬輸入、1 路D/A 轉換輸出;A/D 轉換為逐
        次比較型;輸入輸出部分有采樣/保持電路;最大的轉換速率與I2c 總線傳輸率有關;A/D 和D/A
        轉換的基準電源由外部供給。PCF8591 也是采用典型的I2c 總線接口器件尋址方式。器件的
        地址為1001f 引腳地址為A2AlA0,方向位為R/W,因此它的器件地址及尋址字節為
        1001A2A1A0R/W。
        AT89C55 的P1 口的P1. 1 和P1. 2 引腳模擬I2c 總線與PCF8591 的SCL 和SDA 連接,
        PCF8591 使用內部時鐘電路,所以EXT 引腳接地,OSC 作為內部時鐘輸出端懸空,將A2, A1
        和AO 三個引腳接地,所以器件可讀地址為SLAR=91H,可寫地址為SLAW=90H。
        PCF8951 的DAC 數據操作程序代碼如下:
        DAC 數據操作程序
        PCF8951_ DAC: MOV MTD, #COM ;PCF8951 控制命令COM 入MTD
        MOV R0, #MTD
        INC RO
        MOV @R0, A;D/A 轉換數據入MTD + 1
        MOV SLA, #SLAW;指向PCF8951 節點寫地址
        MOV NUMBYT, #2;寫入兩個字節COM 和A
        LCALL WRNBYT
        RET

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吴桥县| 奉新县| 沂源县| 四子王旗| 巴南区| 汉源县| 鄢陵县| 田阳县| 石台县| 长丰县| 称多县| 亳州市| 五家渠市| 武宁县| 错那县| 泊头市| 公安县| 镇坪县| 静乐县| 湖州市| 双牌县| 门源| 滦平县| 丹阳市| 呼玛县| 宁津县| 始兴县| 松潘县| 公安县| 柞水县| 旬阳县| 玉溪市| 禹城市| 泉州市| 红桥区| 上思县| 鄢陵县| 内丘县| 简阳市| 绥芬河市| 鹤庆县|