單片機原理與C基礎趙麗清單片機基礎介紹_第1頁
單片機原理與C基礎趙麗清單片機基礎介紹_第2頁
單片機原理與C基礎趙麗清單片機基礎介紹_第3頁
單片機原理與C基礎趙麗清單片機基礎介紹_第4頁
單片機原理與C基礎趙麗清單片機基礎介紹_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章緒論第1章目錄1.1單片機

1.1.1掌握單片機的概念

1.1.2了解單片機的發展歷史及產品近況

1.1.3熟悉嵌入式處理器家族

1.1.4明確單片機的課程地位及其學習方法1.2單片機開發所需軟硬件介紹

6.2.1模式0 6.2.2模式1 6.2.3模式2 6.2.4模式31.3數字電路基礎

1.4數制與編碼的簡單回顧

6.3.2定時/計數器模式1的應用

6.3.3定時/計數器模式2的應用

6.3.4定時/計數器門控位GATE的應用

6.3.5運行中讀定時/計數器1.1單片機1.1.1單片機的概念1、單片機“單片機”的稱呼由英文名稱“SingleChipMicrocomputer”直接翻譯而來,縮寫為SCM。所謂單片機就是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM(內存)、只讀存儲器ROM(硬盤)、I/O口、中斷系統、定時/計數器和串行接口等功能集成到一塊芯片上構成的一個小而完善的計算機系統。單片機是一個芯片級的電腦。1.1單片機1.1.1單片機的概念1、單片機目前單片機業界主流產品之一,深圳宏晶公司出品的STC89系列單片機的芯片照片,(a)雙列直插DIP封裝(b)貼片式封裝1.1單片機1.1.1單片機的概念2、單片機的應用領域單片機的應用領域十分廣泛,如智能儀表(各類檢測儀表、數字電壓表、數字示波器)、家用電器(洗衣機、空調等)、軍事裝置(夜視儀、導航儀)、實時工業控制(電鍍生產線、工業機器人)。單片機在系統中主要起到測量和控制的作用。各種機械裝置一旦用上了單片機,就能使得產品升級換代,并會將其名稱冠以“微電腦控制”、“智能型”標志。1.1單片機1.1.1單片機的概念2、單片機的應用領域單片機在儀表、家電、火箭領域的應用圖片。其中最左側的儀表是由本書主編指導本科學生自主研發的水體化合物分析儀器,其能夠實現在線檢測水體中氨氮及亞硝氮等化合物的含量。是單片機和分析化學原理相結合的跨學科成果。1.1單片機1.1.1單片機的概念2、單片機與計算機(PC)的區別從本質上講,單片機和計算機屬于同祖同宗,單片機追求的是滿足特定功能的基礎上,體積要足夠小,終極目標是將盡量多的外設集成到芯片內部;而計算機則追求的主要是高速運算、海量存儲,對體積沒有顯著要求。

