新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于16位單片機(jī)作為主控芯片的嵌入式設(shè)備解決方案

基于16位單片機(jī)作為主控芯片的嵌入式設(shè)備解決方案

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

  5軟件實(shí)現(xiàn)部分

  軟件設(shè)計(jì)主要包括:以太網(wǎng)控制器初始化程序、驅(qū)動(dòng)程序、TCP/IP協(xié)議棧程序、系統(tǒng)網(wǎng)絡(luò)配置程序。以太網(wǎng)控制器驅(qū)動(dòng)程序用于設(shè)置以太控制的工作狀態(tài)即工作方式,分配收發(fā)數(shù)據(jù)的緩沖區(qū);系統(tǒng)網(wǎng)絡(luò)配置程序用于給監(jiān)測(cè)系統(tǒng)分配IP地址及域名。限于篇幅,下面僅給出了采用匯編語言編寫的RTL8019AS初始化的部分代碼。

  .include hardware.inc;//配置單元定義

  .public _init //RTL8019AS初始化子程序

  _init:

  R1=0xffff; //初始化A口為輸出

  [P_IOA_Attrib]=R1;

  [P_IOA_Dir]=R1;

  R1=0xfc07; //將IOB0~IOB2,IOB10~IOB15設(shè)置為輸出,其他為輸入

  [P_IOB_Attrib]=R1;

  [P_IOB_Dir]=R1;

  R1=0x0001;//選中00H寄存器

  [P_IOB_Data]=R1;

  R1=0x0021; //選擇寄存器頁面0,不工作

  [P_IOA_Data]=R1;

  [P_IOB_Data]=R1;

  R1=0x004c;//設(shè)置接收緩沖區(qū),頁地址為0x4c~0x7f

  [P_IOA_Data]=R1;

  R1=0x0001;//選中02H寄存器

  [P_IOB_Data]=R1;

  R1=0x0080;

  [P_IOA_Data]=R1;

  ...

  R1=0x0801; //選中01H寄存器

  R1=0x0001; //選中00H寄存器

  [P_IOB_Data]=R1;

  R1=0x0061; //選擇寄存器頁面1

  [P_IOA_Data]=R1;

  ...

  R1=0x0001;

  [P_IOB_Data]=R1;

  R1=0x0022; //選擇寄存器頁面0,進(jìn)入工作狀態(tài)

  [P_IOA_Data]=R1;

  retf; // 程序返回

  6 結(jié)束語

  利用16位SPCE061A驅(qū)動(dòng)以太控制芯片RTL8019AS,實(shí)現(xiàn)信息家電經(jīng)由網(wǎng)關(guān)接入internet的方式,可以方便、低廉地將信息家電的工作狀態(tài)送往遠(yuǎn)程PC進(jìn)行監(jiān)控。這種低成本、高性能的方案,具有可靠靈活的特點(diǎn),適用于通信速率不大,允許延時(shí)的家庭自動(dòng)化。用戶可根據(jù)需要,按上述方法,為傳統(tǒng)的家電賦予接入internet的能力。


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

上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