freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作-文庫吧

2025-06-03 18:21 本頁面


【正文】 作必須在一個(gè)統(tǒng)一的時(shí)鐘脈沖的控制下才能按照正確的順序執(zhí)行。時(shí)鐘脈沖由時(shí)鐘振蕩器產(chǎn)生,通常振蕩器輸出的時(shí)鐘頻率為為6~16MHz。MCS51時(shí)鐘電路如下圖所示。圖14 MCS51時(shí)鐘電路圖1.時(shí)鐘周期時(shí)鐘周期也稱為振蕩周期,即振蕩器的振蕩頻率的倒數(shù),是時(shí)序中最小的時(shí)間單位。例如:時(shí)鐘頻率為6MHz。時(shí)鐘脈沖是計(jì)算機(jī)的基本工作脈沖,它控制著計(jì)算機(jī)的工作節(jié)奏。2.機(jī)器周期執(zhí)行一條指令的過程可分為若干個(gè)階段,每個(gè)一個(gè)階段完成一規(guī)定的操作,完一個(gè)規(guī)定操作所需要的時(shí)間稱為一個(gè)機(jī)器周期。一個(gè)機(jī)器周期包含12個(gè)時(shí)鐘周期。3.指令周期指令周期定義為執(zhí)行一條指令所用的時(shí)間。MCS51單片機(jī)指令可分為單周期指令、雙周期指令、四周期指令三種。只有乘法指令和除法指令是四周期指令。 最小系統(tǒng)最小系統(tǒng)電路圖如下圖所示:圖15 最小系統(tǒng)電路圖 第二章 MCS51指令系統(tǒng)及匯編語言程序設(shè)計(jì) 指令系統(tǒng)簡介;MCS51系列單片機(jī)指令系統(tǒng)共有111條指令,其中有49條單字節(jié)指令、45條雙字節(jié)指令和17條三字節(jié)指令。MCS51匯編語言指令格式由以下向個(gè)部分組成:[標(biāo)號(hào):] 操作碼 [目的操作數(shù)] [源操作數(shù)] [:注釋]其中,[]中的項(xiàng)表示為可選項(xiàng)例如:LOOP: MOV A,Ri :A←Ri 尋址方式;所謂尋址方式就是尋找或獲得操作數(shù)的方式。指令的一個(gè)重要組成部分是操作數(shù)。由尋址方式指定參與運(yùn)算的操作數(shù)或操作數(shù)所在單元的地址。尋址方式的一個(gè)重要問題是:何在整個(gè)存儲(chǔ)范圍內(nèi),靈活、方便地找到所需要的單元。1.立即尋址在立即尋址方式中,操作數(shù)直接出現(xiàn)在指令中,指令的操作數(shù)可以是8位或16位數(shù)。例如:MOV A,20H;MOV DPTR,20000H2.直接尋址在直接尋址方式中,操作數(shù)的單元地址直接出現(xiàn)在指令中,這一尋址方式可進(jìn)行內(nèi)存儲(chǔ)單元的訪問。它包括:⑴.特殊功能寄存器地址空間。這也是唯一可尋址特殊功能寄存器(SFR)的尋址方式。例如:MOV TCON,AMOV A, P1⑵.內(nèi)部RAM的低128字節(jié)例如:MOV A,76H3.寄存器尋址在寄存器尋址方式中,寄存器中的內(nèi)容就是操作數(shù)。例如:MOV A,Ri 。假若Ri中存放在操作數(shù)為3BH,則指令執(zhí)行結(jié)果是A=3BH。4.寄存器間接尋址在寄存器間接尋址方式中,指定寄存器中的內(nèi)容是操作數(shù)的地址,該地址對(duì)應(yīng)存儲(chǔ)器單元的內(nèi)容才是操作數(shù)。例如:MOV A,@R05.變址尋址 變址尋址方式是以程序指針PC或數(shù)據(jù)指針DPTR為基址寄存器,以累加器A作為變址寄存器,兩者內(nèi)容相加(即基地址+偏移量)形成16位的操作數(shù)地址,變址尋址方式主要用于訪問固化在程序存儲(chǔ)器中的某個(gè)字節(jié)。變址尋址方式有兩類:⑴.用程序指針PC作基地址,A作變地址,形成操作數(shù)地址:@A+PC。⑵.用數(shù)據(jù)指針DPTR作基地址,A作變址,形成操作數(shù)地址:@A+DPTR。6.相對(duì)尋址相對(duì)尋址是以程序計(jì)數(shù)器PC的當(dāng)前值作為基地址,與指令中的第二字節(jié)給出的相對(duì)偏移量rel進(jìn)行相加,所得和為程序的轉(zhuǎn)移地址。相對(duì)偏移量rel是一個(gè)用補(bǔ)碼表示的8位有符號(hào)數(shù),rel的范圍為+127~128字節(jié)之間。例如:SJMP 08HJZ 30H7.位尋址位尋址給出的是直接地址。例如:SETB ET0 指令系統(tǒng);單片機(jī)指令分為五類:1, 數(shù)據(jù)傳送類;2, 算術(shù)遠(yuǎn)算類;3, 邏輯轉(zhuǎn)移類;4, 控制轉(zhuǎn)移類;5, 位操作。1, 數(shù)據(jù)傳送類(29條)屬于這一類的助記符有:MOV 、MOVC、MOVX、XCH、XCHD、PUSH、POP①、MOV A ,Rn ②、MOV @Ri , A @Ri Direct Direct data data ③、MOV Rn ,A ④、MOV Direct1 , A Direct data data Direct2 @Ri Rn 注:★ 書寫時(shí),不要漏掉“,”號(hào)。 ★執(zhí)行后不影響任何標(biāo)志位。例:設(shè)片內(nèi)RAM 30H單元內(nèi)容為40H,第40H單元內(nèi)容為10H,P1口作為輸入口,其輸入數(shù)據(jù)為CAH,求經(jīng)下列程序段執(zhí)行后的結(jié)果。MOV R0, 30HMOV A, @R0MOV R1, AMOV B, @R1MOV @R1, P1MOV P2, P1⑤、MOVX A , @DPTR ⑥、MOVC A ,@A+DPTR @Ri @A+PC⑦、MOVX @DPTR , A @Ri , A⑧、XCH A ,Rn ⑨、XCHD A ,@Ri @Ri @DPTR Direct ⑩、MOV DPT,DATA16 ⑩、PUSH DirectPOP Direct注:由于復(fù)位后,SP的值為07H,這就會(huì)出現(xiàn)堆棧區(qū)與工作寄存器區(qū)兩者重疊。為此,必須在程序的開頭部分通過指令重新定義堆棧區(qū)域。如:MOV SP, 70H算術(shù)運(yùn)算類(24條形碼)屬于這一類的助記符有: ADD,ADDC,INC SUBB,DEC MUL,DIV,DA①、ADD Rn ②、INC A ADDC A ,@Ri Rn SUBB DATA @Ri DIRECT DIRECT DPTR③、DEC A ④、 MUL AB Rn DIV AB @Ri DA A DIRECT邏輯運(yùn)算類(24條)屬于這一類的助記符有:ANL,ORL,XRL,CPL,CLR① ANL A Rn ANL A,@Ri ANL A DIRECT ANL A DATA ② ANL direct, A ANL direct, data③ ORL A, Rn ORL A, direct ORL A, @Ri ORL A, data④ ORL direct, data ORL direct, A⑤ XRL A, Rn XRL A, direct XRL A, data XRL A, @Ri⑥ XRL direct, A XRL direct, data③ CPL A CLR A RL A RLC A RR A RRC A SWAP A 控制轉(zhuǎn)移類(17條)屬于這一類的助記符有:JMP,LJMP,AJMP, LCALL,ACALL,SJMPJZ,JNZ,DJNZ,CJNE①、JMP @A+DPTR ②、NOPLJMP addr16 RETAJMP addr11 RETILCALL addr16 ③、JZ relACALL addr11 JNZ relSJMP rel (地址范圍為) DJNZ Rn , rel Direct , rel④、CJNE Rn , DATA, rel A, DATA, rel @Ri, DATA, rel A, Direct, rel位操作指令(17條)屬于這一類的助記符有:JB,JNB,JBC,CLR,SETB,CPL,ANL,ORL,MOV①、CLR C ②、SETB C BIT BIT③、CPL C ④、ANL C ,BIT BIT /BIT⑤、ORL C ,BIT ⑥、MOV C ,BIT C ,/BIT BIT ,C⑦、JB BIT ,REL ⑧、JC rel JNB BIT ,REL JNC rel JBC BIT , REL、 匯編語言程序設(shè)計(jì)基礎(chǔ);程序設(shè)計(jì)語言可分為三類:機(jī)器語言、匯編語言、高級(jí)語言。機(jī)器語言:當(dāng)指令和地址采用二進(jìn)制代碼表示時(shí),稱之為機(jī)器語言。CPU直接識(shí)別和執(zhí)行的是機(jī)器語言代碼,但是,機(jī)器語言對(duì)人們來說不便于記憶和交流,而且極易出錯(cuò),故一般不采用機(jī)器語言直接編程。但是,對(duì)于任何其他語言編寫的程序,或者說計(jì)算機(jī)所執(zhí)行的每一操作,最終都必須轉(zhuǎn)換為機(jī)器語言的指令代碼,CPU才能識(shí)別和執(zhí)行。匯編語言:是一種采用助記符來表示的機(jī)器語言,即用助符號(hào)來代表指令的操作碼和操作數(shù),用標(biāo)號(hào)或符號(hào)代表地址、常數(shù)或變量。這種用助記符編寫的程序稱為源程序,匯編語言必須翻譯成機(jī)器語言的目標(biāo)代碼(目標(biāo)程序),計(jì)算機(jī)才能執(zhí)行。高級(jí)語言:使用接近人們習(xí)慣的自然語言的英語縮寫和數(shù)學(xué)表達(dá)的形式編寫程序,這樣就可以大大提高編程的效率。用高級(jí)語言編寫的源程序,需要經(jīng)編譯程序翻譯成機(jī)器語言表示的目標(biāo)程序,計(jì)算機(jī)方能執(zhí)行。 偽指令MCS51單片機(jī)匯編語言中常用的偽指令如下:1.ORG(匯編起始地址)格式:ORG 16位地址2.END(結(jié)束匯編)格式:END功能:匯編語言源程序的結(jié)束標(biāo)志,即通知匯編程序不再繼續(xù)往下匯編。3.EQU(等值)格式:標(biāo)志符 EQU 數(shù)或匯編符號(hào)功能:把數(shù)或匯編符號(hào)賦給標(biāo)識(shí)符,且只能賦值一次。如:LOOP EQU 20H4.DB(定義字節(jié))格式: [標(biāo)號(hào):] DB 項(xiàng)或項(xiàng)表功能:將項(xiàng)或項(xiàng)表中的字節(jié)(8位)數(shù)據(jù)依次存入標(biāo)號(hào)所示的存儲(chǔ)單元中。使用時(shí),項(xiàng)與項(xiàng)之間用“,”分隔;字符型數(shù)據(jù)用“”括起來;數(shù)據(jù)可采用二進(jìn)制、十六進(jìn)制及ASCLL碼等形式表示。例如:TAB: DB 12H,0AFH,“9”5.DW(定義字)格式:[標(biāo)號(hào):] DW 項(xiàng)或項(xiàng)表功能:功能:將項(xiàng)或項(xiàng)表中的字(16位)數(shù)據(jù)依次存入標(biāo)號(hào)所示的存儲(chǔ)單元中。例如:TAB: DW 0112H,04AFH6.DS(定義存儲(chǔ)單元)格式:標(biāo)號(hào):DS 數(shù)字功能:從標(biāo)號(hào)所指示的單元開始,根據(jù)數(shù)字的值保留一定數(shù)量的字節(jié)存儲(chǔ)單元,留給以后存儲(chǔ)數(shù)據(jù)用。例如:SPACE:DS 107.BIT(地址符號(hào)命令)格式:標(biāo)識(shí)符 BIT 位地址功能:將位地址賦以標(biāo)識(shí)符。例如:A1 BIT 經(jīng)以上定義后,A1就可當(dāng)作位地址來使用。MOV C,A1 程序設(shè)計(jì)實(shí)例;程序1:求符號(hào)函數(shù)。 設(shè)X、Y分別為30H、31H單元。分析:由設(shè)計(jì)要求可以看出,程序有三條路徑需要選擇,因此需要采用分支程序設(shè)計(jì),其流程圖如圖21所示。開始0→YX=0?X0?2→Y1→Y結(jié)束YYNN圖21 符號(hào)函數(shù)流程圖程序如下: ORG 2000H X EQU 30H Y EQU 31H MOV A, X JZ LOOP0 ;A為0值,轉(zhuǎn)LOOP0 JB , LOOP1 ;最高位為1,為負(fù)數(shù) MOV A, 01H ;A←1 SJMP LOOP0 LOOP1:MOV A, 02H ;A←2 LOOP0: MOV Y, A ;Y←A SJMP $ END程序2:在內(nèi)部RAM的42H開始的連續(xù)單元中存放一組8位無符號(hào)數(shù),該數(shù)組長度n(n≤3DH)存放在41H中,找出這組數(shù)中的最大數(shù),并將其存入內(nèi)部RAM的40H單元中。分析:可以先將第一個(gè)數(shù)組元素送40H單元內(nèi),然后將數(shù)組中的其它數(shù)依次與其比較,若大于40H中的值,
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1