文章提出了一種精簡指令集8 位單片機(jī)中, 算術(shù)邏輯單元的工作原理。在此基礎(chǔ)上, 對比傳統(tǒng)PIC 方案、以及在ALU 內(nèi)部再次采用流水線作業(yè)的332 方案、44 方案, 并用Synopsys 綜合工具實(shí)現(xiàn)了它們。綜合及仿真結(jié)果表明, 根據(jù)該單片機(jī)系統(tǒng)要求, 44 方案速度最高, 比332 方案可提高43.9%, 而面積僅比最小的332 方案增加1.6%。在分析性能差異的根本原因之后, 闡明了該方案的優(yōu)越性。關(guān)鍵詞: 單片機(jī), 精簡指令集, 算術(shù)邏輯單元, 流水線 Abstract: Work principle for ALU in an 8_bit RISC Singlechip microcomputer is described. The traditional PIC scheme, 332 Pipeline scheme and 44 Pipeline scheme are compared on the base of the principle, which are implemented using Synopsys design tools. Results from synthesis and simulation shows that 44 scheme operates the fast, which is 43.9% faster and only 1.6% larger than 332 scheme. The essential reason why the performance is so different is analyzed.Then the advantage of 44 scheme is clarified.Key words: Singlechip, Microcomputer, RISC, ALU, Pipeline
上傳時(shí)間: 2013-10-18
上傳用戶:xiaoyaa
本文介紹了由單片機(jī)控制的基于以太網(wǎng)的數(shù)據(jù)采集電路。該電路采用了美國Microchip公司的8位單片機(jī)PIC16F877和臺(tái)灣Realtek公司的10M以太網(wǎng)控制芯片RTL8019AS,實(shí)現(xiàn)了數(shù)據(jù)采集以及以太網(wǎng)數(shù)據(jù)傳輸?shù)墓δ堋U麄€(gè)電路主要包括網(wǎng)絡(luò)接口電路,單片機(jī)電路,A/D轉(zhuǎn)換電路,D/A轉(zhuǎn)換電路,RAM存儲(chǔ)電路,EEPROM存儲(chǔ)電路,DIO電路等。文中簡單闡述了以太網(wǎng)數(shù)據(jù)采集電路的設(shè)計(jì)原理,并給出了其實(shí)現(xiàn)的方法。隨著互聯(lián)網(wǎng)絡(luò)軟硬件的迅猛發(fā)展,網(wǎng)絡(luò)用戶快速增長。在計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)的同時(shí),各種儀器儀表、家電設(shè)備以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制設(shè)備慢慢的走向網(wǎng)絡(luò)化,便于共享網(wǎng)絡(luò)中豐富的信息資源。另一方面,由于以太網(wǎng)技術(shù)越來越成熟,并且擁有高速、大容量、降低成本、簡化結(jié)構(gòu)等特性,使得其在各種領(lǐng)域內(nèi)迅速發(fā)展。在電子設(shè)備日趨網(wǎng)絡(luò)化的背景下,通過單片機(jī)控制以太網(wǎng)芯片進(jìn)行數(shù)據(jù)傳輸,是當(dāng)前令人感興趣的一個(gè)研究方向。通過單片機(jī)控制芯片編程就可以完全拋開網(wǎng)絡(luò)操作系統(tǒng)而實(shí)現(xiàn)局域網(wǎng)內(nèi)任意終端之間或單片機(jī)與終端之間的通信,即在脫離PC環(huán)境下實(shí)現(xiàn)以太網(wǎng)芯片與其它微處理器之間的接口,從而建立基于非PC平臺(tái)的局域網(wǎng)絡(luò)。本系統(tǒng)設(shè)計(jì)了PIC單片機(jī)驅(qū)動(dòng)臺(tái)灣Realtek公司生產(chǎn)的NE2000兼容以太網(wǎng)控制芯片RTL8019AS,從而構(gòu)建了一個(gè)微型網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng),性能優(yōu)良,成本低廉。
標(biāo)簽: PIC 單片機(jī) 以太網(wǎng)數(shù)據(jù)采集 控制
上傳時(shí)間: 2013-10-16
上傳用戶:CSUSheep
介紹用PIC16C73 自帶的八位A/D 轉(zhuǎn)換器擴(kuò)展為十二位A/D 轉(zhuǎn)換器,給出了具體的設(shè)計(jì)方案和程序流程。它是用以 PIC16C73 為MCU 構(gòu)成的海水有機(jī)磷測控儀A/D 轉(zhuǎn)換部分的一種解決方案。為監(jiān)測海洋生態(tài)環(huán)境,研制了用于海水有機(jī)磷農(nóng)藥現(xiàn)場監(jiān)測的生物傳感器。為測定生物傳感器的信號,使傳感器可用于船載及臺(tái)站的海洋生態(tài)環(huán)境現(xiàn)場自動(dòng)監(jiān)測,需要對整個(gè)的采樣和排液裝置進(jìn)行控制以及對傳感器來的信號進(jìn)行實(shí)時(shí)采集處理,形成有機(jī)磷的濃度傳給上位機(jī)。為此,開發(fā)了以PIC16C73 單片機(jī)為核心的小型測控儀器,很好的完成了上述功能。PIC1673 單片機(jī)自帶8 位的A/D 轉(zhuǎn)換器,但不能滿足系統(tǒng)對精度的要求,本設(shè)計(jì)在單片機(jī)自帶8 位A/D 基礎(chǔ)上加少量的硬件和軟件開銷,使其擴(kuò)展為十二位A/D 轉(zhuǎn)換器,滿足了系統(tǒng)的要求。
上傳時(shí)間: 2013-10-30
上傳用戶:a296386173
PC機(jī)之間串口通信的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.熟悉微機(jī)接口實(shí)驗(yàn)裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會(huì)串行通信程序的編制方法。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求主機(jī)接收開關(guān)量輸入的數(shù)據(jù)(二進(jìn)制或十六進(jìn)制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時(shí)乒乓開關(guān)的狀態(tài)讀入計(jì)算機(jī)I中,并顯示出來,同時(shí)顯示經(jīng)串行通訊后,計(jì)算機(jī)II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進(jìn)行出錯(cuò)處理,例如采用奇偶校驗(yàn),出錯(cuò)重傳或者采用接收方回傳和發(fā)送方確認(rèn)來保證發(fā)送和接收正確。 三、設(shè)計(jì)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡要說明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時(shí),必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來的對CPU請求發(fā)送信號的響應(yīng)信號。然后就開始發(fā)送過程。在發(fā)送時(shí),每當(dāng)CPU送往發(fā)送緩沖器一個(gè)字符,發(fā)送器自動(dòng)為這個(gè)字符加上1個(gè)起始位,并且按照編程要求加上奇/偶校驗(yàn)位以及1個(gè)、1.5個(gè)或者2個(gè)停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗(yàn)位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時(shí)鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時(shí)鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時(shí)指定的波特率因子,為發(fā)送器時(shí)鐘頻率的1、1/16或1/64。當(dāng)波特率指定為16時(shí),數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時(shí)鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時(shí),命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準(zhǔn)備接收字符,在沒有字符傳送時(shí)RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動(dòng)接收控制電路中的一個(gè)計(jì)數(shù)器來進(jìn)行計(jì)數(shù),計(jì)數(shù)器的頻率等于接收器時(shí)鐘頻率。計(jì)數(shù)器是作為接收器采樣定時(shí),當(dāng)計(jì)數(shù)到相當(dāng)于半個(gè)數(shù)位的傳輸時(shí)間時(shí)再次對RxD端進(jìn)行采樣,如果仍為低電平,則確認(rèn)該數(shù)位是一個(gè)有效的起始位。若傳輸一個(gè)字符需要16個(gè)時(shí)鐘,那么就是要在計(jì)數(shù)8個(gè)時(shí)鐘后采樣到低電平。之后,8251A每隔一個(gè)數(shù)位的傳輸時(shí)間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進(jìn)入接收移位寄存器,通過校驗(yàn)并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時(shí)發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經(jīng)收到一個(gè)有效的數(shù)據(jù)。一個(gè)字符對應(yīng)的數(shù)據(jù)可以是5~8位。如果一個(gè)字符對應(yīng)的數(shù)據(jù)不到8位,8251A會(huì)在移位轉(zhuǎn)換成并行數(shù)據(jù)的時(shí)候,自動(dòng)把他們的高位補(bǔ)成0。 五、系統(tǒng)總體設(shè)計(jì)方案根據(jù)系統(tǒng)設(shè)計(jì)的要求,對系統(tǒng)設(shè)計(jì)的總體方案進(jìn)行論證分析如下:1.獲取8位開關(guān)量可使用實(shí)驗(yàn)臺(tái)上的8255A可編程并行接口芯片,因?yàn)橹灰@取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實(shí)驗(yàn)臺(tái)上的8位開關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時(shí),雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個(gè)時(shí)鐘來實(shí)現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計(jì)算機(jī)之間的通信只采用異步通信。3.由于8251A本身沒有時(shí)鐘,需要外部提供,所以本設(shè)計(jì)中使用實(shí)驗(yàn)臺(tái)上的8253芯片的計(jì)數(shù)器2來實(shí)現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實(shí)現(xiàn)。設(shè)計(jì)思路框圖,如下圖所示: 六、硬件設(shè)計(jì)硬件電路主要分為8位開關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個(gè)部分。1.8位開關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關(guān)的數(shù)據(jù)。此次設(shè)計(jì)在獲取8位開關(guān)數(shù)據(jù)量時(shí)采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實(shí)驗(yàn)臺(tái)上CS1口,對應(yīng)端口為280H-283H,PA0-PA7接8個(gè)開關(guān)。2.串行通信電路串行通信電路本設(shè)計(jì)中8253主要為8251充當(dāng)頻率發(fā)生器,接線如下圖所示。
上傳時(shí)間: 2013-12-19
上傳用戶:小火車?yán)怖怖?/p>
設(shè)置復(fù)位標(biāo)志位便于區(qū)分不同原因引發(fā)的復(fù)位,作為一種新技術(shù)被越來越多的新型單片機(jī)所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導(dǎo)體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內(nèi)部都設(shè)計(jì)了專門用于記錄各種復(fù)位標(biāo)志的狀態(tài)寄存器。MC68HC08系列有一個(gè)復(fù)位狀態(tài)寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:上電復(fù)位、引腳復(fù)位、看門狗復(fù)位、非法指令復(fù)位、非法地址復(fù)位和欠壓復(fù)位。SPMC65系列有一個(gè)系統(tǒng)控制寄存器,負(fù)責(zé)記錄5種復(fù)位標(biāo)志位:上電復(fù)位、外部復(fù)位、看門狗復(fù)位、非法地址復(fù)位和欠壓復(fù)位。51兼容的P89LPC900系列有一個(gè)復(fù)位源寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:欠壓復(fù)位、上電復(fù)位、外部復(fù)位、看門狗復(fù)位、軟件復(fù)位和UART收到間隔字符復(fù)位(主要作為進(jìn)入ISP監(jiān)控程序的途徑之一)。就連初學(xué)者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設(shè)了一個(gè)上電標(biāo)志位POF。1、 復(fù)位標(biāo)志位的設(shè)置方法傳統(tǒng)的80C51單片機(jī)沒有設(shè)計(jì)復(fù)位標(biāo)志位的記錄功能,這應(yīng)該說是一種遺憾,那么能否通過一定的技術(shù)手段來彌補(bǔ)這個(gè)缺憾呢?這里給廣大80C51單片機(jī)用戶提供一種啟示和引導(dǎo)。實(shí)現(xiàn)復(fù)位標(biāo)志位的記錄肯定需要一定的硬件電路支持,而這種電路的設(shè)計(jì)不存在固定模式。筆者利用一片MAX813L設(shè)計(jì)了一種支撐電路,如圖1所示,僅供讀者參考。
標(biāo)簽: 單片機(jī)復(fù)位 標(biāo)志位 應(yīng)用研究
上傳時(shí)間: 2013-10-21
上傳用戶:lhw888
基于單片機(jī)的紅外門進(jìn)控制系統(tǒng)設(shè)計(jì)與制作:我們所做的創(chuàng)新實(shí)驗(yàn)項(xiàng)目“基于單片機(jī)的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡要說明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計(jì)數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對管實(shí)現(xiàn),紅外對管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過時(shí),紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過時(shí)便會(huì)產(chǎn)生一個(gè)電平的跳變。單片機(jī)控制部分主要是通過外部兩個(gè)中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對紅外傳感器接到兩個(gè)外部中斷口,中斷0作為入口,實(shí)現(xiàn)加1操作,中斷1作為出口,實(shí)現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計(jì)數(shù)值為0時(shí),熄燈,不為0時(shí),燈亮。顯示部分,采用兩位數(shù)碼管動(dòng)態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計(jì)數(shù)。精益求精!在實(shí)驗(yàn)過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個(gè)門的進(jìn)出計(jì)數(shù),原理已清楚,即在門的兩邊放置兩對紅外對管,進(jìn)出時(shí),擋住兩對對管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實(shí)現(xiàn)加減計(jì)數(shù),編程時(shí),可分別在兩個(gè)中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實(shí)際過程中,還是發(fā)現(xiàn)實(shí)現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對單片機(jī)了解的深入,應(yīng)該會(huì)做出更好的 (因?yàn)槲覀兪桥R時(shí)學(xué)的單片機(jī)),程序的具體內(nèi)容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化緩存區(qū) MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;調(diào)用數(shù)制轉(zhuǎn)換子程序 ACALL DISPLAY ;調(diào)用顯示子程序 LJMP NEXT1 ORG 0100H ;中斷0服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中斷1服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;將十六進(jìn)制中最高位移入進(jìn)位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數(shù)加上本身相當(dāng)于將這個(gè)數(shù)乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進(jìn)制調(diào)整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段碼表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延時(shí)子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 該系統(tǒng)實(shí)際應(yīng)用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計(jì)、公交車智能計(jì)數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計(jì)等公共場合。另外,添加串口通信部分便可實(shí)現(xiàn)與PC數(shù)據(jù)交換的功能。 由于,實(shí)驗(yàn)簡化了,剩下不少零件和資金,所以我們又做了兩項(xiàng)其他的實(shí)驗(yàn)。
標(biāo)簽: 單片機(jī) 紅外 控制系統(tǒng)設(shè)計(jì) 原理圖
上傳時(shí)間: 2013-12-22
上傳用戶:tangsiyun
子程序庫的使用方法如下:1.將子程序庫全部內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。優(yōu)點(diǎn)是簡單方便,缺點(diǎn)是程序太長,大量無關(guān)子程序也包含在其中。 2.僅將子程序庫中的有關(guān)部分內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。有些子程序需要調(diào)用一些低級子程序,這些低級子程序也應(yīng)該包含在內(nèi)。優(yōu)點(diǎn)是程序緊湊,缺點(diǎn)是需要對子程序庫進(jìn)行仔細(xì)刪節(jié)。MCS-51 浮點(diǎn)運(yùn)算子程序庫及其使用說明本浮點(diǎn)子程序庫有三個(gè)不同層次的版本,以便適應(yīng)不同的應(yīng)用場合: 1.小型庫(FQ51A.ASM):只包含浮點(diǎn)加、減、乘、除子程序。 2.中型庫(FQ51B.ASM):在小型庫的基礎(chǔ)上再增加絕對值、倒數(shù)、比較、平方、開平方、 數(shù)制轉(zhuǎn)換等子程序。 3.大型庫(FQ51.ASM):包含本說明書中的全部子程序。 為便于讀者使用本程序庫,先將有關(guān)約定說明如下: 1.雙字節(jié)定點(diǎn)操作數(shù):用[R0]或[R1]來表示存放在由R0或R1指示的連續(xù)單元中的數(shù) 據(jù),地址小的單元存放高字節(jié)。如果[R0]=1234H,若(R0)=30H,則(30H)=12H,(31H)=34H。 2.二進(jìn)制浮點(diǎn)操作數(shù):用三個(gè)字節(jié)表示,第一個(gè)字節(jié)的最高位為數(shù)符,其余七位為 階碼(補(bǔ)碼形式),第二字節(jié)為尾數(shù)的高字節(jié),第三字節(jié)為尾數(shù)的低字節(jié),尾數(shù)用雙字節(jié) 純小數(shù)(原碼)來表示。
標(biāo)簽: 51單片機(jī) 浮點(diǎn) 程序庫
上傳時(shí)間: 2013-10-15
上傳用戶:wmwai1314
單片機(jī)基礎(chǔ)知識(shí)單片機(jī)的外部結(jié)構(gòu):1、 DIP40雙列直插;2、 P0,P1,P2,P3四個(gè)8位準(zhǔn)雙向I/O引腳;(作為I/O輸入時(shí),要先輸出高電平)3、 電源VCC(PIN40)和地線GND(PIN20);4、 高電平復(fù)位RESET(PIN9);(10uF電容接VCC與RESET,即可實(shí)現(xiàn)上電復(fù)位)5、 內(nèi)置振蕩電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)6、 程序配置EA(PIN31)接高電平VCC;(運(yùn)行單片機(jī)內(nèi)部ROM中的程序)7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 單片機(jī)內(nèi)部I/O部件:(所為學(xué)習(xí)單片機(jī),實(shí)際上就是編程控制以下I/O部件,完成指定任務(wù))1、 四個(gè)8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3;2、 兩個(gè)16位定時(shí)計(jì)數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一個(gè)串行通信接口;(SCON,SBUF)4、 一個(gè)中斷控制器;(IE,IP)針對AT89C52單片機(jī),頭文件AT89x52.h給出了SFR特殊功能寄存器所有端口的定義。教科書的160頁給出了針對MCS51系列單片機(jī)的C語言擴(kuò)展變量類型。 C語言編程基礎(chǔ):1、 十六進(jìn)制表示字節(jié)0x5a:二進(jìn)制為01011010B;0x6E為01101110。2、 如果將一個(gè)16位二進(jìn)數(shù)賦給一個(gè)8位的字節(jié)變量,則自動(dòng)截?cái)酁榈?位,而丟掉高8位。3、 ++var表示對變量var先增一;var—表示對變量后減一。4、 x |= 0x0f;表示為 x = x | 0x0f;5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。6、 While( 1 ); 表示無限執(zhí)行該語句,即死循環(huán)。語句后的分號表示空循環(huán)體,也就是{;}第一章 單片機(jī)最小應(yīng)用系統(tǒng):單片機(jī)最小系統(tǒng)的硬件原理接線圖:1、 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF2、 接晶體:X1(PIN18)、X2(PIN19)。注意標(biāo)出晶體頻率(選用12MHz),還有輔助電容30pF3、 接復(fù)位:RES(PIN9)。接上電復(fù)位電路,以及手動(dòng)復(fù)位電路,分析復(fù)位工作原理4、 接配置:EA(PIN31)。說明原因。第二章 基本I/O口的應(yīng)用第三章 顯示驅(qū)動(dòng)第七章 串行接口應(yīng)用
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2013-10-30
上傳用戶:athjac
單片機(jī)原理及系統(tǒng)設(shè)計(jì)8×C552是Philips公司的8位高性能增強(qiáng)型單片機(jī),是在MCS-51單片機(jī)基礎(chǔ)上增加了A/D、D/A、捕捉輸入/定時(shí)輸出、I2C總線接口和監(jiān)視定時(shí)器(Watchdog Timer)等功能,是目前世界上最新型的8位單片機(jī)之一。8×C552和MCS-51有相同的指令系統(tǒng),并在其他功能上與MCS-51完全兼容。本書仍以MCS-51為主線組織教學(xué)內(nèi)容,在MCS-51的組成原理、指令系統(tǒng)、匯編語言程序設(shè)計(jì)、系統(tǒng)擴(kuò)張、中斷系統(tǒng)和接口等方面保留了第1版的特點(diǎn),同時(shí)也對8×C552的新增功能做了詳細(xì)敘述和分析,并伴以應(yīng)用實(shí)例。全書共分11章,每章末尾都附有一定數(shù)量習(xí)題與思考題。本書內(nèi)容自成體系、結(jié)構(gòu)緊湊、前后呼應(yīng)、語言通俗,因而具有一定的先進(jìn)性、系統(tǒng)性和實(shí)用性。第1章 微型計(jì)算機(jī)基礎(chǔ) 1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換 1.1.1 微型計(jì)算機(jī)的數(shù)制 1.1.2 微型計(jì)算機(jī)數(shù)制間數(shù)的轉(zhuǎn)換 1.2 微型計(jì)算機(jī)的二進(jìn)制數(shù)運(yùn)算 1.2.1 算術(shù)運(yùn)算 1.2.2 邏輯運(yùn)算 1.3 微型計(jì)算機(jī)碼制和編碼 1.3.1 微型計(jì)算機(jī)中數(shù)的表示方法 1.3.2 微型計(jì)算機(jī)的原碼、反碼和補(bǔ)碼 1.3.3 微型計(jì)算機(jī)的二進(jìn)制編碼 1.4 微型計(jì)算機(jī)組成原理 1.4.1 微型計(jì)算機(jī)的基本結(jié)構(gòu) 1.4.2 微型計(jì)算機(jī)的基本原理 1.4.3 微型計(jì)算機(jī)系統(tǒng)的組成 1.5 單片微型計(jì)算機(jī)概述 1.5.1 單片機(jī)的分類和發(fā)展 1.5.2 單片機(jī)的內(nèi)部結(jié)構(gòu)
標(biāo)簽: 單片機(jī)原理 系統(tǒng)設(shè)計(jì)
上傳時(shí)間: 2014-01-26
上傳用戶:xy@1314
C51單片機(jī)是我們生活中最常用的系列,MCS-51系列單片機(jī)有4個(gè)并行口(P0,P1,P2,P3口),但對一個(gè)稍微復(fù)雜的應(yīng)用系統(tǒng)來說,真正可供用戶使用的并行口,只有P1口可用,況且常常因擴(kuò)展I2C和SPI的器件需占用某些P1口,迫使用戶不得不擴(kuò)展并行口以滿足實(shí)際的需要。習(xí)慣上,常用的并行口接口芯片有8255、8155,這兩種芯片功能比較齊全,可以使用在相對比較復(fù)雜的系統(tǒng)中,但如是對一般的系統(tǒng)而言,這些功能往往閑置不用。那么就可以選用一些本來閑置不用的口線作為選通信號來進(jìn)行并行口的擴(kuò)展,這樣就能充分利用單片機(jī)有限的I/O資源,在本設(shè)計(jì)中是將P1口擴(kuò)展成一個(gè)或幾個(gè)8位并行口,在每一個(gè)八位口上接入8個(gè)發(fā)光二極管做為輸出,二極管是做開關(guān)量來使用的,在這里設(shè)計(jì)了跑馬燈和流水燈程序,做到對開關(guān)量的開斷控制;配合開關(guān)量的控制筆者設(shè)計(jì)了一個(gè)共陽LED數(shù)碼管,用來顯示當(dāng)前發(fā)光二極管發(fā)亮的序號,做到更加直觀的雙重控制效果,然后再將P0口通過D/A轉(zhuǎn)換器和一放大器輸出一個(gè)模擬信號,其結(jié)果可以通過示波器看出。這樣整個(gè)系統(tǒng)即有了數(shù)字信號輸出和模擬信號輸出,也有數(shù)碼管顯示功能,實(shí)用性能大提高了。2、 基于89C51的系統(tǒng)硬件設(shè)計(jì)2.1 并行口的擴(kuò)展的電路設(shè)計(jì) 眾所周知,C51系列的單片機(jī)都有四個(gè)I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我們通常僅僅使用P1口作為并行口,而令其余口(P2、P3)處于閑置狀態(tài),所以這次設(shè)計(jì),我們就是使用閑置不用的P3口做為選能信號線來將P1口進(jìn)行并行口擴(kuò)展。 (1) 種方式的并行口擴(kuò)展優(yōu)點(diǎn) 連線簡單; 不占用存儲(chǔ)器空間; (2) 編程也方便靈活。但也有很大的缺點(diǎn) 并行口擴(kuò)展能力有限,(如使用74LS573(74LS373)且不進(jìn)行驅(qū)動(dòng)處理,則最多可擴(kuò)展4個(gè)同樣類型的并行輸出端口,當(dāng)然還需要與之對應(yīng)的四個(gè)選通信號。) 如擴(kuò)展較多,選通信號占用并行口位數(shù)太多,例如欲擴(kuò)展8個(gè)并行輸出端口,則需要8個(gè)選能信號,此時(shí),僅選能信號就占用了一個(gè)8位并行口,這對在I/O端口線有限的單片機(jī)系統(tǒng)中,如此浪費(fèi)資源的現(xiàn)象是不能容忍的。在本次的設(shè)計(jì)中,采用芯片74HC573(帶三態(tài)輸出的八進(jìn)制透明D型鎖存器)對P1口進(jìn)行了一個(gè)8位并行口的擴(kuò)展,選通信號選用P3口的P3.3引腳。原理圖如圖1所示:
標(biāo)簽: C51 單片機(jī) 并行口 擴(kuò)展設(shè)計(jì)
上傳時(shí)間: 2013-11-18
上傳用戶:dbs012280
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1