單片機與普通微型計算機的不同之處在于其將CPU、ROM和RAM三部分,通過內部總線連接在一起,集成于一塊芯片上。1.1單片機1.1.2單片機的發展歷史及產品近況1、51系列單片機的誕生第一階段(1974-1976)單板機的產生:單板機是單片機的前身。風靡我國上世紀80年代,由北京工業大學研發、生產的TP801單板機就是以Z80為內核設計的。有代表性的還有美國Fairchild(仙童)公司的F8系列。第二階段(1976-1978)單片機的低性能階段:最早的單片機是由美國INTEL(英特爾)公司1976年推出的MCS-48系列,其早已經退出歷史舞臺。1.1單片機1.1.2單片機的發展歷史及產品近況1、51系列單片機的誕生第三階段(1978-1983)單片機的基本發展階段:這一時期INTEL公司的8031單片機因為簡單可靠、性能良好獲得了很大的好評。此后INTEL公司發展出了MCS-51系列單片機系統,“MCS”代表了INTEL公司的產品。 其中基本型產品是8031/8051/8751(對應的低功耗是80C31/80C51/87C51)和增強型的8032/8052/8752單片機。MCS-51系列單片機的產品典范是8051單片機。INTEL公司以專利轉讓或技術交換的形式把8051的內核技術轉讓給了世界許多半導體芯片廠家,如ATMEL、Philips(飛利浦)、LG、ADI。這些廠家生產的兼容機與8051的內核結構與指令系統相同,并在此基礎上不斷完善其性能,形成了后來稱作“8051系列單片機”的龐大體系1.1單片機1.1.2單片機的發展歷史及產品近況2、51系列單片機的發展從1983年至今,8位51系列單片機不斷自我發展、長盛不衰。這時8位單片機追求更低的功耗,從而8051系列中的大部分產品已經發展成為80C51,其字符“C“表示了單片機內部集成電路工藝的CMOS化,其功耗更低。更多的外圍電路被裝入單片機內部,“單片化”設計思想被更大、更廣的應用于單片機芯片設計中。在我國市場上曾經風靡的機型有臺灣華邦(Winbond)公司的W78系列,美國ATMEL(愛特梅爾)公司的AT89C5X系列以及AT89S5X系列單片機。1.1單片機1.1.2單片機的發展歷史及產品近況3、AVR、PIC進入8位機主流市場目前8位單片機市場上占有率高的除了采用復雜指令集(CISC)的51系列,還有AVR和PIC(PeripheralInterfaceController)系列單片機。其中AVR單片機是1997年美國Atmel公司挪威設計中心的A先生與V先生共同研發出的,所以就簡稱AVR,其第三個字母R代表了該芯片CPU的精簡指令(RISC)結構。PIC單片機是美國Microchip(微芯)公司的產品,PIC單片機CPU亦屬精簡指令結構,分別有33、35、58條指令。其種類多,芯片抗干擾能力強,也是可以和51系列單片機抗衡的單片機。其他如Motorola(摩托羅拉)單片機、Scenix(西門子)單片機、EPSON(愛普生)等諸多公司的單片機也在8位單片機市場占有自己的位置。1.1單片機1.1.2單片機的發展歷史及產品近況4、16位和32位高檔單片機的推出20世紀90年代初,隨著工業控制領域要求的提高,各大公司都開始推出16位單片機,但因為性價比不理想并未得到很廣泛的應用。但TI(美國德州儀器)公司出品的MSP430系列以其超低功耗的特性在儀器儀表及手持設備領域占有絕對優勢。進入21世紀,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場,其中ARM7是典型代表。總之,目前市場以8位低端和32位高端單片機齊頭并進的形式存在、發展。8位單片機的性能得到了飛速提高,處理能力比起20世紀80年代提高了數百倍,其主要應用在工業控制領域。32位單片機主頻已經超過300MHz,性能直追90年代中期的個人電腦CPU,主要應用在高端智能通信設備領域。1.1單片機1.1.3嵌入式處理器家族4、16位和32位高檔單片機的推出具有各種不同體系結構的處理器構成了嵌入式處理器家族,它們是嵌入式系統的核心部件。據不完全統計,全世界嵌入式處理器的品種數已經超過1000種,按其體系結構主要分為如下四類:單片機(嵌入式微控制器);嵌入式數字信號處理器(DigitalSignalProcessor,DSP);嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)片上系統(SystemOnChip,SOC)。1.1單片機1.1.3嵌入式處理器家族具有各種不同體系結構的處理器構成了嵌入式處理器家族,它們是嵌入式系統的核心部件。據不完全統計,全世界嵌入式處理器的品種數已經超過1000種,按其體系結構主要分為如下四類:單片機(嵌入式微控制器);嵌入式數字信號處理器(DigitalSignalProcessor,DSP);嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)片上系統(SystemOnChip,SOC)。1.1單片機1.1.3嵌入式處理器家族1、嵌入式數字信號處理器(DSP)DSP是非常擅長于高速實現各種數字信號處理運算(如數字濾波FFT,頻譜分析等)的嵌入式處理器。1981年,美國TI(TexasInstruments)公司研制出了著名的TMS320系列,首片低成本、高性能的DSP處理器芯片TMS320C10,使DSP從概念走向了產品。1.1單片機1.1.3嵌入式處理器家族2、嵌入式微處理器(EMPU)嵌入式微處理器(EMPU)的基礎是通用計算機中的CPU。EMPU嵌入式微處理器是由通用計算機中的CPU演變而來的。與計算機處理器不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬件,去除其他的冗余功能部分,這樣就以最低的功耗和資源實現嵌入式應用的特殊要求。和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。但是,嵌入式微處理器在功能方面與標準的微處理器基本上是一樣的。嵌入式處理器目前最成功的就是32位ARM系列,其性能已經與幾年前的筆記本電腦相當,主要有ARM7、ARM9、ARM11以及最新的ARMCrotex系列。1.1單片機1.1.3嵌入式處理器家族2、嵌入式微處理器(EMPU)以嵌入式微處理器為核心的嵌入式系統能夠運行實時多任務系統,因此其在多媒體手機、機頂盒、數字電視等領域都應用廣泛。“嵌入式系統”這個名詞在業界已經應用很久,但是對其的定義仍然存在很多爭論。廣義上講,凡是系統中嵌入了“嵌入式微處理器”,如:單片機、DSP、嵌入式微處理器,都稱為“嵌入式系統”。但還是有人僅把“嵌入”嵌入式微處理器的系統稱為“嵌入式系統”。目前人們所說的“嵌入式系統”多指后者。1.1單片機1.1.3嵌入式處理器家族3、嵌入式片上系統(SOC)該技術始于20世紀90年代中期,隨著半導體工藝和超大規模集成電路(VLSI)設計技術的飛速發展,在一個硅片上可實現一個更為復雜的系統,這就是片上系統(SOC,SystemOnChip)。SOC的核心思想就是把整個應用電子系統(除無法集成的電路)全部集成在一個芯片中,避免了大量的PCB設計及板機的調試工作。SOC將使系統設計的技術發生革命性變化,標志著一個全新時代的到來。SOC是在集成電路(IC)向集成系統(IS)轉變的大方向下產生的。在單一集成電路芯片上就可以實現一個復雜的電子系統,諸如手機芯片、數字電視芯片、DVD芯片等。在未來幾年內,上億個晶體管、幾千萬個邏輯門都可望在單一芯片上實現。1.1單片機1.1.4

