單片機指令周期:時序是用定時單位來描述的,MCS-51的時序單位有四個,它們分別是節拍、狀態、機器周期和指令周期,接下來我們分別加以說明。節拍與狀態:我們把振蕩脈沖的周期定義為節拍(為方便描述,用P表示),振蕩脈沖經過二分頻后即得到整個單片機工作系統的時鐘信號,把時鐘信號的周期定義為狀態(用S表示),這樣一個狀態就有兩個節拍,前半周期相應的節拍我們定義為1(P1),后半周期對應的節拍定義為2(P2)。機器周期:MCS-51 有固定的機器周期,規定一個機器周期有6 個狀態,分別表示為S1-S6,而一個狀態包含兩個節拍,那么一個機器周期就有12個節拍,我們可以記著S1P1、S1P2……S6P1、S6P2,一個機器周期共包含12個振蕩脈沖,即機器周期就是振蕩脈沖的12 分頻,顯然,如果使用6MHz的時鐘頻率,一個機器周期就是2us,而如使用12MHz的時鐘頻率,一個機器周期就是1us。指令周期:執行一條指令所需要的時間稱為指令周期,MCS-51的指令有單字節、雙字節和三字節的,所以它們的指令周期不盡相同,也就是說它們所需的機器周期不相同,可能包括一到四個不等的機器周期(這些內容,我們將在下面的章節中加以說明)。
上傳時間: 2013-10-15
上傳用戶:qq10538412
對于初學者來說,還有些不直觀,調試過程中看到的是一些數值,并沒有看到這些數值所引起的外圍電路的變化,例如數碼管點亮、發光管發光等。為了讓初學者更好地入門,筆者利用Keil 提供的AGSI 接口開發了兩塊仿真實驗板。這兩塊仿真板將枯燥無味的數字用形象的圖形表達出來,可以使初學者在沒有硬件時就能感受到真實的學習環境,降低單片機的入門門檻。圖1 是鍵盤、LED 顯示實驗仿真板的圖,從圖中可以看出,該板比較簡單,有在P1 口接有8 個發光二極管,在P3 口接有4 個按鈕,圖的右邊給出了原理圖。圖2 是另一個較為復雜的實驗仿真板。在該板上有8 個數碼管,16 個按鍵(接成4*4 的矩陣式),另外還有P1 口接的8個發光管,兩個外部中斷按鈕,一個帶有計數器的脈沖發生器等資源,顯然,這塊板可以完成更多的實驗。
上傳時間: 2013-10-18
上傳用戶:nanshan
PC機之間串口通信的實現一、實驗目的 1.熟悉微機接口實驗裝置的結構和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學會串行通信程序的編制方法。 二、實驗內容與要求 1.基本要求主機接收開關量輸入的數據(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數據通過8251A傳輸出去。終端接收后在顯示器上顯示數據。具體操作說明如下:(1)出現提示信息“start with R in the board!”,通過調整乒乓開關的狀態,設置8位數據;(2)在小鍵盤上按“R”鍵,系統將此時乒乓開關的狀態讀入計算機I中,并顯示出來,同時顯示經串行通訊后,計算機II接收到的數據;(3)完成后,系統提示“do you want to send another data? Y/N”,根據用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數據的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發送方確認來保證發送和接收正確。 三、設計報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發送移位寄存器”(并→串)。能夠完成上述“串←→并”轉換功能的電路,通常稱為“通用異步收發器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發送字符時,必須首先設置TXEN和CTS#為有效狀態,TXEN(Transmitter Enable)是允許發送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發來的對CPU請求發送信號的響應信號。然后就開始發送過程。在發送時,每當CPU送往發送緩沖器一個字符,發送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數據以起始位開始,接著是最低有效數據位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發送的數據是以發送時鐘TXC的下降沿同步的,也就是說這些數據總是在發送時鐘TXC的下降沿從8251A發出。數據傳輸的波特率取決于編程時指定的波特率因子,為發送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數據傳輸的波特率就是發送器時鐘頻率的1/16。CPU通過數據總線將數據送到8251A的數據輸出緩沖寄存器以后,再傳輸到發送緩沖器,經移位寄存器移位,將并行數據變為串行數據,從TxD端送往外部設備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數據的起始位,并且啟動接收控制電路中的一個計數器來進行計數,計數器的頻率等于接收器時鐘頻率。計數器是作為接收器采樣定時,當計數到相當于半個數位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數8個時鐘后采樣到低電平。之后,8251A每隔一個數位的傳輸時間對RxD端采樣一次,依次確定串行數據位的值。串行數據位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數據以后通過內部數據總線送入接收緩沖器,此時發出有效狀態的RxRDY信號通知CPU,通知CPU8251A已經收到一個有效的數據。一個字符對應的數據可以是5~8位。如果一個字符對應的數據不到8位,8251A會在移位轉換成并行數據的時候,自動把他們的高位補成0。 五、系統總體設計方案根據系統設計的要求,對系統設計的總體方案進行論證分析如下:1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數據量,只需使用基本輸入和8位數據線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。2.當使用串口進行數據傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現發送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數器2來實現。4:顯示和鍵盤輸入均使用DOS功能調用來實現。設計思路框圖,如下圖所示: 六、硬件設計硬件電路主要分為8位開關量數據獲取電路,串行通信數據發送電路,串行通信數據接收電路三個部分。1.8位開關量數據獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關的數據。此次設計在獲取8位開關數據量時采用8255令其工作在方式0,A口輸入8位數據,CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。2.串行通信電路串行通信電路本設計中8253主要為8251充當頻率發生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
家電制造業的競爭日益激烈,市場調整壓力越來越大,原始設備制造商們(OEM)為了面對這一挑戰,必須在滿足電磁兼容性的條件下,不斷降低產品的成本。由于強調成本控制,為防止由電源和信號線的瞬變所產生的電器故障而實施必要的瞬態免疫保護,對于家電設計者來說變得更具挑戰性。由于傳統的電源設計和電磁干擾(EMI)控制措施為節約成本讓路,家電設計者必須開發出新的技術來滿足不斷調整的電磁兼容(EMC)需求。本應用筆記探討了瞬態電氣干擾對嵌入式微控制器(MCU)的影響,并提供了切實可行的硬件和軟件設計技術,這些技術可以為電快速瞬變(EFT)、靜電放電(ESD)以及其它電源線或信號線的短時瞬變提供低成本的保護措施。雖然這種探討是主要針對家電制造商,但是也適用于消費電子、工業以及汽車電子方面的應用。 低成本的基于MCU 的嵌入式應用特別容易受到ESD 和EFT 影響降低性能。即使是運行在較低時鐘頻率下的微控制器,通常對快速上升時間瞬變也很敏感。這種敏感性歸咎于所使用的工藝技術。如今針對低成本8/16位的MCU的半導體工藝技術所實現的晶體管柵極長度在0.65 μm~0.25 μm范圍內。此范圍內的柵極長度能產生和響應上升時間在次納秒范圍內(或超過300 MHz 的等同帶寬)的信號。因此, MCU 能夠響應進入其引腳的ESD 或EFT 信號。除上述工藝技術之外, MCU 在ESD 或EFT 事件中的性能還會受到IC 設計及其封裝、印刷電路板(PCB)的設計、MCU 上運行的軟件、系統設計以及ESD 或EFT 波形特征的影響。各因素的相對影響(強調對最大影響的貢獻)如圖1 所示。
上傳時間: 2013-11-09
上傳用戶:Jerry_Chow
19-1. 單片機典型應用系統組成19-2.單片機應用系統實例19-3.單片機應用系統的開發過程單片機系統組成A/D接口:實現模擬信號的采集并行A/D串行A/DD/A接口:輸出模擬量的控制信號并行D/A串行D/A開關量輸入輸出:實現開關信號的檢測和控制步進電機、PWM控制的直流電機開關量輸出的傳感器(如光電、霍爾傳感器等)通信接口:實現系統和外界(單片機或PC)的數據交換RS-232CRS-485人機界面:溝通用戶和系統的渠道鍵盤、顯示打印機
上傳時間: 2013-11-08
上傳用戶:skfreeman
#include<reg51.h>/*************************ds1302與at89s52引腳連接********************/sbit T_RST=P3^5; sbit T_CLK=P3^6; sbit T_IO=P3^7; sbit ACC0=ACC^0;sbit ACC7=ACC^7;unsigned char seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; //0~~9段碼 /******************DS1302:寫入操作(上升沿)*********************/ void write_byte(unsigned char da){ unsigned char i; ACC=da; for(i=8;i>0;i--) { T_IO=ACC0; T_CLK=0; T_CLK=1; ACC=ACC>>1; }} /******************DS1302:讀取操作(下降沿)*****************/unsigned char read_byte(void){ unsigned char i; for(i=0;i<8;i++) { ACC=ACC>>1; T_CLK = 1; T_CLK = 0; ACC7 = T_IO; } return(ACC); } /******************DS1302:寫入數據(先送地址,再寫數據)***************************/ void write_1302(unsigned char addr,unsigned char da){ T_RST=0; //停止工作 T_CLK=0; T_RST=1; //重新工作 write_byte(addr); //寫入地址 write_byte(da); T_RST=0; T_CLK=1;}
上傳時間: 2014-01-17
上傳用戶:sglccwk
8051單片機教程:一臺能夠工作的計算機要有這樣幾個部份構成:CPU(進行運算、控制)、RAM(數據存儲)、ROM(程序存儲)、輸入/輸出設備(例如:串行口、并行輸出口等)。在個人計算機上這些部份被分成若干塊芯片,安裝一個稱之為主板的印刷線路板上。而在單片機中,這些部份,全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機,而且有一些單片機中除了上述部份外,還集成了其它部份如A/D,D/A等。 PC中的CPU一塊就要賣幾千塊錢,這么多東西做在一起,還不得買個天價!再說這塊芯片也得非常大了。 不,價格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只8只引腳。為什么會這樣呢? 功能有強弱,打個比方,市場上面有的組合音響一套才賣幾百塊錢,可是有的一臺功放機就要賣好幾千。另外這種芯片的生產量很大,技術也很成熟,51系列的單片機已經做了十幾年,所以價格就低了。 既然如此,單片機的功能肯定不強,干嗎要學它呢? 話不能這樣說,實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能,一個控制電冰箱溫度的計算機難道要用PIII?應用的關鍵是看是否夠用,是否有很好的性能價格比。所以8051出來十多年,依然沒有被淘汰,還在不斷的發展中。 2、MCS51單片機和8051、8031、89C51等的關系我們平常老是講8051,又有什么8031,現在又有89C51,它們之間究竟是什么關系? MCS51是指由美國INTEL公司(對了,就是大名鼎鼎的INTEL)生產的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產品,該系列其它單片機都是在8051的基礎上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發生產的。以后我們將用89C51來完成一系列的實驗。
上傳時間: 2013-11-17
上傳用戶:crazyer
8086總線操作:8086微處理器與片外存儲器或I/O接口進行數據傳輸時,經BIU執行8086規定的總線操作。總線周期的組成:8086的基本總線周期為4個時鐘周期,每個時鐘周期間隔稱為一個T狀態。8086的中斷系統:8086微處理器可處理256種中斷。8086對外部硬件中斷請求INTR的響應: 當INTR有一高電平,即有可屏蔽中斷請求。若此時IF=1且當前指令執行完,進入中斷響應周期,處理過程如下:INTA#在兩個總線周期中分別發出有效信號,第二周期中8086讀到中斷類型碼保護現場:標志寄存器入棧,清除IF和TF標志位,保護斷點(下一條指令地址入棧)。8086總線請求:在一個系統中,若存在多個可控制總線的主模塊時,總線使用權的轉移存在著一個請求與響應的過程。
上傳時間: 2013-10-21
上傳用戶:皇族傳媒
RS-232-C 是PC 機常用的串行接口,由于信號電平值較高,易損壞接口電路的芯片,與TTL電平不兼容故需使用電平轉換電路方能與TTL 電路連接。本產品(轉接器),可以實現任意電平下(0.8~15)的UART串行接口到RS-232-C/E接口的無源電平轉接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特點?傳輸電纜長度如何考慮?答: 計算機與計算機或計算機與終端之間的數據傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970 年由美國電子工業協會(EIA)聯合貝爾系統、 調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標準”該標準規定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內容加以規定,還對各種信號的電平加以規定。(1) 接口的信號內容實際上RS-232-C 的25 條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9 條引線。(2) 接口的電氣特性 在RS-232-C 中任何一條信號線的電壓均為負邏輯關系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容限為2V。即 要求接收器能識別低至+3V 的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1”(3) 接口的物理結構 RS-232-C 接口連接器一般使用型號為DB-25 的25 芯插頭座,通常插頭在DCE 端,插座在DTE端. 一些設備與PC 機連接的RS-232-C 接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發送數據”、“接收數據”和“信號地”。所以采用DB-9 的9 芯插頭座,傳輸線采用屏蔽雙絞線。(4) 傳輸電纜長度由RS-232C 標準規定在碼元畸變小于4%的情況下,傳輸電纜長度應為50 英尺,其實這個4%的碼元畸變是很保守的,在實際應用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50 英尺,美國DEC 公司曾規定允許碼元畸變為10%而得出附表2 的實驗結果。其中1 號電纜為屏蔽電纜,型號為DECP.NO.9107723 內有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網。2 號電纜為不帶屏蔽的電纜。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特點?答: 由于RS-232-C 接口標準出現較早,難免有不足之處,主要有以下四點:(1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉換電路方能與TTL 電路連接。(2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps。(3) 接口使用一根信號線和一根信號返回線而構成共地的傳輸形式, 這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。(4) 傳輸距離有限,最大傳輸距離標準值為50 英尺,實際上也只能 用在50 米左右。針對RS-232-C 的不足,于是就不斷出現了一些新的接口標準,RS-485 就是其中之一,它具有以下特點:1. RS-485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V 表示;邏輯“0”以兩線間的電壓差為-(2—6)V 表示。接口信號電平比RS-232-C 降低了,就不易損壞接口電路的芯片, 且該電平與TTL 電平兼容,可方便與TTL 電路連接。2. RS-485 的數據最高傳輸速率為10Mbps3. RS-485 接口是采用平衡驅動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。4. RS-485 接口的最大傳輸距離標準值為4000 英尺,實際上可達 3000 米,另外RS-232-C接口在總線上只允許連接1 個收發器, 即單站能力。而RS-485 接口在總線上是允許連接多達128 個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485 接口方便地建立起設備網絡。因RS-485 接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成為首選的串行接口。 因為RS485 接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485 接口連接器采用DB-9 的9 芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485 采用DB-9(針)。3. 采用RS485 接口時,傳輸電纜的長度如何考慮?答: 在使用RS485 接口時,對于特定的傳輸線經,從發生器到負載其數據信號傳輸所允許的最大電纜長度是數據信號速率的函數,這個 長度數據主要是受信號失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號速率的關系曲線是使用24AWG 銅芯雙絞電話電纜(線 徑為0.51mm),線間旁路電容為52.5PF/M,終端負載電阻為100 歐 時所得出。(曲線引自GB11014-89 附錄A)。由圖中可知,當數據信 號速率降低到90Kbit/S 以下時,假定最大允許的信號損失為6dBV 時, 則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實 用時是完全可以取得比它大的電纜長度。 當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例 如:當數據信號速率為600Kbit/S 時,采用24AWG 電纜,由圖可知最 大電纜長度是200m,若采用19AWG 電纜(線徑為0。91mm)則電纜長 度將可以大于200m; 若采用28AWG 電纜(線徑為0。32mm)則電纜 長度只能小于200m。
上傳時間: 2013-10-11
上傳用戶:時代電子小智
具有梯形反電動勢的永磁同步電動機通常被稱為無刷直流電動機,它具有結構簡單、體積小、重量輕、效率高、高功率密度、啟動扭矩大、慣量小和響應快等其它種類直流電機無法比擬的特性。采用電子換向器替代了傳統直流電動機的機械換向裝置,從而克服了電刷和換向器所引起的噪聲、火花、電磁干擾、壽命短等一系列弊病。由于無刷直流電動機既具備交流電動機的結構簡單、運行可靠、維護方便等一系列優點,又具 有直流電動機的運行效率高、無勵磁損耗以及調速性能好等諸多優點,故其在在家用消費類產品(空調、冰箱、洗衣機)和IT周邊產品(打印機、軟驅、硬驅)中得到廣泛的應用。 C8051F單片機是美國Silabs公司推出的一種與51系列單片機內核兼容的單片機,具有高速、高性能、高集成度。以C8051F020為例,具有如下特點: C8051F020片上系統單片機片內資源: 一、模塊外設 (1)逐次逼近型8路12位ADC0 轉換速率最大100ksps 可編程增益放大器PGA 溫度傳感器 (2)8路8位ADC1輸入與P1口復用 轉換速率500ksps 可編程增益放大器PGA (3)兩個12 位DAC (4)兩個模擬電壓比較器 (5)電壓基準內部提供2.43V 外部基準可輸入 (6)精確的VDD監視器 二、高速8051微控制器內核 流水線式指令結構速度可達25MIPS 22個矢量中斷源 三、存儲器 片內4352字節數據RAM 64KBFlash程序存儲器可作非易失性存儲
上傳時間: 2013-12-21
上傳用戶:bnfm