摘要:MOTOROLA新推出的MC68HC908系列8位單片機(jī),采用片內(nèi)FLASH取代過(guò)去常的片內(nèi)ROM或EPROM,使單片機(jī)具有了在線(xiàn)編程寫(xiě)入或擦除的功能,其應(yīng)用范圍和方便性也因此而大大增加了。
上傳時(shí)間: 2013-10-11
上傳用戶(hù):haoxiyizhong
MSP430是德州公司新開(kāi)發(fā)的一類(lèi)具有16位總線(xiàn)的帶FLASH的單片機(jī),由于其性?xún)r(jià)比和集成度高,受到廣大技術(shù)開(kāi)發(fā)人員的青睞.它采用16位的總線(xiàn),外設(shè)和內(nèi)存統(tǒng)一編址,尋址范圍可達(dá)64K,還可以外擴(kuò)展存儲(chǔ)器.具有統(tǒng)一的中斷管理,具有豐富的片上外圍模塊,片內(nèi)有精密硬件乘法器、兩個(gè)16位定時(shí)器、一個(gè)14路的12位的模數(shù)轉(zhuǎn)換器、一個(gè)看門(mén)狗、6路P口、兩路USART通信端口、一個(gè)比較器、一個(gè)DCO內(nèi)部振蕩器和兩個(gè)外部時(shí)鐘,支持8M的時(shí)鐘.由于為FLASH型,則可以在線(xiàn)對(duì)單片機(jī)進(jìn)行調(diào)試和下載,且JTAG口直接和FET(FLASHEMULATION TOOL)的相連,不須另外的仿真工具,方便實(shí)用,而且,可以在超低功耗模式下工作,對(duì)環(huán)境和人體的輻射小,測(cè)量結(jié)果為100mw左右的功耗(電流為14mA左右),可靠性能好,加強(qiáng)電干擾運(yùn)行不受影響,適應(yīng)工業(yè)級(jí)的運(yùn)行環(huán)境,適合與做手柄之類(lèi)的自動(dòng)控制的設(shè)備.我們相信MSP430單片機(jī)將會(huì)在工程技術(shù)應(yīng)用中得以廣泛應(yīng)用,而且,它是通向DSP系列的橋梁,隨著自動(dòng)控制的高速化和低功耗化,MSP430系列將會(huì)得到越來(lái)越多人的喜愛(ài).通過(guò)兩過(guò)多月的畢業(yè)設(shè)計(jì),我對(duì)MSP430有了初步了解,對(duì)內(nèi)部的硬件資源和自身的匯編語(yǔ)法進(jìn)行了實(shí)驗(yàn),并開(kāi)發(fā)了一個(gè)應(yīng)用板,并進(jìn)行了調(diào)試.鑒于時(shí)間和能力有限,沒(méi)能對(duì)所有的應(yīng)用一一實(shí)驗(yàn).
上傳時(shí)間: 2013-11-21
上傳用戶(hù):asdkin
采用MSP430設(shè)計(jì)的12位心電(ECG)放大器 摘要:本文介紹了心電放大器的基本電路構(gòu)成,以及采用公司的系列單片機(jī)對(duì)心電信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換處理的方法,還著重探討了采用帶硬件乘法器的系列單片機(jī)對(duì)心電信號(hào)進(jìn)行濾波處理的方法,并給出了相應(yīng)的實(shí)驗(yàn)結(jié)果。人體心肌產(chǎn)生的電信號(hào)傳導(dǎo)到體表之后,由于在體表分布的不同而產(chǎn)生電位差,將這種電壓只有級(jí)別的電位差放大并繪制成圖,就得到了心電圖()。心電圖在心血管疾病的臨床診斷中有非常重要的作用。通常采用的心電圖按照導(dǎo)聯(lián)數(shù)分有單導(dǎo)聯(lián),三導(dǎo)聯(lián),五導(dǎo)聯(lián)以及十二導(dǎo)聯(lián)等等;按照精度分常用的有位和位精度等等。單導(dǎo)聯(lián),精度低的心電圖常用于進(jìn)行心電監(jiān)控以及心率測(cè)量。位高精度的心電圖由于可以反映出心電的細(xì)微變化,被更加廣泛地應(yīng)用于臨床診斷、心電分析等地方
上傳時(shí)間: 2014-12-27
上傳用戶(hù):yeling1919
介紹一種運(yùn)用PIC16F84單片機(jī)實(shí)現(xiàn)與PC機(jī)串行通信的方法,并給出其硬件接口電路及通信源程序。關(guān)鍵詞 異步串行通信 發(fā)送與接收 VB4 Win95 串口查詢(xún)法 1 前言 美國(guó)Microchip公司的PIC16系列單片機(jī)是一種新型的CMOS工藝的8位單片機(jī)。其中,PIC16FXX單片機(jī)的程序存儲(chǔ)器為電可擦除閃速存儲(chǔ)器(flash),可多次修改程序,甚至可以在線(xiàn)編程。PIC16F83和PIC16F84片內(nèi)數(shù)據(jù)存儲(chǔ)器除RAM外,還有64字節(jié)的EEPROM,可以當(dāng)作一般的或非易失性的數(shù)據(jù)存儲(chǔ)器使用,簡(jiǎn)單方便。它還具有片內(nèi)上電復(fù)位、延時(shí)電路、看門(mén)狗電路等。另外,PIC16系列單片機(jī)功耗極低,因而是一種非常適合在各種便攜式設(shè)備中使用的高性?xún)r(jià)比的單片機(jī),并已經(jīng)得到了越來(lái)越廣泛的應(yīng)用。 但是在許多需要大量計(jì)算的運(yùn)用中,還必須借助微機(jī)的強(qiáng)大數(shù)據(jù)處理能力。這樣必須通過(guò)通信電路實(shí)現(xiàn)PIC單片機(jī)與微機(jī)間的可靠數(shù)據(jù)傳輸。有的PIC16單片機(jī)內(nèi)并沒(méi)有提供串行口,所以串行通信必須通過(guò)自己設(shè)計(jì)的硬件電路和通信軟件來(lái)實(shí)現(xiàn)。 下面介紹用查詢(xún)法實(shí)現(xiàn)異步串行通訊的方法。同時(shí)給出了用PIC16F84單片機(jī)的兩個(gè)I/O口模擬2線(xiàn)串行口的硬件接口電路、程序流程框圖、單片機(jī)內(nèi)通信程序以及微機(jī)內(nèi)的通信程序等。2 硬件實(shí)現(xiàn)方法與電路 PIC16F84的程序存儲(chǔ)器由1K×14的閃速(flash)存儲(chǔ)器構(gòu)成,它只有13條I/O口,1個(gè)定時(shí)器,為了盡量節(jié)省單片機(jī)的軟硬件資源,采用下述異步串行通信的實(shí)現(xiàn)方法。 如圖1所示,PIC16F84在4MHz時(shí)鐘下,采用半雙工方式,可實(shí)現(xiàn)9600波特率的異步串行數(shù)據(jù)通信,1位停止位,8位數(shù)據(jù)位,無(wú)校驗(yàn)位。接收和發(fā)送以低位在先(一般模式),采用軟件延時(shí)。為節(jié)省篇幅,單片機(jī)內(nèi)的通信程序中未提供任何握手協(xié)議,用戶(hù)可根據(jù)自己的需要在軟件中加入握手方式。
標(biāo)簽: PIC 16 PC機(jī) 單片機(jī)
上傳時(shí)間: 2014-12-27
上傳用戶(hù):偷心的海盜
P87LPC767 OTP 單片機(jī)原理 P87LPC767 是20 腳封裝的單片機(jī)適合于許多要求高集成度低成本的場(chǎng)合可以滿(mǎn)足許多方面的性能要求作為Philips 小型封裝系列中的一員P87LPC767 提供高速和低速的晶振和RC 振蕩方式可編程選擇具有較寬的操作電壓范圍可編程I/O 口線(xiàn)輸出模式選擇可選擇施密特觸發(fā)輸入LED 驅(qū)動(dòng)輸出有內(nèi)部看門(mén)狗定時(shí)器P87LPC767 采用80C51 加速處理器結(jié)構(gòu)指令執(zhí)行速度是標(biāo)準(zhǔn)80C51 MCU 的兩倍特性 操作頻率為20MHz 時(shí)除乘法和除法指令外加速80C51 指令執(zhí)行時(shí)間為300600ns VDD=4.5 5.5V 時(shí)時(shí)鐘頻率可達(dá)20MHz VDD=2.7 4.5V 時(shí)時(shí)鐘頻率最大為10MHz 4 通道多路8 位A/D 轉(zhuǎn)換器在振蕩器頻率fosc=20MHz 時(shí)轉(zhuǎn)換時(shí)間為9.3μs 用于數(shù)字功能時(shí)操作電壓范圍為2.7 6.0V 4K 字節(jié)OTP 程序存儲(chǔ)器128 字節(jié)的RAM 32Byte 用戶(hù)代碼區(qū)可用來(lái)存放序列碼及設(shè)置參數(shù) 2 個(gè)16 位定時(shí)/計(jì)數(shù)器每一個(gè)定時(shí)器均可設(shè)置為溢出時(shí)觸發(fā)相應(yīng)端口輸出 內(nèi)含 2 個(gè)模擬比較器 全雙工通用異步接收/發(fā)送器UART 及I2C 通信接口 八個(gè)鍵盤(pán)中斷輸入另加2 路外部中斷輸入 4 個(gè)中斷優(yōu)先級(jí) 看門(mén)狗定時(shí)器利用片內(nèi)獨(dú)立振蕩器,無(wú)需外接元件,看門(mén)狗定時(shí)器溢出時(shí)間有8 種選擇 低電平復(fù)位使用片內(nèi)上電復(fù)位時(shí)不需要外接元件 低電壓復(fù)位選擇預(yù)設(shè)的兩種電壓之一復(fù)位可在掉電時(shí)使系統(tǒng)安全關(guān)閉也可將其設(shè)置為一個(gè)中斷源 振蕩器失效檢測(cè)看門(mén)狗定時(shí)器具有獨(dú)立的片內(nèi)振蕩器因此它可用于振蕩器的失效檢測(cè) 可配置的片內(nèi)振蕩器及其頻率范圍和RC 振蕩器選項(xiàng)(用戶(hù)通過(guò)對(duì)EPROM 位編程選擇) 選擇RC 振蕩器時(shí)不需外接振蕩器件 可編程 I/O 口輸出模式準(zhǔn)雙向口,開(kāi)漏輸出,上拉和只有輸入功能可選擇施密特觸發(fā)輸入 所有口線(xiàn)均有20mA 的驅(qū)動(dòng)能力 可控制口線(xiàn)輸出轉(zhuǎn)換速度以降低EMI,輸出最小上升時(shí)間約為10ns 最少 15 個(gè)I/O 口,選擇片內(nèi)振蕩和片內(nèi)復(fù)位時(shí)可多達(dá)18 個(gè)I/O 口 如果選擇片內(nèi)振蕩及復(fù)位時(shí),P87LPC767 僅需要連接電源線(xiàn)和地線(xiàn) 串行 EPROM 編程允許在線(xiàn)編程2 位EPROM 安全碼可防止程序被讀出 空閑和掉電兩種省電模式提供從掉電模式中喚醒功能低電平中斷輸入啟動(dòng)運(yùn)行典型的掉電電流為1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 腳DIP 和SO 封裝
上傳時(shí)間: 2013-11-06
上傳用戶(hù):xcy122677
ISP 型單片機(jī)實(shí)驗(yàn)板學(xué)習(xí)單片機(jī)離不開(kāi)實(shí)驗(yàn),以往單片機(jī)的實(shí)驗(yàn)往往依賴(lài)于仿真機(jī)和單片機(jī)學(xué)習(xí)系統(tǒng),價(jià)格昂貴,至使學(xué)習(xí)單片機(jī)的門(mén)檻很高,很多人不能跨入單片機(jī)學(xué)習(xí)的大門(mén)。近年來(lái),隨著FLASH型單片機(jī)的廣泛應(yīng)用,采用軟件模擬加寫(xiě)片驗(yàn)證成為一種經(jīng)濟(jì)實(shí)用的實(shí)驗(yàn)方法,尤其是隨著單片機(jī)技術(shù)的發(fā)展,很多單片機(jī)都具有了ISP 功能,只要一根下載線(xiàn)即可以編程。STC 單片機(jī)更是將其ISP 功能發(fā)揮極致,只要有RS232 接口,不需任何其他電路即可實(shí)現(xiàn)ISP 功能。。多年前,本網(wǎng)站為單片機(jī)愛(ài)好者設(shè)計(jì)了實(shí)驗(yàn)電路板,并公開(kāi)了全部的軟、硬件資料,廣受愛(ài)好者歡迎,很多人使用這塊實(shí)驗(yàn)電路板學(xué)習(xí)并由此入門(mén),同時(shí)網(wǎng)絡(luò)上也出現(xiàn)了很多同類(lèi)功能的實(shí)驗(yàn)電路板,為廣大愛(ài)好者學(xué)習(xí)單片機(jī)創(chuàng)造了良好的條件。隨著技術(shù)的發(fā)展,本站在原實(shí)驗(yàn)電路板的基礎(chǔ)上,開(kāi)發(fā)了一塊功能更強(qiáng)的實(shí)驗(yàn)電路板,該板除保留了原板廣受好評(píng)的部分外,新增了更多的功能。最大的特點(diǎn)是具有仿真能力,不再需要昂貴的仿真機(jī),即可使用Keil 軟件進(jìn)行仿真調(diào)試,使得學(xué)習(xí)成本大為下降。板上安裝了6 位數(shù)碼管(原板為2 位數(shù)碼管);8 個(gè)發(fā)光二極管;四個(gè)按鈕開(kāi)關(guān);一個(gè)簡(jiǎn)單的音響電路;一個(gè)用于計(jì)數(shù)實(shí)驗(yàn)的振蕩器;At24CXXX 類(lèi)芯片插座;X5045 芯片插座;RS232 串行接口。
標(biāo)簽: ISP 單片機(jī)實(shí)驗(yàn)板
上傳時(shí)間: 2013-10-24
上傳用戶(hù):dragonhaixm
單片機(jī)/ISP綜合設(shè)計(jì)實(shí)驗(yàn) 概述由于計(jì)算機(jī)科學(xué)和電路集成技術(shù)的迅猛發(fā)展,電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化,且電子系統(tǒng)設(shè)計(jì)原理和大型軟件設(shè)計(jì)的原理極為接近。這些都要求電子類(lèi)專(zhuān)業(yè)的教學(xué)重點(diǎn)應(yīng)由傳統(tǒng)的基礎(chǔ)功能模塊設(shè)計(jì)轉(zhuǎn)向?qū)Υ笠?guī)模復(fù)雜系統(tǒng)的分析和管理,加強(qiáng)對(duì)學(xué)生系統(tǒng)概念的培養(yǎng)。電子信息系列實(shí)驗(yàn)裝置便是為了滿(mǎn)足這種需要而開(kāi)始研發(fā)的。它包含有電子技術(shù)實(shí)驗(yàn)裝置,計(jì)算機(jī)組成/網(wǎng)際服務(wù)實(shí)驗(yàn)裝置,微機(jī)系統(tǒng)與接口實(shí)驗(yàn)裝置及單片機(jī)/ISP綜合設(shè)計(jì)實(shí)驗(yàn)裝置。該系列實(shí)驗(yàn)裝置提供了集演示、驗(yàn)證和綜合設(shè)計(jì)的新一代教學(xué)平臺(tái),并按照教學(xué)大綱的要求配置了實(shí)驗(yàn)項(xiàng)目和實(shí)驗(yàn)內(nèi)容,此外,用戶(hù)還可根據(jù)自己的需要安排實(shí)驗(yàn)內(nèi)容,發(fā)揮創(chuàng)造性才能。單片機(jī)技術(shù)是一門(mén)很實(shí)用的技術(shù),單片機(jī)在工業(yè)控制中獨(dú)占鰲頭,故又稱(chēng)為微控制器。迄今為止,8位單片機(jī)仍占有單片機(jī)市場(chǎng)的60%以上份額,促進(jìn)了8位單片機(jī)朝著高性能和多功能化方向發(fā)展。隨著CPLD技術(shù)的不斷發(fā)展,也越來(lái)越被廣大設(shè)計(jì)人員重視、應(yīng)用。單片機(jī)/ISP綜合設(shè)計(jì)實(shí)驗(yàn)裝置實(shí)質(zhì)上是構(gòu)建了一個(gè)以CPLD/FPGA和MCU為中心,能與微機(jī)子系統(tǒng)進(jìn)行通信的綜合設(shè)計(jì)實(shí)驗(yàn)平臺(tái),它采用的是CPLD/FPGA和MCU雙系統(tǒng)核心架構(gòu),再與外圍設(shè)備通過(guò)總線(xiàn)方式連接起來(lái)??梢酝瓿捎嘘P(guān)單片機(jī),微機(jī)接口,邏輯設(shè)計(jì)等眾多實(shí)驗(yàn),可作為“計(jì)算機(jī)結(jié)構(gòu)與邏輯設(shè)計(jì)”,“單片機(jī)原理與應(yīng)用”,“在系統(tǒng)編程技術(shù)”,“VHDL設(shè)計(jì)”,“微型計(jì)算機(jī)測(cè)控技術(shù)”和“電子系統(tǒng)綜合設(shè)計(jì)”等課程的綜合實(shí)驗(yàn)裝置。該實(shí)驗(yàn)裝置在教學(xué)實(shí)踐中的應(yīng)用,為提高學(xué)生的動(dòng)手能力,加深學(xué)生對(duì)單片機(jī)、CPLD/FPGA技術(shù)的理解提供了良好的實(shí)驗(yàn)平臺(tái),為以后電子系統(tǒng)設(shè)計(jì)開(kāi)發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。除具有單片機(jī),CPLD/FPGA雙系統(tǒng)核心構(gòu)架外,提供了極其豐富的功能單元電路,如A/D、D/A、RTC及通訊接口等,并可根據(jù)學(xué)生應(yīng)用的需要方便地?cái)U(kuò)展其它電路,使其完全能夠做出具有復(fù)雜性和創(chuàng)造性的綜合性實(shí)驗(yàn),另外配置的一些工具模塊也能為學(xué)生做實(shí)驗(yàn)提供方便。1.2 實(shí)驗(yàn)裝置的特點(diǎn)EEEC-030B型單片機(jī)/ISP綜合設(shè)計(jì)實(shí)驗(yàn)裝置的主要特點(diǎn)如下: CPLD/FPGA和MCU雙系統(tǒng)架構(gòu)該系統(tǒng)既能單獨(dú)作為CPLD/FPGA實(shí)驗(yàn)系統(tǒng)或單片機(jī)實(shí)驗(yàn)系統(tǒng)使用,更能同時(shí)使用MCU和CPLD/FPGA系統(tǒng)以充分滿(mǎn)足不同類(lèi)型,不同規(guī)模系統(tǒng)設(shè)計(jì)的需要。適應(yīng)了當(dāng)今系統(tǒng)設(shè)計(jì)的潮流,使該系統(tǒng)功能更加完善。
標(biāo)簽: ISP 單片機(jī) 綜合設(shè)計(jì) 實(shí)驗(yàn)
上傳時(shí)間: 2013-10-13
上傳用戶(hù):363186
單片機(jī)指令系統(tǒng)原理 51單片機(jī)的尋址方式 學(xué)習(xí)匯編程序設(shè)計(jì),要先了解CPU的各種尋址法,才能有效的掌握各個(gè)命令的用途,尋址法是命令運(yùn)算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機(jī)中,有6種尋址方法,下面我們將逐一進(jìn)行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱(chēng)立即數(shù),有“#”號(hào)表示。立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話(huà)說(shuō)就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機(jī)的專(zhuān)用寄存器時(shí),我們已學(xué)過(guò),DPTR是一個(gè)16位的寄存器,它由DPH及DPL兩個(gè)8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說(shuō)明一下:在80C51單片機(jī)的指令系統(tǒng)中,僅有一條指令的操作數(shù)是16位的立即數(shù),其功能是向地址指針DPTR傳送16位的地址,即把立即數(shù)的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數(shù)直接以單元地址的形式給出,也就是在這種尋址方式中,操作數(shù)項(xiàng)給出的是參加運(yùn)算的操作數(shù)的地址,而不是操作數(shù)。例如:MOV A,30H 這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。 在80C51單片機(jī)中,直接地址只能用來(lái)表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲(chǔ)器以及位地址空間,具體的說(shuō)就是:1、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話(huà)的意思就是這0-127共128位的任何一位,例如0位是以00H這個(gè)單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專(zhuān)用寄存器除以單元地址形式給出外,還可以以寄存器符號(hào)形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲(chǔ)器RAM的內(nèi)部情況,請(qǐng)查看我們課程的第十二課。 直接尋址是唯一能訪(fǎng)問(wèn)特殊功能寄存器的尋址方式! 大家來(lái)分析下面幾條指令:MOV 65H,A ;將A的內(nèi)容送入內(nèi)部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內(nèi)容送入A中MOV direct,direct;將直接地址單元的內(nèi)容送直接地址單元MOV IE,#85H ;將立即數(shù)85H送入中斷允許寄存器IE 前面我們已學(xué)過(guò),數(shù)據(jù)前面加了“#”的,表示后面的數(shù)是立即數(shù)(如#85H,就表示85H就是一個(gè)立即數(shù)),數(shù)據(jù)前面沒(méi)有加“#”號(hào)的,就表示后面的是一個(gè)地址地址(如,MOV 65H,A這條指令的65H就是一個(gè)單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個(gè)工作寄存器組共有32個(gè)通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專(zhuān)用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來(lái)確定的),因此在使用前常需要通過(guò)對(duì)PSW中的RS1、RS0位的狀態(tài)設(shè)置,來(lái)進(jìn)行對(duì)當(dāng)前工作寄存器組的選擇。2、部份專(zhuān)用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進(jìn)位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱(chēng)就能得到操作數(shù)。例如:MOV A,R0這條指令的意思是把寄存器R0的內(nèi)容傳送到累加器A中,操作數(shù)就在R0中。INC R3這條指令的意思是把寄存器R3中的內(nèi)容加1 從前面的學(xué)習(xí)中我產(chǎn)應(yīng)可以理解到,其實(shí)寄存器尋址方式就是對(duì)由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進(jìn)行讀/寫(xiě)操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過(guò)寄存器間接得到的,因此稱(chēng)為寄存器間接尋址。 MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲(chǔ)器的256個(gè)單元。為什么會(huì)是256個(gè)單元呢?我們知道,R0或者R1都是一個(gè)8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內(nèi)部RAM地址30H內(nèi)的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內(nèi)的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個(gè)16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器時(shí),我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時(shí),采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會(huì)把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個(gè),R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對(duì)內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對(duì)外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個(gè)特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪(fǎng)問(wèn)特殊功能寄存器??! 寄存器間接尋址也須以寄存器符號(hào)的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱(chēng)前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時(shí),把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪(fǎng)問(wèn)程序存儲(chǔ)器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫(xiě)入,也就是說(shuō)變址尋址這種方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說(shuō)它是專(zhuān)門(mén)針對(duì)程序存儲(chǔ)器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數(shù)地址就是54H+3F21H=3F75H。如果3F75H單元中的內(nèi)容是7FH,則執(zhí)行這條指令后,累加器A中的內(nèi)容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無(wú)條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個(gè)16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來(lái)卻有一定的差別,現(xiàn)詳細(xì)說(shuō)明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個(gè)16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們?cè)趯W(xué)習(xí)特殊功能寄存器時(shí)已知道,程序計(jì)數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說(shuō),PC的值是隨程序的執(zhí)行情況自動(dòng)改變的,我們不可以隨便的給PC賦值。而DPTR是一個(gè)數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進(jìn)行賦值。我們?cè)倏粗噶頜OVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個(gè)地址,而PC是固定的,累加器A是一個(gè)8位的寄存器,它的尋址范圍是256個(gè)地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實(shí)就是只能在當(dāng)前指令下256個(gè)地址單元。所在,這在我們實(shí)際應(yīng)用中,可能就會(huì)有一個(gè)問(wèn)題,如果我們需要查詢(xún)的數(shù)據(jù)表在256個(gè)地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進(jìn)行查表操作,如果超過(guò)了256個(gè)單元,則不能用這條指令進(jìn)行查表操作。剛才我們已說(shuō)到,DPTR是一個(gè)數(shù)據(jù)指針,這個(gè)數(shù)據(jù)指針我們可以給它賦值操作的。通過(guò)賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達(dá)到64K。這就是這兩條指令在實(shí)際應(yīng)用當(dāng)中要注意的問(wèn)題。 變址尋址方式是MCS-51單片機(jī)所獨(dú)有的一種尋址方式。 位尋址 80C51單片機(jī)有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對(duì)內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個(gè)位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進(jìn)行位尋址: 1、我們?cè)诘谑n學(xué)習(xí)51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)時(shí),我們已知道在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM的低128單元中有一個(gè)區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個(gè)單元,一個(gè)單元是8位,所以位尋址區(qū)共有128位。這128位都單獨(dú)有一個(gè)位地址,其位地址的名字就是00H-7FH。這里就有一個(gè)比較麻煩的問(wèn)題需要大家理解清楚了。我們?cè)谇懊娴膶W(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個(gè)字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們?cè)谥噶钪校蛘咴诔绦蛑腥绾蝸?lái)區(qū)分它是一個(gè)單元地址還是一個(gè)位地址呢?這個(gè)問(wèn)題,也就是我們現(xiàn)在正在研究的位尋址的一個(gè)重要問(wèn)題。其實(shí),區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個(gè)問(wèn)題我們?cè)诤竺娴闹噶钕到y(tǒng)學(xué)習(xí)中再加以論述。 2、對(duì)專(zhuān)用寄存器位尋址。這里要說(shuō)明一下,不是所有的專(zhuān)用寄存器都可以位尋址的。具體哪些專(zhuān)用寄存器可以哪些專(zhuān)用寄存器不可以,請(qǐng)大家回頭去看看我們前面關(guān)于專(zhuān)用寄存器的相關(guān)文章。一般來(lái)說(shuō),地址單元可以被8整除的專(zhuān)用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專(zhuān)用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來(lái)進(jìn)行說(shuō)明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱(chēng)表示:表示該位的名稱(chēng),例如PSW的位5是F0,所以可以用F0表示 MOV C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專(zhuān)用寄存器符號(hào)加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實(shí)現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說(shuō)明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯(cuò)題 請(qǐng)判斷下列的MCS-51單片機(jī)指令的書(shū)寫(xiě)格式是否有錯(cuò),若有,請(qǐng)說(shuō)明錯(cuò)誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運(yùn)算指令中目的操作數(shù)必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數(shù)應(yīng)在B寄存器中,即乘法指令只可使用AB寄存器組合。
標(biāo)簽: 單片機(jī)指令 系統(tǒng)原理
上傳時(shí)間: 2013-11-11
上傳用戶(hù):caozhizhi
IAP在應(yīng)用中編程及其應(yīng)用 LPC2300 系列處理器在出廠時(shí),由廠家在片內(nèi)固化了一段Boot 代碼。Boot 裝載程序控制芯片復(fù)位后的初始化操作,并提供對(duì)Flash 編程的方法。Boot 程序可以對(duì)芯片進(jìn)行擦除、編程。
上傳時(shí)間: 2013-11-04
上傳用戶(hù):libinxny
基于HT49的MCU控制HT93LC46的讀寫(xiě) HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電子可擦除只讀存儲(chǔ)器),一般它用于微控制器的固定數(shù)據(jù)的存儲(chǔ)。在本文中,我們將以Holtek 公司8 位微控制器HT49 系列為例,介紹該芯片常用的操作功能代碼。用戶(hù)只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO 連接即可。
上傳時(shí)間: 2013-11-02
上傳用戶(hù):笨小孩
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1