對于初學(xué)者來說,還有些不直觀,調(diào)試過程中看到的是一些數(shù)值,并沒有看到這些數(shù)值所引起的外圍電路的變化,例如數(shù)碼管點(diǎn)亮、發(fā)光管發(fā)光等。為了讓初學(xué)者更好地入門,筆者利用Keil 提供的AGSI 接口開發(fā)了兩塊仿真實(shí)驗(yàn)板。這兩塊仿真板將枯燥無味的數(shù)字用形象的圖形表達(dá)出來,可以使初學(xué)者在沒有硬件時(shí)就能感受到真實(shí)的學(xué)習(xí)環(huán)境,降低單片機(jī)的入門門檻。圖1 是鍵盤、LED 顯示實(shí)驗(yàn)仿真板的圖,從圖中可以看出,該板比較簡單,有在P1 口接有8 個(gè)發(fā)光二極管,在P3 口接有4 個(gè)按鈕,圖的右邊給出了原理圖。圖2 是另一個(gè)較為復(fù)雜的實(shí)驗(yàn)仿真板。在該板上有8 個(gè)數(shù)碼管,16 個(gè)按鍵(接成4*4 的矩陣式),另外還有P1 口接的8個(gè)發(fā)光管,兩個(gè)外部中斷按鈕,一個(gè)帶有計(jì)數(shù)器的脈沖發(fā)生器等資源,顯然,這塊板可以完成更多的實(shí)驗(yàn)。
標(biāo)簽: Keil 實(shí)驗(yàn)仿真
上傳時(shí)間: 2013-10-18
上傳用戶:nanshan
Smith控制算法仿真與控制:了解計(jì)算機(jī)控制過程,及用不同種高級語言編寫實(shí)驗(yàn)程序的方法與特點(diǎn)。了解Smith算法和程序設(shè)計(jì)。掌握階躍信號、自定義信號下,Smith算法的參數(shù)整定及被控對象的仿真與控制。了解組態(tài)軟件在工業(yè)自動(dòng)化方面的應(yīng)用和基本使用方法。 單回路溫度控制箱A/D、DA轉(zhuǎn)換板溫度檢測元件XMZ數(shù)字顯示儀萬用表 1 Smith控制算法的參數(shù)整定仿真,繪制仿真曲線。2 Smith控制算法實(shí)時(shí)控制的參數(shù)整定,繪制實(shí)時(shí)控制曲線。
上傳時(shí)間: 2013-11-25
上傳用戶:europa_lin
用單片機(jī)制作多功能莫爾斯碼電路:用單片機(jī)制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因?yàn)榈确姶a通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進(jìn)行國際間的通信,收發(fā)射設(shè)備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設(shè)備。設(shè)計(jì)本電路的目的就是給愛好者提供一個(gè)實(shí)用和訓(xùn)練的工具。 一、功能簡介 本電路可以配合自動(dòng)鍵體和手動(dòng)鍵體,產(chǎn)生莫爾斯碼控制信號,設(shè)有16種速度,從初學(xué)者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進(jìn)行選擇。可以按程序中設(shè)定好的呼號自動(dòng)呼叫,設(shè)有聽抄練習(xí)功能,聽抄練習(xí)有短碼和混合碼兩種模式,分別對10個(gè)數(shù)字和常用的38個(gè)混合碼模擬隨機(jī)取樣,產(chǎn)生分組報(bào)碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習(xí)是專為初學(xué)者所設(shè),內(nèi)容是時(shí)間間隔較長的單字符。設(shè)有PTT開關(guān)鍵,可以決定是否控制發(fā)射機(jī)工作,不需要反復(fù)通斷控制線。無論當(dāng)前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點(diǎn)接通則自動(dòng)轉(zhuǎn)到人工發(fā)報(bào)程序。4分鐘內(nèi)不使用電路將自動(dòng)關(guān)閉電源,只有按復(fù)位鍵才能重新開始工作。先按住聽抄練習(xí)鍵復(fù)位則進(jìn)入短碼練習(xí)狀態(tài),其它功能不變。從開機(jī)到自動(dòng)關(guān)機(jī)執(zhí)行每個(gè)功能都有不同的莫爾斯碼提示音。本電路具有較強(qiáng)的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應(yīng)不同的發(fā)射設(shè)備。 二、硬件電路原理硬件電路如圖1所示。設(shè)計(jì)電路的目的在于方便實(shí)用,以免在緊張的操作中失誤,所以除了聽抄練習(xí)鍵外其它鍵沒有定義復(fù)用功能。各鍵的作用在圖中已經(jīng)標(biāo)出。PTT控制在每次復(fù)位時(shí)處于關(guān)閉狀態(tài),每按動(dòng)一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時(shí)發(fā)光二極管隨控制信號閃亮。考慮到自制設(shè)備及淘汰軍用設(shè)備與高檔設(shè)備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時(shí)還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實(shí)驗(yàn)。應(yīng)該注意,如果被控制的負(fù)載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設(shè)備外成品機(jī)在這方面一般沒有什么問題。手動(dòng)鍵只有一個(gè)接點(diǎn),接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動(dòng)鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當(dāng)按鍵按下時(shí)P1.5電平為0,程序轉(zhuǎn)入手動(dòng)鍵子程序。 自動(dòng)鍵的接點(diǎn)分別接到P1.3和P1.4 ,同樣當(dāng)程序檢測到有接點(diǎn)閉合時(shí)便自動(dòng)產(chǎn)生“點(diǎn)”或“劃”。音頻信號從P輸出,經(jīng)VT1放大后推動(dòng)揚(yáng)聲器發(fā)音。單片機(jī)的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個(gè)輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時(shí)電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚(yáng)聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設(shè)計(jì)方法 “點(diǎn)”時(shí)間長度是莫爾斯電碼中的基本時(shí)間單位。按規(guī)定“劃”的時(shí)間長度不小于三個(gè)“點(diǎn)”,同字符中“點(diǎn)”與“劃”的間隔不小于一個(gè)“點(diǎn)”,字符之間不小于一個(gè)“劃”,詞與詞之間不應(yīng)小于五個(gè)“點(diǎn)”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點(diǎn)”時(shí)間長度。通過速度功能鍵功可以設(shè)置16種延時(shí)參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號,并將中斷設(shè)為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動(dòng)關(guān)機(jī)計(jì)時(shí),如果不使用任何功能四分鐘后將向PCON 位寫1,單片機(jī)進(jìn)入休眠狀態(tài),此時(shí)耗電量僅有幾個(gè)微安。自動(dòng)鍵的“點(diǎn)”或“劃”以及手動(dòng)鍵的連續(xù)發(fā)音都是子程序的反復(fù)調(diào)用。P1.2對地短接時(shí)自動(dòng)呼叫可設(shè)定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對發(fā)音內(nèi)容進(jìn)行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計(jì)算機(jī)中二進(jìn)制恰好相同,我們可以用0表示“點(diǎn)”,用1表示“劃”。提示音、自動(dòng)呼叫、聽抄內(nèi)容等字符是預(yù)先按一定編碼方式存儲(chǔ)在程序中的常數(shù)。每個(gè)字符的莫爾斯碼一般是由1至6位“點(diǎn)”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個(gè)字符占用1個(gè)字節(jié),字符時(shí)間間隔不占用字節(jié),但更長的延時(shí)或發(fā)音結(jié)束信息占用一個(gè)字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對于5次及5次以下發(fā)音的字符我們用存儲(chǔ)器的高5位存儲(chǔ)發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲(chǔ)發(fā)音次數(shù),發(fā)音時(shí)將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進(jìn)行位尋址,判斷是發(fā)“點(diǎn)”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會(huì)出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因?yàn)檫@時(shí)第6次位尋址得到的是1。如果第6次發(fā)音是“點(diǎn)”,那么這個(gè)字符的低三位定義為000B。字符間隔時(shí)間由程序自動(dòng)產(chǎn)生,更長的時(shí)間隔或結(jié)束標(biāo)志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時(shí)間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細(xì)的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項(xiàng)手動(dòng)鍵的操作難度相對大一些,時(shí)間節(jié)拍全由人掌握,其特點(diǎn)是發(fā)出的電碼帶有“人情味”。自動(dòng)鍵的“點(diǎn)”、“劃”靠電路產(chǎn)生,發(fā)音標(biāo)準(zhǔn),容易操作,而且可以達(dá)到相當(dāng)快的速度,長時(shí)間工作也不易疲勞。在干擾較大、信號微弱的條件下自動(dòng)鍵碼的辨別程度好于手動(dòng)鍵碼。初學(xué)者初次使用手動(dòng)鍵練習(xí)發(fā)報(bào)要有老師指導(dǎo),且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺(tái)上時(shí)常聽到一些讓對方難以抄收的電碼,這可能會(huì)使對方反感而拒絕回答。使用自動(dòng)鍵也應(yīng)在一定的聽抄基礎(chǔ)上再去練習(xí)。在暫時(shí)找不老師的情況下可多練習(xí)聽力,這對于今后能夠發(fā)出標(biāo)準(zhǔn)正確的電碼非常有益。
上傳時(shí)間: 2013-10-31
上傳用戶:sdq_123
實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換一般采用查表法,按日查表是速度最快的方法但51 單片機(jī)尋址能力有限不可能采用按日查表的方法除按日查外,我們可以通過按月查表和按年查表的方法再通過適當(dāng)?shù)挠?jì)算來確定公歷日所對應(yīng)的農(nóng)歷日期,本文采用的是按年查表法最大限度地減少表格所占的程序空間。
標(biāo)簽: 51單片機(jī) 農(nóng)歷 轉(zhuǎn)換
上傳時(shí)間: 2013-11-25
上傳用戶:ouyangmark
有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對設(shè)備對象訪問的第一步就是打開一個(gè)設(shè)備對象的句柄。 用符號鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對象的符號鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號鏈。這意味著符號鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫提供兩個(gè)助手類來使獲得對該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個(gè)小例子來顯示這些類最基本的使用方法: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來產(chǎn)生到設(shè)備對象的IRPs。下面的表顯示了這種對應(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è)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對象。這使得多個(gè)句柄可以映射同一個(gè)文件對象。當(dāng)這個(gè)文件對象的最后一個(gè)用戶級句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級和核心級的對文件對象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會(huì)在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒有被鎖住而且地址只對調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應(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è)單一的緩沖來作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級調(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)程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對象,驅(qū)動(dòng)程序?qū)@個(gè)對象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對于METHOD_OUT_DIRECT,調(diào)用者必須有對緩沖的寫訪問權(quán)限。注意,對METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來配置緩沖。虛擬地址只對調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個(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)程序中,代碼看起來如下所示: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
上傳用戶:gai928943
微型51/AVR 編程器套件裝配說明書 請您在動(dòng)手裝配這個(gè)編程器之前,務(wù)必先看完本說明書,避免走彎路。 1.收到套件后請對照元器件列表檢查一下,元件、配件是否齊全? 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三只場效應(yīng)管。焊接場效應(yīng)管時(shí)務(wù)必按照以下方法:拔去電烙鐵的電源,使用電烙鐵余溫去焊接三只場效應(yīng)管,否則靜電很容易損壞管子。這是裝配成功的關(guān)鍵。這三只管子有問題,最典型的現(xiàn)象是不能聯(lián)機(jī)。由于電源插座封裝比較特殊,國內(nèi)無法配套上,已改用電源線接線柱,可直接焊接在PCB板焊盤上,如下圖1所示(在下圖中兩個(gè)紅色圓圈內(nèi)指示的焊盤),然后在連接到套件中配套的電源插座上。最近有朋友反映用15V交流比較麻煩,還要另外配變壓器。如果要使用12V的直流電,無需將全橋焊上,將兩個(gè)接線柱分別焊接在全橋的正負(fù)輸出位置的焊盤上即可,如下圖2所示,藍(lán)色圓圈內(nèi)指示的焊盤,連接電源的時(shí)候要注意正負(fù)極,不要接錯(cuò)了。方形焊盤是正極。40腳ZIF插座焊接前,應(yīng)該將BR1飛線焊接好。注意:由于焊盤比較小,注意焊接溫度,不要高溫長時(shí)間反復(fù)焊接,會(huì)導(dǎo)致焊盤脫落。
上傳時(shí)間: 2013-12-31
上傳用戶:caiguoqing
很多單片機(jī)初學(xué)者與我交流時(shí)總說的一句話是我現(xiàn)在是單片機(jī)初學(xué)者,我怎樣才能更快的學(xué)好單片機(jī),我該從哪方便入手。對于這個(gè)問題,現(xiàn)在就我自己如何學(xué)單片機(jī),如何入門,如何熟練談?wù)勏敕ā? 先說單片機(jī),現(xiàn)在用的比較多的以51為內(nèi)核的8位單片機(jī)(考慮到成本及引腳資源在實(shí)際開發(fā)中用的51單片機(jī)型號不一),它的學(xué)習(xí)資料非常多,且學(xué)習(xí)成本非常低,可能有些初學(xué)者會(huì)說企業(yè)里用的不是51單片機(jī),更多的是松翰、義隆什么,但是我想說的是那些單片機(jī)的輔助開發(fā)工具你有嗎。51單片機(jī)對于智能電子技術(shù)的入門學(xué)習(xí)是非常有優(yōu)勢,成本低,開發(fā)簡單,一線下載程序,ARM太神秘,PLC太高貴,想來想去還是51,曾經(jīng)有過AVR和PIC,但是現(xiàn)在51也不賴。 那怎樣才能更快更好的學(xué)好單片機(jī)呢? 單片機(jī)作為集電子技術(shù)與計(jì)算機(jī)編程技術(shù)為一體是一項(xiàng)非常重視動(dòng)手實(shí)踐的科目,如果你是單片機(jī)高手,那么說明你也是計(jì)算機(jī)編程和電子技術(shù)高手。
標(biāo)簽: 工程師 單片機(jī)學(xué)習(xí) 經(jīng)驗(yàn)
上傳時(shí)間: 2014-03-24
上傳用戶:丶灬夏天
計(jì)算機(jī)部件要具有通用性,適應(yīng)不同系統(tǒng)與不同用戶的需求,設(shè)計(jì)必須模塊化。計(jì)算機(jī)部件產(chǎn)品(模塊)供應(yīng)出現(xiàn)多元化。模塊之間的聯(lián)接關(guān)系要標(biāo)準(zhǔn)化,使模塊具有通用性。模塊設(shè)計(jì)必須基于一種大多數(shù)廠商認(rèn)可的模塊聯(lián)接關(guān)系,即一種總線標(biāo)準(zhǔn)。總線的標(biāo)準(zhǔn)總線是一類信號線的集合是模塊間傳輸信息的公共通道,通過它,計(jì)算機(jī)各部件間可進(jìn)行各種數(shù)據(jù)和命令的傳送。為使不同供應(yīng)商的產(chǎn)品間能夠互換,給用戶更多的選擇,總線的技術(shù)規(guī)范要標(biāo)準(zhǔn)化。總線的標(biāo)準(zhǔn)制定要經(jīng)周密考慮,要有嚴(yán)格的規(guī)定。總線標(biāo)準(zhǔn)(技術(shù)規(guī)范)包括以下幾部分:機(jī)械結(jié)構(gòu)規(guī)范:模塊尺寸、總線插頭、總線接插件以及按裝尺寸均有統(tǒng)一規(guī)定。功能規(guī)范:總線每條信號線(引腳的名稱)、功能以及工作過程要有統(tǒng)一規(guī)定。電氣規(guī)范:總線每條信號線的有效電平、動(dòng)態(tài)轉(zhuǎn)換時(shí)間、負(fù)載能力等。總線的發(fā)展情況S-100總線:產(chǎn)生于1975年,第一個(gè)標(biāo)準(zhǔn)化總線,為微計(jì)算機(jī)技術(shù)發(fā)展起到了推動(dòng)作用。IBM-PC個(gè)人計(jì)算機(jī)采用總線結(jié)構(gòu)(Industry Standard Architecture, ISA)并成為工業(yè)化的標(biāo)準(zhǔn)。先后出現(xiàn)8位ISA總線、16位ISA總線以及后來兼容廠商推出的EISA(Extended ISA)32位ISA總線。為了適應(yīng)微處理器性能的提高及I/O模塊更高吞吐率的要求,出現(xiàn)了VL-Bus(VESA Local Bus)和PCI(Peripheral Component Interconnect,PCI)總線。適合小型化要求的PCMCIA(Personal Computer Memory Card International Association)總線,用于筆記本計(jì)算機(jī)的功能擴(kuò)展。總線的指標(biāo)計(jì)算機(jī)主機(jī)性能迅速提高,各功能模塊性能也要相應(yīng)提高,這對總線性能提出更高的要求。總線主要技術(shù)指標(biāo)有幾方面:總線寬度:一次操作可以傳輸?shù)臄?shù)據(jù)位數(shù),如S100為8位,ISA為16位,EISA為32位,PCI-2可達(dá)64位。總線寬度不會(huì)超過微處理器外部數(shù)據(jù)總線的寬度。總數(shù)工作頻率:總線信號中有一個(gè)CLK時(shí)鐘,CLK越高每秒鐘傳輸?shù)臄?shù)據(jù)量越大。ISA、EISA為8MHz,PCI為33.3MHz, PCI-2可達(dá)達(dá)66.6MHz。單個(gè)數(shù)據(jù)傳輸周期:不同的傳輸方式,每個(gè)數(shù)據(jù)傳輸所用CLK周期數(shù)不同。ISA要2個(gè),PCI用1個(gè)CLK周期。這決定總線最高數(shù)據(jù)傳輸率。5. 總線的分類與層次系統(tǒng)總線:是微處理器芯片對外引線信號的延伸或映射,是微處理器與片外存儲(chǔ)器及I/0接口傳輸信息的通路。系統(tǒng)總線信號按功能可分為三類:地址總線(Where):指出數(shù)據(jù)的來源與去向。地址總線的位數(shù)決定了存儲(chǔ)空間的大小。系統(tǒng)總線:數(shù)據(jù)總線(What)提供模塊間傳輸數(shù)據(jù)的路徑,數(shù)據(jù)總線的位數(shù)決定微處理器結(jié)構(gòu)的復(fù)雜度及總體性能。控制總線(When):提供系統(tǒng)操作所必需的控制信號,對操作過程進(jìn)行控制與定時(shí)。擴(kuò)充總線:亦稱設(shè)備總線,用于系統(tǒng)I/O擴(kuò)充。與系統(tǒng)總線工作頻率不同,經(jīng)接口電路對系統(tǒng)總統(tǒng)信號緩沖、變換、隔離,進(jìn)行不同層次的操作(ISA、EISA、MCA)局部總線:擴(kuò)充總線不能滿足高性能設(shè)備(圖形、視頻、網(wǎng)絡(luò))接口的要求,在系統(tǒng)總線與擴(kuò)充總線之間插入一層總線。由于它經(jīng)橋接器與系統(tǒng)總線直接相連,因此稱之為局部總線(PCI)。
標(biāo)簽: 微型計(jì)算機(jī) 總線
上傳時(shí)間: 2013-11-09
上傳用戶:nshark
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過本書你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計(jì)使你豁然開朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì) 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動(dòng)控制再到PC 機(jī)上的鍵盤上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機(jī)像Intel Philips Siemens 等這些制造商給51 系列單片機(jī)加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門狗PWM 輸出等不少芯片的工作頻率達(dá)到40M 工作電壓下降到1.5V 基于一個(gè)內(nèi)核的這些功能使得8051 單片機(jī)很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運(yùn)行各種程序而且開發(fā)者只需要學(xué)習(xí)這一個(gè)平臺(tái)8051 系列的基本結(jié)構(gòu)如下1 一個(gè)8 位算術(shù)邏輯單元2 32 個(gè)I/O 口4 組8 位端口可單獨(dú)尋址3 兩個(gè)16 位定時(shí)計(jì)數(shù)器4 全雙工串行通信5 6 個(gè)中斷源兩個(gè)中斷優(yōu)先級6 128 字節(jié)內(nèi)置RAM7 獨(dú)立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個(gè)8051 處理周期包括12 個(gè)振蕩周期每12 個(gè)振蕩周期用來完成一項(xiàng)操作如取指令和計(jì)算指令執(zhí)行時(shí)間可把時(shí)鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時(shí)鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個(gè)數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時(shí)間1.085ms
上傳時(shí)間: 2013-11-09
上傳用戶:chenlong
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過本書你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計(jì)使你豁然開朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì) 這本書向你展示了用8051進(jìn)行工程設(shè)計(jì)時(shí)的許多問題希望你讀完本書后對8051的認(rèn)識(shí)能有較大的提高如果你現(xiàn)在還沒有夠買C編譯器你應(yīng)該馬上去買一個(gè)采用C語言可是你的系統(tǒng)設(shè)計(jì)更簡單維護(hù)更方便這本書覆蓋面較大從C和匯編的代碼優(yōu)化到8051的網(wǎng)絡(luò)設(shè)計(jì)再到模糊控制希望你從本書中學(xué)到的知識(shí)對你今后的系統(tǒng)設(shè)計(jì)有所幫助
上傳時(shí)間: 2013-10-12
上傳用戶:ommshaggar
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1