單片機的課程地位及其學習方法1、單片機的課程地位單片機是大學自動化類及其相關專業的一門專業課,有些學校甚至把它列為選修課,在眾多課程中,沒有顯出它有多么重要。為什么要學習它呢?自動化類相關專業有很多專業課,這些專業課非常重要,是各個專業存在的必需課程,學完這些課程可以使學習者成為大學者的繼承人,但市場對學者繼承人的需求太少,大量需要的是產品的研發者,而學習單片機課程就可以成為一個實用的研發工程師。1.1單片機1.1.4

單片機的課程地位及其學習方法1、單片機的課程地位另外,即使是在校期間。如果你單片機實踐動手能力強,可以參加國內認知度極高的國家級大學生第二課堂創新賽事。比較有代表性的有“全國大學生電子設計大賽”、“挑戰杯全國大學生課外學術科技作品競賽和創業計劃大賽”、“全國大學生智能汽車大賽”等賽事。另外還可以參加各省教育廳舉報的各類賽事,如山東省規模最大的大學生賽事是“機電產品大賽”,另山東省“機器人大賽”的發展也方興未艾。據統計,我國的單片機年容量已達1-3億片,且每年以大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。這說明單片機應用在我國才剛剛起步,有著廣闊的前景。培養單片機應用人才,特別是在工程技術人員中普及單片機知識有著重要的現實意義。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法51系列單片機是初學者的最佳選擇

51系列單片機經過多年的發展,圖書、資料豐富,相應的網站多、答疑解惑都比較容易。初學者選擇51系列單片機開始,是非常明智的選擇。近兩年比較典型51單片機芯片是AT89C(S)51和宏晶公司的STC89C51芯片。學好51單片機,再去學習AVR//PIC/MSP430將會觸類旁通。也會為ARM、DSP等高級可編程硬件設備的學習打下很好的基礎。如果在學會單片機的基礎之上,學會CPLD和FPGA的開發以及硬件描述語言,就可以在高速產品的開發方面獲得一杯羹。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法51系列單片機是初學者的最佳選擇 一般來說本科生能夠熟練除51外的另外一種單片機或熟悉ARM就已經很優秀了,其他留在工作或研究生階段學習是比較現實的。圖1-3嵌入式硬件技術體系圖1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法扎實掌握單片機內部結構及原理十分必要

現在有一種觀點是只要掌握C語言,只需對具體單片機結構及原理稍作了解,即能開發單片機應用系統。實際上由于單片機的硬件資源極其有限,因此只有真正了解單片機內部的結構、時序和寄存器的特點,才能開發出執行率高、誤碼率少的代碼。當你有一天真正開發項目時就能感到硬件基礎扎實的意義。匯編語言的學習可以使學習者更扎實的理解單片機的內部結構和原理。但是一定是邊動手編程邊學習理論,而不是等到把知識掌握得滾瓜爛熟才開始動手。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法學習過程應突出主要矛盾,分層次推進

