亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

開(kāi)放源代碼

  • 深入討論HCS08的內部時鐘源模塊

    本文檔將深入介紹內部時鐘源模塊(Internal ClockSource, ICS),該模塊可以在部分HCS08 系列微控制器中找到。對HCS08 MCU 來說, ICS 模塊不但是一個非常靈活的時鐘源,而且對于該系列中更小、更低成本的MCU來說非常經濟。ICS 包括鎖頻環、內部時鐘參考、外部振蕩器和時鐘選擇子模塊。這些子模塊組合可以提供多種時鐘模式和頻率,以滿足任何應用的需要。本應用筆記詳細描述ICS 的7 種工作模式、ICS 模塊與其他HCS08 MCU 的內部時鐘發生器(Internal ClockGenerator, ICG)模塊作比較、ICS 模塊從不同低功耗模式下恢復的特性及內部時鐘參考的校準方法。

    標簽: HCS 08 時鐘源 模塊

    上傳時間: 2013-11-08

    上傳用戶:zhuoying119

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • keil c51中文說明

    Keil C51 中文說明:8051 系列微處理器基于簡化的嵌入式控制系統結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數器4 全雙工串行通信5 6 個中斷源兩個中斷優先級6 128 字節內置RAM7 獨立的64K 字節可尋址數據和代碼區每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執行時間可把時鐘頻率除以12 取倒數然后指令執行所須的周期數因此如果你的系統時鐘是11.059MHz 除以12 后就得到了每秒執行的指令個數為921583條指令取倒數將得到每條指令所須的時間1.085ms.

    標簽: keil c51

    上傳時間: 2013-10-24

    上傳用戶:xauthu

  • 中斷技術

    一個完整的微機系統是由硬件和軟件共同構成的。微機系統的硬件有CPU、存儲器和I/O口,外設組成。CPU與存儲器之間的信息交換比較簡單,而CPU與外設之間進行信息交換之前必須確定外設是否準備好,即選擇I/O傳送方式。I/O傳送方式有4種:無條件、查詢、中斷和DMA。本章學習中斷傳送方式的有關內容。                                       4.1  中斷概述                                   4.2  MCS-51中斷系統   1、中斷的定義:        中斷是指如下過程:CPU與外設同時工作,CPU執行主程序,外設做準備工作,當外設準備好時向CPU發中斷請求信號,若條件滿足,則CPU終止主程序的執行,轉去執行中斷服務程序,在中斷服務程序中CPU與外設交換信息,待中斷服務程序執行完后,CPU再返回剛才終止的主程序繼續執行。 2、中斷系統的定義:中斷系統是指為了實現中斷傳送過程在CPU內外設置的硬件和有關中斷的指令。3、中斷源:⑴中斷源的定義:中斷源是指引起中斷請求的來源。⑵中斷源的分類: ①軟中斷和 ②硬中斷4、中斷處理的全過程       中斷處理的全過程分成3個階段:中斷請求、中斷響應和中斷服務。5、多重中斷與中斷優先級      ⑴ 當系統中有多個設備提出中斷請求時,多個外設的中請信號要通過門電路送到CPU的中請輸入端,使CPU能收到多個外設提出的中請。     ⑵ CPU在收到多個外設的請求后,按中斷處理原則處理中斷。     ⑶  確定優先級的方法解決優先級的問題一般可有三種方法:軟件查詢法、簡單硬件方法及專用硬件方法(采用可編程的中斷控制器芯片,如Intel8259A)。

    標簽: 中斷技術

    上傳時間: 2013-10-12

    上傳用戶:ysjing

  • DA與AD轉換

    計算機應用中,有時需處理的信息不是數字量,而是一些隨時間連續變化的模擬量,甚至是一些非電量,如溫度、壓力、速度等。模擬量的存儲處理困難。首先將非電的模擬信號變成與之對應的模擬電信號,這要通過各種傳感器來完成。計算機可處理的信息均是數字量(電脈沖信號)1和0,必須把要處理的模擬電量轉換成數字化的電信號,這需要模擬(Analog)與數字(Digital)轉換電路。數字到模擬轉換:(Digital to Analog Convert, D/A) D/A轉換電路是模擬電路加上電子開關。D/A轉換電路的核心是一個運算放大器。運算放大器的特性:(Operation Amplifier)    K->無窮大, V和->0  傳遞函數:V0 = -Vi * R0/Ri    Ii->0,  I和=If梯形R-2R電阻網絡D/A轉換器Ki受一個8位二進制代碼控制   某位為1,對應開關K倒向右邊;   某位為0,對應開關K倒向左邊。Ki不論倒向哪邊,均為接地VA-VH 的電位為:     VREF,1/2VREF,..1/128VREFVO= -VREF *(1/2K7+1/4K6+…+1/256K0)V0= -(0-255/256)VREF 8位D/A轉換器DAC0830系列器件國家半導體公司(NS)產品,0830、0831、0832。R-2R梯形電阻網絡D/A轉換器,雙緩沖結構。單電源、低功耗、電流建立時間1uS。與微計算機接口方便。8位D/A轉換器DAC0830系列器件ILE:        輸入鎖存允許;  WR1#:       加載IN REG;  WR2#:        加載DAC REG;    XFER#:       IN REG傳到DAC REG;  Iout1,Iout2: 外接OA輸入;  Rfb:         反饋電阻接OA輸出;  VREF:        參考電源,控制輸出電壓變化范圍。

    標簽: AD轉換

    上傳時間: 2013-10-16

    上傳用戶:lu2767

  • 子空間模式識別方法

    提出了一種改進的LSM-ALSM子空間模式識別方法,將LSM的旋轉策略引入ALSM,使子空間之間互不關聯的情況得到改善,提高了ALSM對相似樣本的區分能力。討論中以性能函數代替經驗函數來確定拒識規則的參數,實現了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實驗結果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關 鍵 詞 學習子空間; 性能函數; 散布矩陣; 最小描述長度在子空間模式識別方法中,一個線性子空間代表一個模式類別,該子空間由反映類別本質的一組特征矢量張成,分類器根據輸入樣本在各子空間上的投影長度將其歸為相應的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關矩陣的部分特征向量來構造子空間,實現了特征信息的壓縮,但對樣本的利用為一次性,不能根據分類結果進行調整和學習,對樣本信息的利用不充分;學習子空間方法(Leaning Subspace Method, LSM)通過旋轉子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓練順序敏感,同一樣本訓練的順序不同對子空間構造的影響就不同;平均學習子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓練過程中,用錯誤分類的樣本去調整散布矩陣,訓練結果與樣本輸入順序無關,所有樣本平均參與訓練,其不足之處是各模式的子空間之間相互獨立。針對以上問題,本文提出一種改進的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規則子空間模式識別方法的每一類別由一個子空間表示,子空間分類器的基本分類規則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx􀀢 (1)式中 函數稱為分類函數;為子空間基矢量。兩類的分類情況如圖1所示。

    標簽: 子空間 模式 識別方法

    上傳時間: 2013-12-25

    上傳用戶:熊少鋒

  • mcs-51單片機應用教程

    mcs-51單片機應用教程以MCS-51系列單片機為主線,從實用的角度出發,通過介紹大量單片機技能訓練實例和應用實例,指導讀者學習和使用單片機。《MCS-51單片機應用教程》分為基礎篇和應用篇兩大部分。基礎篇講述單片機的基礎知識,包括單片機原理與結構、指令系統、定時與中斷、串行通信等。應用篇包括單片機的基礎訓練和應用實例兩部分。《MCS-51單片機應用教程》各章節由淺入深,前后呼應,使讀者能夠在理解掌握單片機原理的基礎上,很快學會單片機的使用。 MCS-51單片機應用教程 目錄 第1篇 基礎篇 第1章 MCS-51單片機系統結構 1.1 概述 1.2 單片機的內部結構 1.3 單片機的存儲器結構 1.4 單片機并行I/O口 1.5 單片機的復位電路 1.6 單片機的時鐘與時序 第2章 單片機的指令系統 2.1 指令系統概述 2.2 尋址方式 2.3 指令功能介紹 第3章 單片機的中斷系統與定時器/計數器 3.1 中斷系統 3.2 單片機的定時器/計數器 3.3 外部中斷源的擴展 第4章 單片機的串行通信 4.1 串行通信的概念 4.2 MCS-51串行口的結構及工作方式 4.3 串行通信的應用 第2篇 應用篇 第5章 單片機實用開發步驟 5.1 單片機應用系統設計的一般流程 5.2 單片機匯編程序的編輯方法 5.3 源程序的編譯

    標簽: mcs 51 單片機 應用教程

    上傳時間: 2013-11-12

    上傳用戶:qingdou

  • 4x4鍵盤的設計與制作

    三種方法讀取鍵值􀂄 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。􀂉 中斷式􀂄 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。􀂄 本實驗採用中斷式實現使用者鍵盤介面。􀂉 掃描法􀂄 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。􀂉 反轉法􀂄 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。􀂄 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }

    標簽: 4x4 鍵盤

    上傳時間: 2013-11-12

    上傳用戶:a673761058

  • 單片機在工業無線網絡中的具體應用

     如同今天的許多通用單片機(MCU)已經把USB、CAN和以太網作為標準外設集成在芯片內部一樣,越來越多的無線網絡芯片和無線網絡解決方案也在向集成SoC 方向發展,比如第一代產品,Nordic公司nRF905,Chipcon公司cc1010 他們集成了8051兼容的單片機.這些無線單片機適合一般的點對點和點對多點的私有網絡應用,如單一產品的遙控器和抄表裝置等。無線通訊技術給智能裝置的互連互通提供了便捷的途徑,工業無線網絡作為面向工業和家庭自動化的網絡技術也正在向著智能,標準和節能方向發展。  目前在工業控制和消費電子領域使用的無線網絡技術有ZigBee、無線局域網(Wi-Fi)、藍牙(Blutooth)、GPRS通用分組無線業務、 ISM、IrDA等, 未來還能有3G、超寬頻(UWB)、無線USB、Wimax等。 當然還有大量的私有和專用無線網絡在工業控制和消費電子裝置中使用,其中ZigBee、GPRS是在目前在國內工業控制中討論和使用比較多的兩種,藍牙和無線局域網是在消費電子產品如手機、耳機、打印機、照相機和家庭中小企業網絡中廣泛使用的無線協議(個別工業產品也有應用,如無線視頻監控和汽車音響系統),當然私有無線網絡技術和產品在工業也有很多的應用。  ZigBee是一個低功耗、短距離和低速的無線網絡技術,工作在2.4GHz國際免執照的頻率,在IEEE標準上它和無線局域網、藍牙同屬802家族中的無線個人區域網絡, ZigBee是有兩部分組成,物理和鏈路層符合IEEE802.15.4, 網絡和應用層符合ZigBee聯盟的規范。ZigBee聯盟是在2002年成立的非盈利組織,有包括TI、霍尼威爾、華為在內兩百多家成員, ZigBee聯盟致力推廣兼容802.15.4和ZigBee協議的平臺, 制定網絡層和應用架構的公共規范,希望在樓宇自動化、居家控制、家用電器、工業自動控制和電腦外設等多方面普及ZigBee標準。  GPRS是在現有的GSM 網絡發展出來的分組數據承載業務,它工作在標準的GSM頻率,由于是一個分組交換系統,它適合工業上的突發,少量的數據傳輸,還因為GSM網絡覆蓋廣泛,永遠在線的特點,GPRS特點適合工業控制中的遠程監控和測量系統。在工業控制應用中GPRS 芯片一般是以無線數傳模塊形式出現的,它通過RS232全雙工接口和單片機連接,軟件上這些模塊都內置了GPRS,PPP和TCP/IP協議,單片機側通過AT指令集向模塊發出測試,連接和數據收發指令,GPRS模塊通過中國移動cmnet進入互聯網和其他終端或者服務器通訊。目前市場常見的模塊有西門子G24TC45、TC35i,飛思卡爾G24,索愛GR47/48, 還有Wavecom 的集成了ARM9核的GPRS SoC模塊WMP50/100。GPRS模塊有區分自帶TCP/IP協議和不帶協議兩種,一般來講,如果是單片機側有嵌入式操作系統和TCP/IP協議支持的話或者應用的要求只是收發短信和語音功能的話,可以選擇不帶協議的模塊。  先進的SoC技術正在無線應用領域發揮重要的作用。德州儀器收購了Chipcon公司以后發布的CC2430 是市場上首款SoC的ZigBee單片機, 見圖1,它把協議棧z-stack集成在芯片內部的閃存里面, 具有穩定可靠的CC2420收發器,增強性的8051內核,8KRAM,外設有I/O 口,ADC,SPI,UART 和AES128 安全協處理器,三個版本分別是32/64/128K的閃存,以128K為例,扣除基本z-stack協議還有3/4的空間留給應用代碼,即使完整的ZigBee協議,還有近1/2的空間留給應用代碼,這樣的無線單片機除了處理通訊協議外,還可以完成一些監控和顯示任務。這樣無線單片機都支持通過SPI或者UART與通用單片機或者嵌入式CPU結合。 2008年4月發表CC2480新一代單片ZibBee認證處理器就展示出和TI MSP430 通用的低功耗單片機結合的例子。圖1 CC2430應用電路  工業控制領域的另一個芯片巨頭——飛思卡爾的單片ZigBee處理器MC1321X的方案也非常類似,集成了HC08單片機核心, 16/32/64K 閃存,外設有GPIO, I2C和ADC, 軟件是Beestack 協議,只是最多4K RAM 對于更多的任務顯得小了些。但是憑借32位單片機Coldfire和系統軟件方面經驗和優勢, 飛思卡爾在滿足用戶應用的彈性需求方面作的更有特色,它率先能夠提供從低-中-高各個層面的解決方案,見圖2。

    標簽: 單片機 工業無線網絡

    上傳時間: 2013-11-02

    上傳用戶:momofiona

  • 51單片機c語言

    這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統的解決方法為使問題討論更加清晰在適當的地方給出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數據書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經通過測試這并不意味著你可以隨時把這些程序加到你的應用系統或工程中有些地方必須首先經過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發是一個好的決定你會發現使用C 進行開發將使你的工程開發和維護的時間大大減少如果你已經擁有Keil C51 那你已經選擇了一個非常好的開發工具我發現Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據你所用的開發工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計 8051 系列微處理器基于簡化的嵌入式控制系統結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數器4 全雙工串行通信5 6 個中斷源兩個中斷優先級6 128 字節內置RAM7 獨立的64K 字節可尋址數據和代碼區每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執行時間可把時鐘頻率除以12 取倒數然后指令執行所須的周期數因此如果你的系統時鐘是11.059MHz 除以12 后就得到了每秒執行的指令個數為921583條指令取倒數將得到每條指令所須的時間1.085ms

    標簽: 51單片機 c語言

    上傳時間: 2013-11-09

    上傳用戶:chenlong

主站蜘蛛池模板: 龙陵县| 托克托县| 中牟县| 彩票| 河北区| 宁阳县| 濉溪县| 聂荣县| 乌什县| 安化县| 舟山市| 尼勒克县| 南召县| 措勤县| 遵义市| 余干县| 平湖市| 柏乡县| 宣恩县| 准格尔旗| 东丰县| 宁远县| 泸溪县| 清涧县| 福清市| 文昌市| 道孚县| 都匀市| 峨眉山市| 九江县| 麻栗坡县| 蓬安县| 鹤岗市| 和龙市| 南靖县| 泰州市| 郴州市| 华宁县| 介休市| 佳木斯市| 黄石市|