自己在學校的時候做的一些單片機仿真實例和一些資料,希望對大家有些幫助
上傳時間: 2013-11-08
上傳用戶:oojj
適用于51單片機的串口發n
上傳時間: 2014-12-25
上傳用戶:qingzhuhu
89c51一種用N+1條線實現矩陣鍵盤
標簽: 矩陣鍵盤
上傳時間: 2014-12-26
上傳用戶:lhw888
MCP定時器產生中心對稱PWM輸出:PWM波是一種脈寬可調的脈沖波,用于交、直流電機的電壓控制。PWM一共有兩種調整方法,一是定頻調寬、另一種是定寬調頻。其中定頻調寬是種最常見的脈寬調制方式,它使脈沖波的頻率保持不變,只調整脈沖寬度。同時定頻調寬的PWM波形也分為兩種,一種是單邊的PWM,另一種是中心對稱的雙邊PWM。中心對稱的PWM主要應用在需要對稱PWM波形的場合,如半橋、全橋的雙極性驅動等。中心對稱的PWM的生成原理如圖1-2所示:定時計數器工作在連續增減計數方式,在計數初值設置為0且比較值小于周期值的條件下,當增計數過程中計數值和比較值匹配時置位輸出,而在周期匹配時會改計數方向為減計數,當減計數過程中計數值和比較值匹配時復位輸出,當減計數到零時會改計數方向為增計數,開始下一個循環。因此中心對稱的PWM的周期為設定周期的二倍,占空比為:%100))((×−TPRNTPR(N為比較匹配數據,TPR為周期寄存器的值)。比較值的改變會影響PWM的兩邊的波形,并且兩邊相對高電平的中心對稱,這便是中心對稱雙邊PWM波形的特點。如果比較值為零,那么PWM將一直輸出高電平;如比較值大于等于周期值,則PWM會一直輸出低電平,占空比為0。
上傳時間: 2013-11-13
上傳用戶:sammi
單片機指令系統 3.1 MCS-51指令簡介 3.2 指令系統 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數據傳送指令位操 2、直接尋址 2、算術運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內部數據存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(立即數); #datal6——表示16位常數; add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內容 (( ))——表示間接尋址的內容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數的指令 2. 以Rn為目的操作數的指令 3. 以直接地址為目的操作數的指令 4. 以寄存器間接地址為目的操作數指令 應用舉例1 8段數碼管顯示 應用舉例2 3.2 指令系統 2、堆棧操作指令 3. 累加器A與外部數據傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節交換指令 6. 半字節交換指令 二、算術操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環指令 帶進位左循環指令(Rotate Accumulator Left through Carry flag) 右循環指令(Rotate Accumulator Right) 帶進位右循環指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉移類指令 1. 跳轉指令 相對轉移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關系 2. 條件轉移指令 3. 比較不相等轉移指令 4. 減 1 不為 0 轉移指令 5. 調用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數據位傳送指令 2. 位變量邏輯指令 3. 條件轉移類指令
上傳時間: 2013-10-27
上傳用戶:xuanjie
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
上傳用戶:小火車啦啦啦
傳感器實驗全、半橋
上傳時間: 2014-01-21
上傳用戶:brain kung
手持6位半萬用表
上傳時間: 2013-10-12
上傳用戶:xjy441694216
CST天線右旋圓極化半空間效率計算
上傳時間: 2014-12-30
上傳用戶:zhang97080564
文中介紹了半主動式電子標簽硬件和軟件的設計方案,應用AS3933低頻喚醒接收芯片實現了電子標簽低頻喚醒接收功能。針對低頻喚醒接收模塊,計算和討論了其并聯諧振電路相關的參數,并給出了電路和程序設計的方案。應用低頻喚醒技術的半主動式電子標簽可靠的低頻通信距離可達3m以上,同時低頻喚醒技術顯著降低了電子標簽的運行功耗。
上傳時間: 2013-11-01
上傳用戶:zhf01y