學習過程的第一步應該購買現成的單片機學習板,這樣只要代碼寫錯,肯定就是軟件的錯誤,從而不需要去懷疑硬件有問題。學完學習板配套的程序后,就應該用萬能板焊接單片機的外圍電路,按學習板原理圖焊接好電路后,運行你已經編好的程序,出了問題肯定是硬件的事情,這樣你算是真正入門了。下面你該需要學習的是怎么處理多任務。因為這個才是工作中真正用到的,包括時間片的概念,狀態機的概念,學會這個你已經是個實用的自動化類本科畢業生了。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法初學必要裝備

單片機是一門動手能力要求極高的課程,因此不建議使用PROTEUS等虛擬軟件來學習。一定要真正的調試、焊接線路板。現在學習單片機的成本已經是極低了,下面我們列出了初學單片機的必要裝備。 首先,一定要有一臺個人電腦,無論是臺式機還是筆記本都可以,一般的配置對于單片機學習來說足以,如果是筆記本盡量購買帶RS232串口的,以后你會感到擁有它還是很方便的。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法初學必要裝備

其次,需要購買一塊單片機學習板(開發板),最好帶在線調試(仿真)功能,帶學習視頻更好。初學忌買功能全而復雜的學習板,只買基本功能的板子,其電路簡單、容易上手。這樣的學習板整套價位在100~200元左右的屬合理。學習板套件包括:學習板(開發板)一塊、下載線(一般是USB下載線,用來連接計算機和學習板,是程序燒錄必備的硬件條件,其還將計算機USB的5V電源提供給學習板)、編程軟件(實現程序的編輯、編譯、軟件仿真功能等。一般賣家提供KeilC51)、下載軟件(燒寫程序需要使用,在計算機上運行,賣家也免費提供)。圖1-4是價格在100元左右的學習板圖片。1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法圖1-451單片機學習板圖片1.1單片機1.1.4

