單片機串行通信發(fā)射機 我所做的單片機串行通信發(fā)射機主要在實驗室完成,參考有關(guān)的書籍和資料,個人完成電路的設(shè)計、焊接、檢查、調(diào)試,再根據(jù)自己的硬件和通信協(xié)議用匯編語言編寫發(fā)射和顯示程序,然后加電調(diào)試,最終達到準確無誤的發(fā)射和顯示。在這過程中需要選擇適當(dāng)?shù)脑侠淼碾娐穲D扎實的焊接技術(shù),基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調(diào)試,會熟練的運用匯編語言編寫程序,會用相關(guān)的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統(tǒng)一通信協(xié)議,要耐心的反復(fù)檢查、修改和調(diào)試,直到達到預(yù)期目的。單片機串行通信發(fā)射機采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內(nèi)部時鐘方式,控制信號用手動開關(guān)來控制,P1口來控制,P2、P3口產(chǎn)生信號并通過共陽極數(shù)碼管來顯示,軟件采用匯編語言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。畢業(yè)設(shè)計的目的是了解基本電路設(shè)計的流程,豐富自己的知識和理論,鞏固所學(xué)的知識,提高自己的動手能力和實驗?zāi)芰Γ瑥亩邆湟欢ǖ脑O(shè)計能力。我做得的畢業(yè)設(shè)計注重于對單片機串行發(fā)射的理論的理解,明白發(fā)射機的工作原理,以便以后單片機領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識理論,做到理論和實際結(jié)合。本課題的重要意義還在于能在進一步層次了解單片機的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機的接口技術(shù),中斷技術(shù),存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設(shè)計。我的畢業(yè)設(shè)計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發(fā)射機電路的設(shè)計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結(jié)構(gòu)和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節(jié)可編程閃爍存儲器,壽命:1000次可擦,數(shù)據(jù)保存10年,全靜態(tài)工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內(nèi)部RAM,32 跟可編程I/O 線,兩個16 位定時/計數(shù)器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內(nèi)時鐘工作方式,控制信號采用手動控制。數(shù)據(jù)的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數(shù)碼顯示管的工作方式、組成,共陽極和共陰極數(shù)碼顯示管的電路組成,有動態(tài)和靜態(tài)顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應(yīng)該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設(shè)計原理后,根據(jù)原理和目的畫出電路流程圖,列出數(shù)碼顯示的斷碼表,計算波特率,設(shè)置串行口,在與接受機設(shè)置相同的通信協(xié)議的基礎(chǔ)上編寫顯示和發(fā)射程序。編寫完程序還要進行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調(diào)試,及遇到的問題,在沒問題后與接受機連接,發(fā)射數(shù)據(jù),直到對方準確接收到。在軟件調(diào)試過程中將詳細介紹調(diào)試遇到的問題,例如:通信協(xié)議是否相同,數(shù)碼管是否與芯片連接對應(yīng),計數(shù)器是否開始計數(shù)等。
上傳時間: 2013-10-19
上傳用戶:uuuuuuu
SPCE061A的指令周期表 SPCE061A的指令周期表[注意]:表中目標寄存器為PC時,部分指令周期會發(fā)生改變;建議在非必要的情況下,盡量不用PC作為目標寄存器。[符號約定]:表中符號代表的含義如下:R1,R2,R3,R4: 通用寄存器;BP(R5): 基址指針寄存器,也可以作為通用寄存器使用;SR: 段寄存器;SP: 堆棧指針寄存器;PC: 程序計數(shù)器;N: 負標志;Z: 零標志;S: 符號標志;C: 進位標志;IM6: 6位立即數(shù)尋址;IM16: 16位立即數(shù)尋址;[A6]: 存儲器絕對尋址,用6位立即數(shù)表示地址;[A16]: 存儲器絕對尋址,用16位立即數(shù)表示地址;R: 寄存器尋址;[R]: 寄存器間接尋址;[BP+IM6]: 變址尋址,地址偏移量為6位立即數(shù);[BP+IM16]: 變址尋址,地址偏移量為16位立即數(shù);{}: 可選項;D: 數(shù)據(jù)段基址,D:或省略都表示基址為0(在第0頁);#: 算術(shù)邏輯運算符(不能為乘除);n 移位操作時的移位位數(shù)。
上傳時間: 2013-10-23
上傳用戶:nanshan
給初學(xué)單片機的經(jīng)典必備實驗單片機學(xué)習(xí)最重要是的是要搞清楚其內(nèi)部的硬件結(jié)構(gòu)。如:p0 p1 p2 p3 T1 T2 以及UART。 至于在編程方面,首先要理解單片機其編程語言和一般的匯編語言以及c語言的區(qū)別。 最大的不 同是在于單片機編程主要是圍繞定時器和UART來編程的, 所以要你對那些特殊寄存器要特別的熟 悉,如TMOD PCON SCON PSW IP,一提起這些你應(yīng)該馬上知道這些寄存器里面所包含位及其中的意 義。如果你做到了這點,可以說單片機你算入門了。 剛開始不要學(xué)太多的單片機,單片機的種類很多,但你學(xué)精了一個,其他的很好學(xué)的,無非只是 在定時器和寄存器上有所不同罷了。 單片機學(xué)習(xí)是一個辛苦的過程,希望大家能吃苦耐勞,持之以恒。 鑒于本人學(xué)習(xí)的不足之處,少許錯誤,盡情諒解。 感謝您使用本教程。
上傳時間: 2013-11-19
上傳用戶:xjy441694216
用EasyFPGA030開發(fā)套件,游戲電路是模擬乒乓球比賽,可供兩人游戲。甲乙各持一按鍵作為球拍,實驗板上一行16只發(fā)光二極管為乒乓球運動軌跡,用一只亮點代表乒乓球,它可以在此軌跡上左右移動。擊球位置應(yīng)在左右端第2只發(fā)光二極管位置,若擊球鍵恰好當(dāng)球到達擊球位置時按下,則發(fā)出短短的擊球聲,球即向相反方向移動,若按鍵偏早或偏晚,則擊球無效,無球聲發(fā)出,球?qū)⒗^續(xù)向前運行至移位寄存器末端,并停止在該位置上不動也可以設(shè)計為亮點熄滅,此時判擊球者失敗,記分板上給勝球者加1分,再經(jīng)過1s后,亮點自動按乒乓球比賽規(guī)則移到發(fā)球者的擊球位置上,發(fā)球者按動擊球按鍵,下一次比賽開始。
上傳時間: 2013-11-15
上傳用戶:z240529971
PIC單片機實用教程基礎(chǔ)篇+提高篇 PIC單片機(Peripheral Interface Controller)是一種用來開發(fā)的去控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)。 PIC 單片機是一個小的計算機 PIC單片機有計算功能和記憶內(nèi)存像CPU并由軟件控制允行。然而,處理能力—存儲器容量卻很有限,這取決于PIC的類型。但是它們的最高操作頻率大約都在20MHz左右,存儲器容量用做寫程序的大約1K—4K字節(jié)。 時鐘頻率與掃描程序的時間和執(zhí)行程序指令的時間有關(guān)系。但不能僅以時鐘頻率來判斷程序處理能力,它還隨處理裝置的體系結(jié)構(gòu)改變(1*)。如果是同樣的體系結(jié)構(gòu),時鐘頻率較高的處理能力會較強。 這里用字來解釋程序容量。用一個指令(2*)表示一個字。通常用字節(jié)(3*)來表示存儲器(4*)容量。一個字節(jié)有8位,每位由1或0組成。PIC16F84A單片機 的指令由14位構(gòu)成。當(dāng)把1K個子轉(zhuǎn)換成位為:1 x 1,024 x 14 = 14,336位。再轉(zhuǎn)換為字節(jié)為:14,336/(8 x 1,024) = 1.75K。在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進制計算的緣故。 1*計算機的物理結(jié)構(gòu),包括組織結(jié)構(gòu)、容量、該計算機的CPU、存儲器以及輸入輸出設(shè)備間的互連。經(jīng)常特指CPU的組織結(jié)構(gòu),包括它的寄存器、標志、總線、算術(shù)邏輯部件、指令譯碼與執(zhí)行機制以及定時和控制部件。 2*指出某種操作并標識其操作數(shù)(如果有操作數(shù)的話)的一種語言構(gòu)造 3*作為一個單位來操作(運算)的一個二進制字符串,通常比計算機的一個字短。 4*處理機內(nèi)的所有可尋址存儲空間以及用于執(zhí)行指令的其它內(nèi)存儲器。 在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進制計算的緣故。 用PIC單片機使電路做的很小巧變得可能。 因為PIC單片機可以把計算部分、內(nèi)存、輸入和輸出等都做在一個芯片內(nèi)。所以她工作起來效率很高、功能也自由定義還可以靈活的適應(yīng)不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。
上傳時間: 2013-10-15
上傳用戶:sxdtlqqjl
Keil C51開發(fā)系統(tǒng)基本知識3 1. 1. 專用寄存器include文件例如8031、8051均為REG51.h其中包括了所有8051的SFR及其位定義,一般系統(tǒng)都必須包括本文件。2. 2. 絕對地址include文件absacc.h該文件中實際只定義了幾個宏,以確定各存儲空間的絕對地址。3. 3. 動態(tài)內(nèi)存分配函數(shù),位于stdlib.h中 4. 4. 緩沖區(qū)處理函數(shù)位于“string.h”中其中包括拷貝比較移動等函數(shù)如:memccpy memchr memcmp memcpy memmove memset這樣很方便地對緩沖區(qū)進行處理。5. 5. 輸入輸出流函數(shù),位于“stdio.h”中流函數(shù)通8051的串口或用戶定義的I/O口讀寫數(shù)據(jù),缺省為8051串口,如要修改,比如改為LCD顯示,可修改lib目錄中的getkey.c及putchar.c源文件,然后在庫中替換它們即可。3. 第三節(jié) Keil C51庫函數(shù)原型列表
標簽: Keil C51 開發(fā)系統(tǒng) 基本知識
上傳時間: 2013-11-06
上傳用戶:smallfish
ARM指令集(2) 1.跳轉(zhuǎn)指令 在ARM中有兩種方式可以實現(xiàn)程序的跳轉(zhuǎn):一種是刀‘轉(zhuǎn)指令;另一種是直接向PC寄存器(R15)中寫入目標地址值。 通過直接向PC寄存器中寫入目標地址值可以實現(xiàn)在46B地址空間中任意跳轉(zhuǎn),這種跳轉(zhuǎn)指令又稱為長跳轉(zhuǎn)。如果在長跳轉(zhuǎn)指令之前使用MOV LR,PC等指令,則可以保存將來返回的地址值,這樣就實現(xiàn)了在46B地址空間中的子程序調(diào)用。 在ARM版本5及以上的體系中,實現(xiàn)了ARM指令集和Thumb指令集的混合使用。指令使用目標地址值的bit[0]來確定目標程序的類型。bit[0]的值為1時,目標程序為Thumb指令;bit[0]值為0時,目標程序為ARM指令。 在ARM版本5以前的體系中,傳送到PC寄存器中的目標地址值的低兩位bits[1∶0]被忽略,跳轉(zhuǎn)指令只能在ARM指令集中執(zhí)行,即程序不能從ARM狀態(tài)切換到Thumb狀態(tài)。非T系列ARM版本5體系不含Thumb指令,當(dāng)程序試圖切換到Thumb狀態(tài)時,將產(chǎn)生未定義指令異常中斷。 ARM跳轉(zhuǎn)指令可以從當(dāng)前指令向前或向后的32MB地址空間跳轉(zhuǎn)。這類跳轉(zhuǎn)指令有以下4種。
上傳時間: 2013-11-20
上傳用戶:妄想演繹師
帶您從零學(xué)單片機之定時器部分 課程簡介1定時器/計數(shù)器簡介2定時器/計數(shù)器特殊功能寄存器功能講解3 定時器/計數(shù)器工作方式4定時器/計數(shù)器相關(guān)計算5定時器計數(shù)器應(yīng)用操作流程6定時器/計數(shù)器程序?qū)嵗O(shè)計17定時器/計數(shù)器程序?qū)嵗O(shè)計28課后作業(yè)
上傳時間: 2013-11-08
上傳用戶:tiantian
默認狀態(tài): –在進入中斷服務(wù)程序時,I位自動置1,禁止其他可屏蔽中斷 –即使有優(yōu)先級更高的中斷請求,也必須等當(dāng)前中斷服務(wù)程序執(zhí)行完以后才能響應(yīng) –優(yōu)先級的作用只有在多個中斷源同時請求中斷時在能體現(xiàn) –無法實現(xiàn)中斷嵌套 如果在進入中斷服務(wù)程序時,手動對I位清零: –任何其他可屏蔽中斷都可以被響應(yīng),無論其優(yōu)先級有多高 –中斷響應(yīng)由時間控制,可以實現(xiàn)中斷嵌套 –對中斷執(zhí)行無法預(yù)測 HPRIO寄存器 –寫入HPRIO中的中斷向量的后八位,可以改變該中斷的優(yōu)先級 –同樣,優(yōu)先級的作用只有在多個中斷源同時請求中斷時在能體現(xiàn)
上傳時間: 2014-12-28
上傳用戶:xauthu
以典型的9S08 系列為例,當(dāng)你選擇了一個MCU 型號后,在圖1-4 右側(cè)會顯示出所有針對該型號芯片可用的項目調(diào)試場景。其中:Full Chip Simulator是芯片全功能模擬仿真,即無需任何目標系統(tǒng)的硬件資源,直接在你的PC 機上模擬運行單片機的程序,在模擬運行過程中可以觀察調(diào)試程序的各項控制和運行流程,分析代碼運行的時間,觀察各種變量,等等。CW 提供了功能強大的模擬激勵功能,可以在模擬運行時模擬一些外部事件的輸入,配合程序調(diào)試;P&E Multilink/Cyclone Pro是基于P&E 公司的硬件調(diào)試工具實現(xiàn)實時在線硬件調(diào)試。實際就是我們經(jīng)常說的BDM 調(diào)試。BDM 調(diào)試是基于芯片本身內(nèi)含的在線調(diào)試功能,可實現(xiàn)程序下載,單步/全速運行,可以設(shè)若干個斷點,可以觀察和修改任意寄存器或RAM 內(nèi)存空間。BDM 幾乎是開發(fā)飛思卡爾8 位(9S08 和RS08 系列)、16 位(9S12 系列)和32 位(Coldfire V1 系列)單片機的標準調(diào)試模式,運用最為廣泛;SofTec HCS08是另外一家SofTec 公司提供的硬件調(diào)試工具,國內(nèi)使用較少;HCS08 Serial Monitor是基于芯片串口的監(jiān)控調(diào)試開發(fā)模式。由于開發(fā)效率較低,現(xiàn)在幾乎無人使用。
上傳時間: 2013-10-10
上傳用戶:alex wang
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1