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

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

特殊符號(hào)

  • PCB可測(cè)性設(shè)計(jì)布線規(guī)則之建議―從源頭改善可測(cè)率

    P C B 可測(cè)性設(shè)計(jì)布線規(guī)則之建議― ― 從源頭改善可測(cè)率PCB 設(shè)計(jì)除需考慮功能性與安全性等要求外,亦需考慮可生產(chǎn)與可測(cè)試。這里提供可測(cè)性設(shè)計(jì)建議供設(shè)計(jì)布線工程師參考。1. 每一個(gè)銅箔電路支點(diǎn),至少需要一個(gè)可測(cè)試點(diǎn)。如無(wú)對(duì)應(yīng)的測(cè)試點(diǎn),將可導(dǎo)致與之相關(guān)的開(kāi)短路不可檢出,并且與之相連的零件會(huì)因無(wú)測(cè)試點(diǎn)而不可測(cè)。2. 雙面治具會(huì)增加制作成本,且上針板的測(cè)試針定位準(zhǔn)確度差。所以Layout 時(shí)應(yīng)通過(guò)Via Hole 盡可能將測(cè)試點(diǎn)放置于同一面。這樣就只要做單面治具即可。3. 測(cè)試選點(diǎn)優(yōu)先級(jí):A.測(cè)墊(Test Pad) B.通孔(Through Hole) C.零件腳(Component Lead) D.貫穿孔(Via Hole)(未Mask)。而對(duì)于零件腳,應(yīng)以AI 零件腳及其它較細(xì)較短腳為優(yōu)先,較粗或較長(zhǎng)的引腳接觸性誤判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板彎變形,影響測(cè)點(diǎn)精準(zhǔn)度,制作治具需特殊處理。5. 避免將測(cè)點(diǎn)置于SMT 之PAD 上,因SMT 零件會(huì)偏移,故不可靠,且易傷及零件。6. 避免使用過(guò)長(zhǎng)零件腳(>170mil(4.3mm))或過(guò)大的孔(直徑>1.5mm)為測(cè)點(diǎn)。7. 對(duì)于電池(Battery)最好預(yù)留Jumper,在ICT 測(cè)試時(shí)能有效隔離電池的影響。8. 定位孔要求:(a) 定位孔(Tooling Hole)直徑最好為125mil(3.175mm)及其以上。(b) 每一片PCB 須有2 個(gè)定位孔和一個(gè)防呆孔(也可說(shuō)成定位孔,用以預(yù)防將PCB反放而導(dǎo)致機(jī)器壓破板),且孔內(nèi)不能沾錫。(c) 選擇以對(duì)角線,距離最遠(yuǎn)之2 孔為定位孔。(d) 各定位孔(含防呆孔)不應(yīng)設(shè)計(jì)成中心對(duì)稱(chēng),即PCB 旋轉(zhuǎn)180 度角后仍能放入PCB,這樣,作業(yè)員易于反放而致機(jī)器壓破板)9. 測(cè)試點(diǎn)要求:(e) 兩測(cè)點(diǎn)或測(cè)點(diǎn)與預(yù)鉆孔之中心距不得小于50mil(1.27mm),否則有一測(cè)點(diǎn)無(wú)法植針。以大于100mil(2.54mm)為佳,其次是75mil(1.905mm)。(f) 測(cè)點(diǎn)應(yīng)離其附近零件(位于同一面者)至少100mil,如為高于3mm 零件,則應(yīng)至少間距120mil,方便治具制作。(g) 測(cè)點(diǎn)應(yīng)平均分布于PCB 表面,避免局部密度過(guò)高,影響治具測(cè)試時(shí)測(cè)試針壓力平衡。(h) 測(cè)點(diǎn)直徑最好能不小于35mil(0.9mm),如在上針板,則最好不小于40mil(1.00mm),圓形、正方形均可。小于0.030”(30mil)之測(cè)點(diǎn)需額外加工,以導(dǎo)正目標(biāo)。(i) 測(cè)點(diǎn)的Pad 及Via 不應(yīng)有防焊漆(Solder Mask)。(j) 測(cè)點(diǎn)應(yīng)離板邊或折邊至少100mil。(k) 錫點(diǎn)被實(shí)踐證實(shí)是最好的測(cè)試探針接觸點(diǎn)。因?yàn)殄a的氧化物較輕且容易刺穿。以錫點(diǎn)作測(cè)試點(diǎn),因接觸不良導(dǎo)致誤判的機(jī)會(huì)極少且可延長(zhǎng)探針使用壽命。錫點(diǎn)尤其以PCB 光板制作時(shí)的噴錫點(diǎn)最佳。PCB 裸銅測(cè)點(diǎn),高溫后已氧化,且其硬度高,所以探針接觸電阻變化而致測(cè)試誤判率很高。如果裸銅測(cè)點(diǎn)在SMT 時(shí)加上錫膏再經(jīng)回流焊固化為錫點(diǎn),雖可大幅改善,但因助焊劑或吃錫不完全的緣故,仍會(huì)出現(xiàn)較多的接觸誤判。

    標(biāo)簽: PCB 可測(cè)性設(shè)計(jì) 布線規(guī)則

    上傳時(shí)間: 2014-01-14

    上傳用戶(hù):cylnpy

  • 驅(qū)動(dòng)程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過(guò)為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過(guò)輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語(yǔ)言的訪問(wèn)設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來(lái)調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問(wèn)的第一步就是打開(kāi)一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開(kāi)一個(gè)設(shè)備的句柄為了打開(kāi)一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開(kāi)句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開(kāi)一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開(kāi)它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號(hào)鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對(duì)象的符號(hào)鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類(lèi)KunitizedName來(lái)構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱(chēng)的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開(kāi)句柄用這種方式打開(kāi)一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫(kù)提供兩個(gè)助手類(lèi)來(lái)使獲得對(duì)該接口的訪問(wèn)容易一些,這兩個(gè)類(lèi)是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類(lèi)封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類(lèi)中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類(lèi)的一個(gè)實(shí)例來(lái)獲得一個(gè)或更多的CdeviceInterface類(lèi)的實(shí)例。CdeviceInterface類(lèi)是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來(lái)打開(kāi)設(shè)備。下面用一個(gè)小例子來(lái)顯示這些類(lèi)最基本的使用方法: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;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來(lái)產(chǎn)生到設(shè)備對(duì)象的IRPs。下面的表顯示了這種對(duì)應(yīng)關(guān)系。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 需要解釋一下設(shè)備類(lèi)成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶(hù)級(jí)句柄被撤銷(xiāo)后,I/O管理器調(diào)用CleanUp。當(dāng)沒(méi)有任何用戶(hù)級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問(wèn)的時(shí)候,I/O管理器調(diào)用Close。如果被打開(kāi)的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無(wú)效功能)。以前為Windows95編寫(xiě)的VxD的應(yīng)用程序代碼中可能會(huì)在打開(kāi)設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒(méi)有特權(quán)的用戶(hù)企圖打開(kāi)這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴(lài)于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過(guò)調(diào)用Kirp::Mdl來(lái)存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過(guò)KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來(lái)對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒(méi)有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來(lái)存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴(lài)于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來(lái)構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對(duì)應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):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,系統(tǒng)分配一個(gè)單一的緩沖來(lái)作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過(guò)調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級(jí)調(diào)用者使用的緩沖中。驅(qū)動(dòng)程序必須在結(jié)束前存儲(chǔ)拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動(dòng)程序可以通過(guò)調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問(wèn)通過(guò)調(diào)用KIrp::Mdl來(lái)實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫(xiě)訪問(wèn)權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來(lái)配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來(lái)定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動(dòng)程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動(dòng)程序中,代碼看起來(lái)如下所示: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 . . .   } }

    標(biāo)簽: 驅(qū)動(dòng)程序 應(yīng)用程序 接口

    上傳時(shí)間: 2013-10-17

    上傳用戶(hù):gai928943

  • 自制ATMEL 89系列FLASH單片機(jī)編程器

    自制一臺(tái)ATMEL 89系列FLASH單片機(jī)編程器學(xué)習(xí)單片機(jī)最有用的恐怕是編程器和仿真機(jī),一臺(tái)商品化的編程器至少要幾百元,仿真機(jī)價(jià)格更高,往往讓初學(xué)者難以選擇。這里介紹的一款國(guó)外電子網(wǎng)站推出的廉價(jià)51編程器,能夠讀寫(xiě)最常用的12種51單片機(jī),自己動(dòng)手裝配一臺(tái),既能鍛煉自己的動(dòng)手能力,又能廉價(jià)地裝備一臺(tái)多用編程器,無(wú)論是學(xué)習(xí)單片機(jī)或業(yè)余時(shí)間搞開(kāi)發(fā),都是一個(gè)非常好的選擇。筆者按照資料自制了一臺(tái),十分好用,不敢獨(dú)享。特編譯了全部制作資料介紹給大家。這個(gè)編程器硬件使用標(biāo)準(zhǔn)的TTL系列器件而沒(méi)有使用特殊元件。它連接在計(jì)算機(jī)的并行端口,對(duì)PC的并口沒(méi)有特殊要求,所以配置很低的計(jì)算機(jī)也能用這個(gè)編程器。Atmel Flash 系列單片機(jī)是當(dāng)前最流行的單片機(jī),易于擦寫(xiě),不象OTP芯片容易造成浪費(fèi)。特別是89系列單片機(jī)與大家熟悉的INTEL51系列單片機(jī)完全兼容,這個(gè)編程器支持的單片機(jī)主要是Atmel flash系列。支持的器件:  這個(gè)編程器支持以下ATMEL單片機(jī)AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20腳的單片機(jī)需要一個(gè)簡(jiǎn)單的適配器。(圖 2 ) 硬件:  圖1顯示了這個(gè)FLASH 編程器的電路圖,編程器和標(biāo)準(zhǔn)的計(jì)算機(jī)并口連接。電路圖中的U2是用于控制計(jì)算機(jī)和控制器之間的數(shù)據(jù)流,U4 鎖存低位地址字節(jié) ,U5 鎖存高位地址字節(jié)  ,U3用于產(chǎn)生控制信號(hào)給被編程的單片機(jī)。IC U1用于產(chǎn)生編程脈沖給單片機(jī).當(dāng)U7提供編程電壓給控制器時(shí),電源部分用U8產(chǎn)生邏輯5v供給。IC U6用于產(chǎn)生5V或6.5V VDD 電源電壓給單片機(jī)。

    標(biāo)簽: ATMEL FLASH 單片機(jī)編程器

    上傳時(shí)間: 2013-10-18

    上傳用戶(hù):bakdesec

  • PGM89 51Flash單片機(jī)編程器V3.0

    學(xué)習(xí)單片機(jī)最有用的恐怕是編程器和仿真機(jī),一臺(tái)商品化的編程器至少要幾百元,仿真機(jī)價(jià)格更高,往往讓初學(xué)者難以選擇。這里介紹的一款國(guó)外電子網(wǎng)站推出的廉價(jià)51編程器,能夠讀寫(xiě)最常用的12種51單片機(jī),自己動(dòng)手裝配一臺(tái),既能鍛煉自己的動(dòng)手能力,又能廉價(jià)地裝備一臺(tái)多用編程器,無(wú)論是學(xué)習(xí)單片機(jī)或業(yè)余時(shí)間搞開(kāi)發(fā),都是一個(gè)非常好的選擇。筆者按照資料自制了一臺(tái),十分好用,不敢獨(dú)享。特編譯了全部制作資料介紹給大家。這個(gè)編程器硬件使用標(biāo)準(zhǔn)的TTL系列器件而沒(méi)有使用特殊元件。它連接在計(jì)算機(jī)的并行端口,對(duì)PC的并口沒(méi)有特殊要求,所以配置很低的計(jì)算機(jī)也能用這個(gè)編程器。Atmel Flash 系列單片機(jī)是當(dāng)前最流行的單片機(jī),易于擦寫(xiě),不象OTP芯片容易造成浪費(fèi)。特別是89系列單片機(jī)與大家熟悉的INTEL51系列單片機(jī)完全兼容,這個(gè)編程器支持的單片機(jī)主要是Atmel flash系列。

    標(biāo)簽: Flash PGM 3.0 89

    上傳時(shí)間: 2013-12-18

    上傳用戶(hù):xyipie

  • 自制微型51/AVR通用編程器

    微型51/AVR 編程器套件裝配說(shuō)明書(shū) 請(qǐng)您在動(dòng)手裝配這個(gè)編程器之前,務(wù)必先看完本說(shuō)明書(shū),避免走彎路。 1.收到套件后請(qǐng)對(duì)照元器件列表檢查一下,元件、配件是否齊全? Used  Part Type        Designator ==== ================ ========== 1    1k               R6         1    1uf 50V          C11        5    2k2              R2 R3 R4 R5 R11     1    10K*8            RN1        2    11.0592MHZ       Q1 Q2      1    12V,0.5W         D2         2    15k              R7 R8      2    21k              R9 R10     4    33p              C6 C7 C8 C9         1    47uf 25V         C10        1    74HC164          IC6        2    78L05            IC4 IC5    1    100uf 25V        C12        1    220R             R1         1    AT89C51          IC2        1    B40C800(W02)     D1         2    BS170            T1 T2      1    BS250            T3         1    DB9/F            J2         1    J1X2             J1         1    LED GN5          D3         1    LM317L           IC1        1    TLC2272          IC7        1    ZIF40            IC3        5    1uf              C1 C2 C3 C4 C5 另外,套件配有1.5米串行電纜一根和配套的PCB一塊,不含電源。編程器使用的15V交流電源或12V直流電源需要自己配套。2.裝配要點(diǎn):先焊接阻容元件,3個(gè)集成電路插座(IC2,IC7,IC6)其次是晶振, 全橋,穩(wěn)壓IC 等,然后焊接J2,最后焊接T1,T2,T3三只場(chǎng)效應(yīng)管。焊接場(chǎng)效應(yīng)管時(shí)務(wù)必按照以下方法:拔去電烙鐵的電源,使用電烙鐵余溫去焊接三只場(chǎng)效應(yīng)管,否則靜電很容易損壞管子。這是裝配成功的關(guān)鍵。這三只管子有問(wèn)題,最典型的現(xiàn)象是不能聯(lián)機(jī)。由于電源插座封裝比較特殊,國(guó)內(nèi)無(wú)法配套上,已改用電源線接線柱,可直接焊接在PCB板焊盤(pán)上,如下圖1所示(在下圖中兩個(gè)紅色圓圈內(nèi)指示的焊盤(pán)),然后在連接到套件中配套的電源插座上。最近有朋友反映用15V交流比較麻煩,還要另外配變壓器。如果要使用12V的直流電,無(wú)需將全橋焊上,將兩個(gè)接線柱分別焊接在全橋的正負(fù)輸出位置的焊盤(pán)上即可,如下圖2所示,藍(lán)色圓圈內(nèi)指示的焊盤(pán),連接電源的時(shí)候要注意正負(fù)極,不要接錯(cuò)了。方形焊盤(pán)是正極。40腳ZIF插座焊接前,應(yīng)該將BR1飛線焊接好。注意:由于焊盤(pán)比較小,注意焊接溫度,不要高溫長(zhǎng)時(shí)間反復(fù)焊接,會(huì)導(dǎo)致焊盤(pán)脫落。

    標(biāo)簽: AVR 51 編程器

    上傳時(shí)間: 2013-12-31

    上傳用戶(hù):caiguoqing

  • 單片開(kāi)關(guān)電源的設(shè)計(jì)和應(yīng)用

    單片開(kāi)關(guān)電源集成電路于20世紀(jì)如年代中、后期問(wèn)世以來(lái),在國(guó)際上獲得廣泛應(yīng)用,已成為開(kāi)發(fā)中、小功率無(wú)工頻變壓器式高效開(kāi)關(guān)電源的首選產(chǎn)品。本書(shū)從實(shí)用角度出發(fā),全面系統(tǒng)深入地闡述了單片開(kāi)關(guān)電源的設(shè)計(jì)與應(yīng)用。全書(shū)共10章。第1至4章分別介紹了六大系列TOPswitch、TOPSwitch—II、TinySwitch、TNY256、MC33370、TOPSwitch—FX等67種型號(hào)的單片開(kāi)關(guān)電源集成電路的原理與應(yīng)用。第5章講述L4960、L4970/4970A系列15種型號(hào)的單片開(kāi)關(guān)式穩(wěn)壓器。第6章介紹16種單片開(kāi)關(guān)電源模塊的設(shè)計(jì)。第7章闡述單片開(kāi)關(guān)電源的特殊應(yīng)用。第8、9、10章分別介紹單片開(kāi)關(guān)電源的設(shè)計(jì)指南、電磁兼容性及酗試技術(shù)、外圍電路關(guān)鍵元器件的選擇。這是國(guó)內(nèi)第一部關(guān)于單片開(kāi)關(guān)電源的專(zhuān)著,充分反映了該領(lǐng)域的國(guó)內(nèi)外最新研究成果。 第1章 單片開(kāi)關(guān)電源概述 1.1 開(kāi)關(guān)電源的發(fā)展趨勢(shì) 1.1.1 開(kāi)關(guān)電源的發(fā)展歷史 1.1.2 單片開(kāi)關(guān)電源的發(fā)展趨勢(shì) 1.2 開(kāi)關(guān)電源的基本原理 1.2.1 開(kāi)關(guān)電源的控制方式 1.2.2 脈寬調(diào)制式開(kāi)關(guān)電源的基本原理 1.3 單片開(kāi)關(guān)電源的產(chǎn)品分類(lèi)及主要特點(diǎn) 1.4 單片開(kāi)關(guān)電源的基本原理及反饋電路類(lèi)型 1.4.1 單片開(kāi)關(guān)電源的基本原理 1.4.2 單片開(kāi)關(guān)電源的兩種工作模式 1.4.3 反饋電路的四種基本類(lèi)型 1.5 單片開(kāi)關(guān)電源典型產(chǎn)品的技術(shù)指標(biāo) 第2章 三端單片開(kāi)關(guān)電源的原理與應(yīng)用 2.1 TOPSwitch—II系列的產(chǎn)品分類(lèi)及性能特點(diǎn) 2.1.1 TOPSwitch—II的產(chǎn)品分類(lèi) 2.1.2 TOPSwitch—II的性能特點(diǎn) 2.2 TOPSwitch—II系列單片開(kāi)關(guān)電源的工作原理

    標(biāo)簽: 單片開(kāi)關(guān) 電源

    上傳時(shí)間: 2013-10-29

    上傳用戶(hù):潛水的三貢

  • 串行編程器源程序(Keil C語(yǔ)言)

    串行編程器源程序(Keil C語(yǔ)言)//FID=01:AT89C2051系列編程器//實(shí)現(xiàn)編程的讀,寫(xiě),擦等細(xì)節(jié)//AT89C2051的特殊處:給XTAL一個(gè)脈沖,地址計(jì)數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設(shè)置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫(xiě)器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) //寫(xiě)一個(gè)單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗(yàn):循環(huán)讀,直到讀出與寫(xiě)入的數(shù)相同 {  nTimeOut++;  if(nTimeOut>1000)//超時(shí)了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) //讀一個(gè)單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫(xiě)鎖定位{ InitPro01();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設(shè)置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    標(biāo)簽: Keil 串行 C語(yǔ)言 編程器

    上傳時(shí)間: 2013-11-12

    上傳用戶(hù):gut1234567

  • keil入門(mén)實(shí)例教程

    單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開(kāi)發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51 系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C 語(yǔ)言編程,那么Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。我們將通過(guò)一些實(shí)例來(lái)學(xué)習(xí)Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對(duì)工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫(xiě),非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個(gè)發(fā)光二極管,P3.2~P3.4 引腳上接4 個(gè)按鈕開(kāi)關(guān),我們的第一個(gè)任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。 一、Keil 工程的建立首先啟動(dòng)Keil 軟件的集成開(kāi)發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標(biāo)以啟動(dòng)該軟件。UVison啟動(dòng)后,程序窗口的左邊有一個(gè)工程管理窗口,該窗口有3 個(gè)標(biāo)簽,分別是Files、Regs、和Books,這三個(gè)標(biāo)簽頁(yè)分別顯示當(dāng)前項(xiàng)目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊功能寄存器的值(調(diào)試時(shí)才出現(xiàn))和所選CPU 的附加說(shuō)明文件,如果是第一次啟動(dòng)Keil,那么這三個(gè)標(biāo)簽頁(yè)全是空的。

    標(biāo)簽: keil 教程

    上傳時(shí)間: 2013-12-26

    上傳用戶(hù):liulinshan2010

  • 照明應(yīng)用中的51LPC微控制器

    特性• 一系列方法支持不同的照明概念/原理UHP CCFL等• 快速執(zhí)行標(biāo)準(zhǔn)80C51 器件的兩倍• 工作范圍寬2.7V~6.0V 而且在125 仍可工作• 帶晶振/諧振器和RC 的用戶(hù)可配置振蕩器不要求外部元件• 低電流操作• 豐富的特性集包括UART和I2C 串行通訊低電壓檢測(cè)和上電復(fù)位• 兩個(gè)比較器• 在系統(tǒng)可編程ISP• 專(zhuān)用的模擬和數(shù)字外圍設(shè)備• ADC 快速PWM 和DAC特殊控制的專(zhuān)用外圍設(shè)備• PFC 功率因素修正• 帶軟開(kāi)關(guān)PWM 的半橋和全橋控制• 使用ADC 和比較器進(jìn)行照明管理• 與幾乎所有遠(yuǎn)程協(xié)議接口DALI IR RF 等• 帶鎮(zhèn)流ASIC 帶DAC 或PWM 的快速控制回路• 與存儲(chǔ)設(shè)備的I2C 接口

    標(biāo)簽: LPC 51 照明應(yīng)用 微控制器

    上傳時(shí)間: 2014-03-24

    上傳用戶(hù):ming529

  • 單片機(jī)開(kāi)發(fā)中應(yīng)掌握的幾個(gè)基本技巧

    在單片機(jī)應(yīng)用開(kāi)發(fā)中,代碼的使用效率問(wèn)題、單片機(jī)抗干擾性和可靠性等問(wèn)題仍困擾著 工程師。為幫助工程師解決單片機(jī)設(shè)計(jì)上的難題,《電子工程專(zhuān)輯》網(wǎng)站特邀Holtek香 港分公司工程部處長(zhǎng)鄧宏杰先生擔(dān)任《單片機(jī)應(yīng)用編程技巧》專(zhuān)題討論的嘉賓,與廣大 設(shè)計(jì)工程師交流單片機(jī)設(shè)計(jì)開(kāi)發(fā)經(jīng)驗(yàn)。現(xiàn)根據(jù)論壇中的討論歸納出單片機(jī)開(kāi)發(fā)中應(yīng)掌握 的幾個(gè)基本技巧。一、 如何提高C語(yǔ)言編程代碼的效率鄧宏杰指出,用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開(kāi)發(fā)與應(yīng)用的必然趨勢(shì)。他強(qiáng)調(diào):“ 如果使用C編程時(shí),要達(dá)到最高的效率,最好熟悉所使用的C編譯器。先試驗(yàn)一下每條C語(yǔ)言編譯以后對(duì)應(yīng)的匯編語(yǔ)言的語(yǔ)句行數(shù),這樣就可以很明確的知道效率。在今后編程的 時(shí)候,使用編譯效率最高的語(yǔ)句。” 他指出,各家的C編譯器都會(huì)有一定的差異,故編譯效率也會(huì)有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅比以匯編語(yǔ)言編寫(xiě)的同樣功能程度長(zhǎng)5-20%。他說(shuō):“對(duì)于復(fù)雜而開(kāi)發(fā)時(shí)間緊的項(xiàng)目時(shí),可以采用C語(yǔ)言,但前提是要求你對(duì)該MCU系統(tǒng)的C語(yǔ)言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類(lèi)型和算法。雖然C語(yǔ)言是最普遍的一種高級(jí)語(yǔ)言,但由于不同的MCU廠家其C語(yǔ)言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對(duì)這些特性不了解,那么調(diào)試起來(lái)問(wèn)題就會(huì)很 多,反而導(dǎo)致執(zhí)行效率低于匯編語(yǔ)言。” 二、 如何減少程序中的bug? 對(duì)于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運(yùn)行中應(yīng)考慮的超范圍管理參數(shù)有: 1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵(lì)參數(shù)、采集處理中的運(yùn)行參 數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵(lì)或 非正常回應(yīng)進(jìn)行出錯(cuò)處理。 2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、 存儲(chǔ)單元長(zhǎng)度、堆疊深度。在程式設(shè)計(jì)中,對(duì)資源參數(shù)不允許超范圍使用。 3.應(yīng)用參數(shù)。這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。如E2PROM的擦 寫(xiě)次數(shù)與資料存儲(chǔ)時(shí)間等應(yīng)用參數(shù)界限。 4.過(guò)程參數(shù)。指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。

    標(biāo)簽: 單片機(jī)開(kāi)發(fā) 基本技巧

    上傳時(shí)間: 2013-10-21

    上傳用戶(hù):chukeey

主站蜘蛛池模板: 济南市| 绵阳市| 高密市| 渭南市| 曲麻莱县| 连平县| 江北区| 阳泉市| 巴中市| 泉州市| 英吉沙县| 鄱阳县| 高邮市| 新余市| 东方市| 德令哈市| 铜鼓县| 安岳县| 迁安市| 高雄县| 宁乡县| 华安县| 陇川县| 遂溪县| 策勒县| 福贡县| 伊吾县| 肇东市| 阿克| 监利县| 勐海县| 和龙市| 永州市| 五华县| 汝阳县| 永嘉县| 宁德市| 绥阳县| 无锡市| 镶黄旗| 泸定县|