單片機的課程地位及其學習方法2、單片機的學習方法初學必要裝備第三,要有一塊萬用表,買國產四位半的即可,價格在150元左右吧,經濟條件有限的買三位半的也可,價格一般在80元以內。有的人說必備項里應該有示波器,如果加上這一條那恐怕90%以上的學生都會放棄嘗試,因為即使國產50MHZ的示波器價格也要上千元了。對于入門級學習有這三條是能夠基本滿足學習需求的。要想進一步學習,通過參加各類大賽進入學校實驗室,就能夠享有更好的學習環境和硬件設備條件。那么示波器、邏輯分析儀、信號發生器、仿真器、編程器等實驗室一般都有配置。1.2單片機開發所需軟硬件介紹單片機的開發過程包括硬件電路設計、程序編寫(編輯)、編譯、仿真調試、燒寫(燒錄、固化、下載)等過程。程序的編輯是指利用C語言或匯編語言在個人電腦上完成程序的書寫過程,一般的文本編輯器例如word及windows自帶的文本編輯器都可以提供程序書寫環境。但其由于不具備語法錯誤識別功能,因此開發者一般都選用專用的單片機程序編輯軟件。編譯是指將編程語言翻譯成單片機能夠識別的二(十六)進制代碼的過程。燒寫是指把編譯好的二(十六)進制代碼下載到單片機程序存儲器ROM的過程。仿真調試包括軟件仿真和硬件仿真,是指程序不可能一次編寫成功,需要借助專業的軟、硬件仿真調試工具,利用單步、斷點、運行到光標處等功能實現對程序中各變量中間結果的監測。1.2單片機開發所需軟硬件介紹1.2.1關于keilC51及其集成開發環境keilμVision3KeilC51是德國Keilsoftware公司開發的用于51系列單片機的C51語言開發軟件。具有Windows風格的可視化操作界面(見圖1-5);支持匯編語言、C51語言以及兩者混合編程等多種方式的單片機設計;能夠完成51系列單片機以及和51系列兼容的絕大部分類型單片機的程序設計和仿真。1.2單片機開發所需軟硬件介紹1.2.1關于keilC51及其集成開發環境keilμVision3圖1-5KeilμVision3集成開發環境界面1.2單片機開發所需軟硬件介紹1.2.2仿真技術和仿真器1、仿真技術單片機開發過程中沒有中間調試過程,僅使用編程器或ISP下載線的開發方法叫做“崩潰——燒寫”模式。其只能從最終結果檢驗硬件設計和軟件編程是否正確。如果程序運行結果錯誤,只能改動程序后擦除芯片重新燒寫,為了調試一個程序連續燒寫芯片數十次是很正常的事情,但是這樣不但麻煩,還會縮短芯片使用壽命,而且無法觀察程序運行中的狀態。在單片機開發中一般簡單的程序利用KeilμVision3本身具有的軟件仿真功能,可以大大減少燒寫次數。只要不涉及到外部擴展接口,在KEIL上仿真運行成功的程序,絕大部分燒寫以后都能正常運行,對于大型復雜的程序必須使用單片機仿真器完成調試。1.2單片機開發所需軟硬件介紹1.2.2仿真技術和仿真器2、仿真器仿真器是指以調試單片機軟件為目的而專門設計制作的一套專用的硬件裝置。最早的單片機仿真器是一套獨立裝置,具有專用的鍵盤和顯示器,用于輸入程序并顯示運行結果。現在仿真器都是利用PC機作為標準的輸入輸出裝置,而仿真器本身成為PC和目標系統之間的接口而已,仿真方式也從最初的機器碼發展到匯編語言、C語言仿真,配合仿真器使用的上位機軟件與PC機上的高級語言編程與調試環境非常類似。圖1-6是偉福仿真器外形圖。1.2單片機開發所需軟硬件介紹1.2.2仿真技術和仿真器2、仿真器 目前,隨著單片機的小型化,貼片化和具有ISP,IAP等功能的單片機的廣泛應用,傳統單片機仿真器的應用范圍也有所縮小。類似KeilC51等具有單片機仿真功能的程序軟件在調試中的應用逐漸廣泛。1.2單片機開發所需軟硬件介紹1.2.2仿真技術和仿真器3、硬件仿真和軟件仿真 軟件仿真是指在不存在實際的單片機應用系統硬件電路的情況下,我們可以用上位機仿真軟件(即能夠實現仿真功能的上位機應用軟件,如KEIL仿真器)對單片機應用系統的軟件部分進行調試。硬件仿真是用硬件仿真器或其他替代方法對一個實際的單片機應用系統的軟件和硬件部分進行調試,它能真實地反映實際的單片機應用系統存在的問題。很明顯硬件仿真的效果更強大,但不同的硬件仿真器仿真能力各不相同。近年又有仿真芯片推出,即該類芯片除具有一般單片機的功能外,在開發階段還能夠有一定的在線調試功能,但與專業仿真器功能相去甚遠。即使不同型號的專業仿真器性能差別也較大。1.2單片機開發所需軟硬件介紹1.2.3編程器和下載軟件 編程器:程序編輯好后,并且通過編譯生成了HEX格式的二進制燒寫文件,就要用編程器把它燒寫到單片機里面。學習階段購買的學習板會帶一條下載線,其完成的功能與編程器相同。編程器的使用需要配合上位機的下載軟件來完成。該軟件一般由編程器廠家或學習板出售者免費提供。1.2單片機開發所需軟硬件介紹1.2.3編程器和下載軟件

圖1-7下載(燒寫)軟件界面1.2單片機開發所需軟硬件介紹1.2.3編程器和下載軟件

圖1-7編程器1.2單片機開發所需軟硬件介紹1.2.4PROTEL與單片機學習單片機還需要掌握一種原理圖繪圖軟件,現在常見的是Protel99SE和Protel2004DXP,前者應用的人比較多,而且這部分在公司都比較有地位,資格老嘛,用的軟件也老,有時候也要求手下人用99SE,至于2004DXP的用戶相對較為年輕,其元件庫和封裝庫里要新一些,但是大多數情況下都需要自己做元件,也就沒什么區別了。還有個很嚴重的問題是二者有點不兼容,大體上說,你如果想和你的上司關系好點,做設計時容易溝通點就學99SE。串口調試助手和字模提取軟件等在學習串口通訊和點陣及液晶顯示時一般會用到,去網站下載即可,如果你購買了學習板都會贈送你。

1.2單片機開發所需軟硬件介紹1.2.5關于PROTEUS軟件Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。Proteus是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、PIC、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。

1.2單片機開發所需軟硬件介紹1.2.6

