亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

數(shù)值分析

  • X波段雙頻高功率返波振蕩器的數(shù)值研究

    提出了采用兩段式同軸波紋慢波結(jié)構(gòu)實(shí)現(xiàn)雙頻高功率微波輸出的相對(duì)論返波振蕩器, 推導(dǎo)了該結(jié)構(gòu)的TM0n模式色散方程,數(shù)值求解了兩段式同軸波紋慢波結(jié)構(gòu)TM0n模色散曲線,分析了該器件X波段雙頻高功率微波輸出的產(chǎn)生機(jī)理, 分析中考慮了電子注在慢波結(jié)構(gòu)第二段工作效率不變和下降時(shí)的雙頻工作點(diǎn)情況,并運(yùn)用2.5 維全電磁粒子模擬程序驗(yàn)證了雙頻微波信號(hào)的可靠性。關(guān)鍵詞高功率微波;雙頻;X 波段;相對(duì)論返波振蕩器 當(dāng)前, 應(yīng)用于高功率微波效應(yīng)的微波器件只有一個(gè)主頻率,已有的實(shí)驗(yàn)結(jié)果表明,在現(xiàn)有條件下,單頻高功率微波用于攻擊敵方的電子系統(tǒng)所需的功率遠(yuǎn)遠(yuǎn)大于單只高功率微波源所能產(chǎn)生的功率,即破壞閾值很高[1]。但是,如果用兩個(gè)或多個(gè)頻率相近的高功率微波波束產(chǎn)生拍頻后用于攻擊電子系統(tǒng),那么所需的功率密度將大大減小,即效應(yīng)閾值大大下降, 采用這種方式將有可能在現(xiàn)有的技術(shù)下使高功率微波實(shí)用化[2],但是雙頻及多頻高功率微波源器件的研究目前是十分前沿的課題,處于剛起步階段,在國(guó)內(nèi)外極少有報(bào)道[2~4],因而,用單個(gè)微波源器件產(chǎn)生穩(wěn)定輸出的雙頻甚至多頻高功率微波具有重要的實(shí)際應(yīng)用價(jià)值和學(xué)術(shù)價(jià)值,是高功率微波領(lǐng)域又一個(gè)新興的研究方向, 在高功率微波武器和新體制雷達(dá)等方面將有良好的應(yīng)用前景。

    標(biāo)簽: X波段 雙頻 高功率 返波振蕩

    上傳時(shí)間: 2013-10-31

    上傳用戶:kxyw404582151

  • 基于PIC16F877A的方波信號(hào)發(fā)生器電路設(shè)計(jì)

    !方波信號(hào)是數(shù)字電路中非常重要的信號(hào)源!其產(chǎn)生方法有很多途徑"本設(shè)計(jì)是基于MPLAB平臺(tái)通過(guò)對(duì)方波信號(hào)發(fā)生器的電路分析!介紹了方波信號(hào)的產(chǎn)生原理和軟件實(shí)現(xiàn)過(guò)程!并利用’:.單片機(jī)的定時(shí)器#計(jì)數(shù)器技術(shù)對(duì)PIC16F877A進(jìn)行編程$通過(guò)對(duì)TMRO模塊進(jìn)行設(shè)置!使其分頻比改變!產(chǎn)生V種不同頻率的方波信號(hào)!同時(shí)改變初始值!產(chǎn)生任意頻率的方波信號(hào)"

    標(biāo)簽: F877 877A PIC 16F

    上傳時(shí)間: 2013-10-23

    上傳用戶:c12228

  • 醫(yī)用充氣式保溫毯控制系統(tǒng)設(shè)計(jì)及仿真

    針對(duì)醫(yī)用充氣式保溫毯的溫度控制要求,提出其溫度控制閉環(huán)系統(tǒng)的結(jié)構(gòu),系統(tǒng)的硬件電路主要由溫度傳感器、單片機(jī)及RS232通訊模塊等組成。采用PWM方法控制晶閘管導(dǎo)通時(shí)間的方式來(lái)改變加熱絲的加熱時(shí)間、采用自適應(yīng)模糊PID控制方法實(shí)現(xiàn)保溫毯氣囊出氣溫度的自動(dòng)調(diào)節(jié)與控制。將整個(gè)控制過(guò)程分為兩個(gè)階段:自動(dòng)調(diào)節(jié)初始階段,加熱絲加熱的占空比為100%;當(dāng)溫度達(dá)到一定值后轉(zhuǎn)入自適應(yīng)模糊PID控制階段,由相應(yīng)控制量來(lái)決定加熱絲加熱的占空比,實(shí)現(xiàn)氣體溫度的調(diào)節(jié)。通過(guò)MATLAB仿真分析表明,所采用的自適應(yīng)模糊PID控制方法優(yōu)于常規(guī)的PID控制,具有良好的適應(yīng)性和魯棒性,可明顯提高系統(tǒng)的穩(wěn)態(tài)精度。

    標(biāo)簽: 保溫毯 仿真 控制系統(tǒng)設(shè)計(jì)

    上傳時(shí)間: 2013-10-13

    上傳用戶:520

  • 基于單片機(jī)的超低頻任意函數(shù)信號(hào)發(fā)生器

    摘要:超低頻信號(hào)發(fā)生器是科研、教學(xué)、制造業(yè)中一種最常用的通用儀器,輸出波形一般固定為正弦波、三角波、鋸齒波和方波,不能實(shí)現(xiàn)有時(shí)在實(shí)驗(yàn)和工程應(yīng)用中需要的特殊信號(hào)或自定義信號(hào)。而要實(shí)現(xiàn)這一要求,不是做成硬件式的專用信號(hào)發(fā)生器,就是用計(jì)算機(jī)系統(tǒng)來(lái)完成,前者仍然不靈活,后者費(fèi)用太高。然而應(yīng)用單片機(jī)技術(shù),通過(guò)軟件與硬件的有機(jī)結(jié)合由硬件電路搭成一個(gè)環(huán)境平臺(tái),再由軟件程序把要求的“任意函數(shù)信號(hào)”數(shù)據(jù)表嵌入在單片機(jī)程序存儲(chǔ)器內(nèi),通過(guò)軟件程序更改輸出波形數(shù)據(jù)表,即可方便實(shí)現(xiàn)輸出任意函數(shù)信號(hào),而無(wú)需變動(dòng)硬件電路。本原理樣機(jī)使用單片機(jī)AT89C51,對(duì)其進(jìn)行一次固化,可以安排四種任意波形,頻率范圍為0.001~800Hz,幅值范圍為0~±10V。本文中對(duì)原理樣機(jī)的軟硬件系統(tǒng)的性能和誤差進(jìn)行了定量分析,并設(shè)計(jì)了一套使用Intel公司的新一代16位單片機(jī)80296SA對(duì)該樣機(jī)進(jìn)行了性能提升的新型樣機(jī)方案,然后對(duì)新型樣機(jī)方案進(jìn)行了原理分析和性能分析,并給出了誤差的定量計(jì)算,表明此方案不但可使樣機(jī)的原理頻率范圍提高至1500Hz,輸出幅值不變,輸出分辨率提高至212,使波形質(zhì)量大為改善。希望這種性價(jià)比較高的函數(shù)信號(hào)發(fā)生器對(duì)科研、教學(xué)、制造業(yè)有所幫助。關(guān)鍵詞:?jiǎn)纹瑱C(jī)應(yīng)用 MCS51 MCS296 超低頻信號(hào)發(fā)生器

    標(biāo)簽: 單片機(jī) 函數(shù)信號(hào)發(fā)生器 超低頻

    上傳時(shí)間: 2013-11-20

    上傳用戶:7891

  • C51單片機(jī)在三值光計(jì)算機(jī)編碼器中的應(yīng)用

    摘要:采用C51單片機(jī)作為三值光計(jì)算機(jī)編碼器的控制核心,實(shí)現(xiàn)了可以長(zhǎng)時(shí)間穩(wěn)定工作的三值光計(jì)算機(jī)編碼器模型。C5l單片機(jī)主要完成了與上位機(jī)通信和控制液晶單元工作的功能。文中從硬件和軟件兩個(gè)方面對(duì)使用的單片機(jī)系統(tǒng)進(jìn)行了詳細(xì)討論,著重介紹了單片機(jī)系統(tǒng)中硬件的設(shè)計(jì)、實(shí)現(xiàn)方法和軟件流程及核心程序段。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)性能穩(wěn)定可靠,目前已在360位的三值邏輯光學(xué)處理器模擬機(jī)中使用。關(guān)鍵詞:嵌入式系統(tǒng);單片機(jī)控制系統(tǒng);三值光計(jì)算機(jī);編碼器

    標(biāo)簽: C51 單片機(jī) 三值光 中的應(yīng)用

    上傳時(shí)間: 2013-12-02

    上傳用戶:lxm

  • 制作基于DSl302的電子時(shí)鐘時(shí)的難點(diǎn)分析

    摘要:論述了選擇時(shí)鐘芯片DSl302制作電子時(shí)鐘日歷系統(tǒng)的難點(diǎn)問(wèn)題;分析了一款選擇AT89C51作為主控芯片的電子時(shí)鐘硬件電路的工作原理,以及設(shè)計(jì)硬件電路時(shí)的注意事項(xiàng);給出了主程序的流程圖及幾個(gè)主要功能子程序的設(shè)計(jì)思路;分析了DSl302時(shí)鐘芯片的使用方法和注意事項(xiàng),并給出了相應(yīng)的解決方案。關(guān)鍵詞:DSl302;AT89C51;電子時(shí)鐘

    標(biāo)簽: DSl 302 電子時(shí)鐘

    上傳時(shí)間: 2013-12-11

    上傳用戶:18888888888

  • 微控制器末來(lái)發(fā)展分析

    微控制器末來(lái)發(fā)展分析 在本文的第一部分,我們將總結(jié)為什么嵌入式開(kāi)發(fā)者應(yīng)該考慮向 32 位微控制器(MCU)遷移。采取這一行動(dòng)的最強(qiáng)有力的理由是市場(chǎng)和消費(fèi)者對(duì)嵌入式產(chǎn)品復(fù)雜性的需求大大增加。隨著嵌入式產(chǎn)品彼此互聯(lián)越來(lái)越多、功能越來(lái)越豐富,目前的 8 位和 16 位MCU已經(jīng)無(wú)法滿足處理要求。即使 8 位或 16 位MCU能夠滿足當(dāng)前的項(xiàng)目需求,它也存在限制未來(lái)產(chǎn)品升級(jí)和代碼重復(fù)使用的嚴(yán)重風(fēng)險(xiǎn)。

    標(biāo)簽: 微控制器 發(fā)展

    上傳時(shí)間: 2013-10-18

    上傳用戶:yanqie

  • 單片機(jī)指令系統(tǒng)原理

    單片機(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ù)直接參與操作,所以又稱立即數(shù),有“#”號(hào)表示。立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話說(shuō)就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV  A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV  DPTR,#8200H在前面學(xué)單片機(jī)的專用寄存器時(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。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個(gè)單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號(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)查看我們課程的第十二課。 直接尋址是唯一能訪問(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)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(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、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進(jìn)位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱就能得到操作數(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ò)寄存器間接得到的,因此稱為寄存器間接尋址。 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,所以訪問(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作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問(wèn)特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號(hào)的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時(shí),把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問(wèn)程序存儲(chǔ)器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫(xiě)入,也就是說(shuō)變址尋址這種方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說(shuō)它是專門(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)題,如果我們需要查詢的數(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ì)專用寄存器位尋址。這里要說(shuō)明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請(qǐng)大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來(lái)說(shuō),地址單元可以被8整除的專用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(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、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5    MOV  C,D0H.5 4、專用寄存器符號(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

    上傳用戶:caozhizhi

  • 單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載

    單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開(kāi)始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫(xiě)進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆耍y記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫(xiě)指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫(xiě)的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類指令開(kāi)始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫(xiě)了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類指令中,均將目的地寫(xiě)在指令的后面,而將源寫(xiě)在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫(xiě)的: MAIN: SETB P1.0     ;(1)    LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,#250   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11)     表1  MAIN: SETB P1.0     ;(1)    MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,30H   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11) 表2    這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開(kāi)始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫(xiě)完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫(xiě)上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫(xiě)在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫(xiě)在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開(kāi)始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。

    標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)

    上傳時(shí)間: 2013-10-13

    上傳用戶:3294322651

  • 基于單片機(jī)的陶瓷窯多點(diǎn)溫度檢測(cè)系統(tǒng)

    基于單片機(jī)的陶瓷窯多點(diǎn)溫度檢測(cè)系統(tǒng):摘 要:系統(tǒng)以51單片機(jī)為核心,利用K型熱電偶作為傳感器,對(duì)陶瓷窯中多點(diǎn)溫度進(jìn)行監(jiān)控,通過(guò)串行通信,可供PC機(jī)上繪制溫度變化曲線圖的技術(shù)人員分析問(wèn)題,并設(shè)計(jì)了新穎的冷端補(bǔ)償電路和通用查表法,本系統(tǒng)成本低,測(cè)溫精度高,可靠實(shí)用.關(guān)鍵詞:?jiǎn)纹瑱C(jī);串行通信;冷端溫度補(bǔ)償;VB 在燒結(jié)陶瓷時(shí),火候的控制對(duì)陶瓷的質(zhì)量、色澤有直接的影響,進(jìn)一步影響陶瓷成品的價(jià)格,而長(zhǎng)期以來(lái)控制火候的工作就依靠工人師傅的經(jīng)驗(yàn),本文設(shè)計(jì)了一種多點(diǎn)溫度實(shí)時(shí)監(jiān)控系統(tǒng),它能在Pc機(jī)上實(shí)時(shí)顯示測(cè)量點(diǎn)的溫度而且如果溫度超過(guò)設(shè)定的臨界值時(shí),就發(fā)出信號(hào)報(bào)警,并且可以通過(guò)Pc機(jī)繪制同一個(gè)時(shí)刻不同點(diǎn)或者是不同時(shí)刻同一點(diǎn)的溫度變化曲線.這樣能有助于發(fā)現(xiàn)問(wèn)題并解決問(wèn)題,為節(jié)約成本和提高生產(chǎn)率、生產(chǎn)質(zhì)量做出貢獻(xiàn).

    標(biāo)簽: 單片機(jī) 陶瓷 多點(diǎn) 溫度檢測(cè)

    上傳時(shí)間: 2013-10-16

    上傳用戶:lhuqi

主站蜘蛛池模板: 沁源县| 长寿区| 巴南区| 吉林市| 小金县| 延庆县| 长乐市| 宁波市| 庆元县| 股票| 周宁县| 蒙城县| 抚州市| 乐昌市| 辰溪县| 隆回县| 五莲县| 台中县| 灵宝市| 河源市| 镇原县| 河北区| 贞丰县| 贵定县| 安国市| 固镇县| 承德县| 报价| 宾川县| 嘉祥县| 章丘市| 上栗县| 招远市| 容城县| 大竹县| 正宁县| 黄浦区| 苍梧县| 吴堡县| 东阿县| 武陟县|