字模提取軟件與串口調試助手單片機測量或控制的結果一般都需要顯示,主要選用LED點陣顯示器或LCD液晶顯示器。采用LED點陣顯示器或LCD液晶顯示器時,顯示的字符要經過字模提取軟件轉換成字形碼,這個過程由人工通過描點也能完成,但是通過字模軟件效率要高得多。 1.2單片機開發所需軟硬件介紹1.2.6字模提取軟件與串口調試助手

圖1-8字模提取軟件界面1.2單片機開發所需軟硬件介紹1.2.6字模提取軟件與串口調試助手

(a)LED點陣顯示器

(b)液晶顯示器圖1-9LED點陣顯示器和液晶顯示器1.2單片機開發所需軟硬件介紹1.2.6字模提取軟件與串口調試助手串口調試助手可以實現的功能包括發送接受16進制數、字符串等,在單片機與PC機進行通信時會用到該類型小軟件。有眾多發燒友開發出各種版本,一般購買單片機學習板時賣方免費提供。(a)LED點陣顯示器

(b)液晶顯示器圖1-10串口調試助手1.3數字電路基礎1.3.1二進制的邏輯運算1、“與”運算“與”運算是實現“必須都有,否則就沒有”這種邏輯關系的一種運算。邏輯與通常用符號“×”或“∧”或“·”來表示。邏輯乘法運算規則如下:0∧0=0,0∧1=0,1∧0=0,1∧1=1。其運算符號如圖1-12所示。1.3數字電路基礎1.3.1二進制的邏輯運算2、“或”運算“或”運算是實現“只要其中之一有就有”這種邏輯關系的一種運算。邏輯加法通常用符號“+”或“∨”來表示。邏輯加法運算規則如下:0∨0=0,0∨1=1,1∨0=1,1∨1=1。1.3數字電路基礎1.3.1二進制的邏輯運算3、“非”運算“非”運算是實現“求反”這種邏輯關系的一種運算。0的反是1,1的反是0。其運算符號如圖1-14所示。1.3數字電路基礎1.3.1二進制的邏輯運算4、“同或”運算“同或”運算是實現“必須相同,否則就沒有”這種邏輯關系的一種運算,其邏輯運算符為“⊙”。其運算規則如下:0⊙0=1,1⊙0=0,0⊙1=0,1⊙1=1。5、“異或”運算“異或”運算通常用符號"⊕"表示,“必須相異否則就沒有”。其運算規則為:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0,即兩個邏輯變量相異,輸出才為1。1.3數字電路基礎1.3.2數字電路中“0”與“1”的定義單片機是一種數字集成芯片,數字電路中只有兩種電平:高電平和低電平。常用的邏輯電平有TTL、CMOS、RS-232等。單片機、74LS系列邏輯芯片采用TTL電平信號:+5V等價于邏輯1,0V等價于邏輯0。當然這是理想狀態,實際電壓小于0.4V即認為是低電平,電壓高于2.4V即認為是高電平(實際單片機工作在輸入和輸出狀態高低電平范圍略有差別)。1.3數字電路基礎1.3.2數字電路中“0”與“1”的定義74HC系列和CD4000邏輯芯片一般采用CMOS邏輯電平。CMOS電平VCC達到5V時,其低電平的上線是0.3V,高電平的下限是3.6V。因此CMOS能驅動TTL電平,即CMOS作為TTL的輸入端時,TTL電平能正確的識別CMOS的高低電平狀態,但反之不可以。CMOS電路中不使用的輸入端不不能懸空,否則會造成邏輯混亂,且HC采用COMS工藝功耗更低,LS的速度比HC略快。PC機的9針串口為RS-232C電平,其中高電平為-12V,低電平為+12V。這里要強調的是,RS-232C電平為負邏輯電平。因此當計算機與單片機之間要通信時,需要加電平轉換芯片,一般常用的電平轉換芯片是MAX232。1.3數字電路基礎1.3.2數字電路中“0”與“1”的定義提高:TTL電路和CMOS電路的邏輯電平關系如下:①VOH——邏輯電平1的輸出電壓。②VOL——邏輯電平0的輸出電壓。③VIH——邏輯電平1的輸入電壓。④VIL——邏輯電平0的輸入電壓圖1-15RS-232串口定義1.3數字電路基礎1.3.2數字電路中“0”與“1”的定義TTL電平臨界值:

①VOHmin=2.4V,VOLmax=0.4V。

②VIHmin=2.0V,VILmax=0.8V。CMOS電平臨界值(設電源電壓為+5v):

①VOHmin=4.99V,VOLmax=0.01V。

②VIHmin=3.5V,VILmax=1.5V。通常情況下,單片機、DSP、FPGA之間引腳能否直接相連要參考以下方法進行判斷:一般來說,同電壓的是可以相連的,不過最好還是好好查看芯片技術手冊上的VIL、VIH、VOL,VOH的值,看是否能夠匹配。有些情況在一般應用中沒有問題,但是參數上就是有點不夠匹配,在某些情況下可能就不夠穩定,或者不同批次的器件就不能運行。1.4數制與編碼的簡單回顧1.4.1數制十進制是人們生活中普遍使用的計數制。在十進制中,數用0、1、…、9這10個符號來描述。計數規則是逢十進一。二進制是在計算機系統中使用的計數制。在二進制中,數用0、l這兩個符號來描述。計數規則是逢二進一。二進制運算規則簡單,便于物理實現;但書寫冗長,不便于人們閱讀和記憶。二進制數的位可以表示為0或1這兩個值。生活中開關的通與斷,指示燈的亮與滅,電動機的啟與停都可以用它來描述和控制。1.4數制與編碼的簡單回顧1.4.1數制8個二進制的位構成字節。有些計算機存取的最小單位只能是字節(B)。1個字節可以表示28(即256)個不同的值(0~255)。字節中的位號從右至左依次為0~7。第0位稱為最低有效位(LSB),第7位稱為最高有效位(MSB)。當數值大于255時,要采用字(2B)或雙字(4B)進行表示。字可以表示216(即65536)個不同的值(0~65535),這時MSB為第15位。1.4數制與編碼的簡單回顧1.4.1數制十六進制是人們在計算機指令代碼和數據的書寫與軟件工具的顯示中經常使用的數制。在十六進制中,數用0、1、…、9和A、B、…、F(或a、b、…、f)這16個符號來描述計數規則是逢十六進一。由于4位二進制數可以直觀地用1位十六進制數表示,所以人們對二進制的代碼或數據常用十六進制形式縮寫。為了區分數的不同進制,可在數的結尾以一個字母標識。十進制(decimal)數書寫時結尾用字母D(或不帶字母);二進制(binary)數書寫時結尾用字母B;十六進制(hexadecimal)數書寫時結尾用字母H。部分自然數的3種進制表示如表1-1所示。1.4數制與編碼的簡單回顧1.4.1數制表1-1部分自然數的3種進制表示1.4數制與編碼的簡單回顧1.4.1數制 在單片機的程序設計中,有時要用到十進制到十六進制的轉換。下面以一個示例說明一下十進制到十六進制的轉換方法。【例1-1】若有一個十進制數為55536,試將其用十六進制表示?解:十進制到十六進制的轉換的基本方法是:除16取余倒序,即先求出的余數是最低位。由于:

55536/16=3471余03471/16=216余F216/16=8余88/16=0余D 因此,十進制數55536的十六進制表示為:D8F0H。1.4數制與編碼的簡單回顧1.4.2編碼1、字符的編碼字符的編碼采用的是美國標準信息交換代碼(AmericanStandardCodeforInformationIn-terchange,即ASCII碼)。一個字節的8位編碼可以表示256種字符。當最高位為0時,所表示的字符為標準ASCII碼字符,共有128個,用于表示數字、英文大寫字母、英文小寫字母、標點符號及控制字符等,如附錄A所示;當最高位為1時,所表示的是擴展ASCII碼字符,表示的是一些特殊符號(如希臘字母等)。ASCII碼常用于計算機與外部設備的字符傳輸。如通過鍵盤的字符輸入,通過打印機或顯示器的字符輸出。1.4數制與編碼的簡單回顧1.4.2編碼2、十進制數的編碼(BCD碼)十進制是人們在生活中最習慣的數制,人們通過鍵盤向計算機輸入數據時,常用十進制輸入。顯示器向人們顯示的數據也多為十進制形式。計算機能直接識別與處理的是二進制編碼。用4位二進制編碼可以表示1位十進制數。這種用二進制編碼表示十進制數的代碼稱為BCD碼。常用的8421BCD編碼如表1-2所示。1.4數制與編碼的簡單回顧1.4.2編碼由于用4位二進制代碼可以表示1位十進制數,所以采用8位二進制代碼(1個字節)就可以表示2位十進制數。這種用1個字節表示2位十進制數的編碼.稱為壓縮的BCD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論