單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案

上傳人:ai****ue 文檔編號:51672830 上傳時間:2022-01-28 格式:DOCX 頁數(shù):30 大?。?58.46KB
收藏 版權(quán)申訴 舉報 下載
單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案_第1頁
第1頁 / 共30頁
單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案_第2頁
第2頁 / 共30頁
單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案》由會員分享,可在線閱讀,更多相關(guān)《單片機原理及應(yīng)用林立張俊亮版課后習(xí)題答案(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第一章習(xí)題1 .什么是單片機?單片機和通用微機相比有何特點?答:單片機又稱為單片微計算機,它的結(jié)構(gòu)特點是將微型計算機的基本功能部件(如中央處理器(CPU、存儲器、輸入接口、輸出接口、定時/計數(shù)器及終端系 統(tǒng)等)全部集成在一個半導(dǎo)體芯片上。雖然單片機只是一個芯片,但無論從組成還是從邏輯功能上來看,都具有微機系統(tǒng)的定義。與通用的微型計算機相比, 單片機體積小巧,可以嵌入到應(yīng)用系統(tǒng)中作為指揮決策中心, 是應(yīng)用系統(tǒng)實現(xiàn)智 能化。2 .單片機的發(fā)展有哪幾個階段?8位單片機會不會過時,為什么?答:單片機誕生于1971年,經(jīng)歷了 SCM MCU SOCE大階段,早期的SCh#片 機都是8位或4位的。其中最成

2、功的是INTEL的8031,此后在8031上發(fā)展出了 MCS5保列MCU(統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著 工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了 16位單片機,但因為性價比不理想并未 得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨 大提高。隨著INTEL i960系列特別是后來的ARMS歹的廣?S應(yīng)用,32位單片機 迅速取代16位單片機的高端地位,并且進(jìn)入主流市場。然而,由于各應(yīng)用領(lǐng)域 大量需要的仍是8位單片機,因此各大公司紛紛推出高性能、大容量、多功能的 新型8位單片機。目前,單片機正朝著高性能和多品種發(fā)展,但由于 MCS-51系列8位單片機 仍能

3、滿足絕大多數(shù)應(yīng)用領(lǐng)域的需要,可以肯定,以 MCS-51系列為主的8位單片 機,在當(dāng)前及以后的相當(dāng)一段時間內(nèi)仍將占據(jù)單片機應(yīng)用的主導(dǎo)地位。3 .舉例說明單片機的主要應(yīng)用領(lǐng)域。答:單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的 智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇: 智能儀器單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu) 點,廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、電流、 功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力 等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功 能比起采用

4、電子或數(shù)字電路更加強大。例如精密的測量設(shè)備(電壓表、功率計, 示波器,各種分析儀)。工業(yè)控制單片機具有體積小、控制功能強、功耗低、環(huán)境適應(yīng)能力強、擴展靈活和使用 方便等優(yōu)點,用單片機可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、通信系統(tǒng)、 信號檢測系統(tǒng)、無線感知系統(tǒng)、測控系統(tǒng)、機器人等應(yīng)用控制系統(tǒng)。例如工廠流 水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構(gòu)成二級控 制系統(tǒng)等。 家用電器現(xiàn)在的家用電器廣泛采用了單片機控制,從電飯煲、洗衣 機、電冰箱、空調(diào)機、彩電、其他音響視頻器材、再到電子秤量設(shè)備和白色家電網(wǎng)絡(luò)和通信現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進(jìn)行數(shù)據(jù)通信,為在

5、計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼 叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信, 無線電對講機等。醫(yī)用設(shè)備領(lǐng)域單片機在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。模塊化系統(tǒng)某些專用單片機設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用, 而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機,看似簡單的功能,微縮 在純電子芯片中(有別于磁帶機的原理),就需要復(fù)雜的類似于計算機的原理。 如:音樂信號以數(shù)字的形式存于存

6、儲器中(類似于ROM,由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮 小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。汽車電子單片機在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動機控制器,基于 CAN 總線的汽車發(fā)動機智能電子控制器、GPSt航系統(tǒng)、abs防抱死系統(tǒng)、制動系統(tǒng)、 胎壓檢測等。止匕外,單片機在工商、金融、科研、教育、電力、通信、物流和國防航空航 天等領(lǐng)域都有著十分廣泛的用途。4 .將十進(jìn)制數(shù)37轉(zhuǎn)換為二進(jìn)制,BC惻和十六進(jìn)制數(shù),并對轉(zhuǎn)換結(jié)果進(jìn)行對比 分析。答:37=(100101)B=(25)H ; BCD 碼為 0011 0111

7、 ; 可見,同一個數(shù)用不同進(jìn)制表示,其結(jié)果也不同。5 .寫出下列十進(jìn)制數(shù)在8位微機中的原碼,反碼和補碼形式。(1) +36原碼 0010 0100B反碼 0010 0100B補碼 0010 0100B(2) -36原碼 1010 0100B反碼 1101 1011B補碼 1101 1100B(3) +127原碼 0111 1111B反碼 0111 1111B補碼 0111 1111B(4) -128原碼 1000 0000B反碼 0111 1111B補碼 1000 0000B(5) -121原碼 1111 1001B反碼 1000 0110B補碼 1000 0111B6 .對于二進(jìn)制數(shù)1000

8、 1001B,若理解為無符號數(shù),則該數(shù)對應(yīng)十進(jìn)制數(shù)為多少? 若理解為有符號數(shù),則該數(shù)對應(yīng)十進(jìn)制為多少?若理解為BCEB,則該數(shù)對應(yīng)十進(jìn)制數(shù)為多少?答:1000 1001B 無符號數(shù):137有符號數(shù):-9;BCEB: 89;7 .對下列各組數(shù)進(jìn)行“與”,“或”和“異或”運算。(1) 1010 1010 和 0000 0000與 0000 0000或 1010 1010異或 1010 1010 0111 0111 和 1000 1000與 0000 0000或 1111 1111異或 1111 1111(3) 1110 1110 和 0111 0111與 0110 0110或 1111 1111異

9、或 1001 1001 0011 1100 和 1111 0000與 0011 0000或 1111 1100異或 1100 11008 .Proteus ISIS 的工作界面中包含哪幾個窗口?菜單欄中包含哪幾個選項?答:Proteus ISIS 的工作界面主要包括標(biāo)題欄、菜單欄、工具欄、狀態(tài)欄、方 位控制按鈕、仿真進(jìn)程控制按鈕、對象選擇窗口,原理圖編輯窗口和預(yù)覽窗口等。主菜單欄包含文件、查看、編輯、工具、設(shè)計、圖形、源文件、調(diào)試、庫、 模板、系統(tǒng)、幫助選項。9 .利用ISIS模塊開發(fā)單片機系統(tǒng)需要經(jīng)過哪幾個主要步驟?(1)啟動 ISIS;(2)繪制電路原理圖;(3)輸入單片機程序;(4)進(jìn)行

10、源代碼調(diào)試;(5)仿真運行。10.何謂PCB利用ARES真塊進(jìn)行PC暇計需要經(jīng)過哪幾個主要步驟?答:PCB(Printed Circuit Board ),中文名稱為印制電路板,又稱印刷電路板、 印刷線路板,是重要的電子部件,是電子元器件的支撐體,是電子元器件電氣連 接的提供者。由于它是采用電子印刷術(shù)制作的,故被稱為“印刷”電路板。利用ARES真塊進(jìn)行PC破計的主要步驟:(1)啟動ARES (2)元器件布局;(3)元器件布線;(4)鋪銅;(5)三維效果圖;(6) CADCAM出。第2章MCS-51單片機結(jié)構(gòu)及原理習(xí)題1. MSC-51單片機內(nèi)部由哪些功能部件組成,各有什么功能?答:以51單片機

11、為例,其內(nèi)部功能部件有:控制器:是對取自程序存儲器中的指令進(jìn)行譯碼, 在規(guī)定的時刻發(fā)出各種操作所需的控制信號,完成指令所規(guī)定的功能;運算器:根據(jù)控制器發(fā)來的信號,執(zhí)行算術(shù)邏輯運算操作;存儲器:包括程序存儲和數(shù)據(jù)存儲器;定時器計數(shù)器:2個16位定時器/計數(shù)器,可對機器周期計數(shù),也可對外部輸入脈沖計數(shù);中斷系統(tǒng):可響應(yīng)三個內(nèi)部中斷源和兩個外部中斷源的中斷請求;輸入輸出接口: 4個8位并行口和一個全雙工用行口;2. MSC- 51單片機外部引腳的名稱是什么?各有什么功能?答:(1)電源及晶振引腳VCC(40腳):+5V電源引腳VSS(20腳):接地引腳XTAL1(19腳);外接晶振引腳(內(nèi)置放大器輸

12、入端)XTAL2(18腳):外接晶振引腳(內(nèi)置放大器輸出端)(2)控制引腳RST/Ud(9)為復(fù)位/備用電源引腳ALE/PROG(30為地址鎖存使能輸出/編程脈沖輸入PSEN(29):輸出訪問片外程序存儲器讀選通信號EA/ VPP (31):外部ROMfc許訪問/編程電源輸入并行I/O 口引腳P0.0 P0.7 (3932)P0 口;P1.0 P1.7 (1 8 -) P1 口;P2.0 P2.7 (21 28)P2 口;P3.0P3.7 (1017)P3 口。3. 51系列單片機的封裝有哪些類型?請說明每一種封裝引腳之間的距離 答:51系列單片機的封裝有:40引腳雙列直插封裝(DIPdual

13、 in-line package ),引腳之間的距離是 100mil();44引腳方形扁平封裝(QFPquad flat package )方式,引腳之間的距離是;44引腳帶引線的塑料芯片載體 PLCC(Plastic Leaded Chip Carrier)4 .什么是復(fù)位?單片機復(fù)位電路有哪幾種,工作原理分別是什么?答:復(fù)位一一使單片機恢復(fù)原始默認(rèn)狀態(tài)的操作。單片機復(fù)位電路有:上電復(fù)位電路,由電阻和電容構(gòu)成,通過上電時,電容相當(dāng)于短路而使復(fù)位引腳在晶振有效的情況下保持 2個機器周期的高電平;按鈕開關(guān) 復(fù)位電路,由兩個電阻的分壓構(gòu)成,通過手工按下按鈕,使復(fù)位引腳在晶振有效 的情況下保持2個機

14、器周期的高電平。5 .通常的微機系統(tǒng)存儲器結(jié)構(gòu)有哪幾種?MCS-5俾片機存儲器屬于哪一類?CS-51可尋址多大空間?答:通常的微機系統(tǒng)存儲器結(jié)構(gòu)有兩種結(jié)構(gòu),即哈佛結(jié)構(gòu)和馮諾依曼結(jié)構(gòu) (也叫 普林斯頓結(jié)構(gòu)),MCS-51單片機存儲器屬于,MCS-51可尋址空間是兩個64KB 即64KB的程序存儲空間和64KB的數(shù)據(jù)存儲空間。6 .片內(nèi)RAMW氐128個單元劃分為哪三個主要部分?各部分的主要功能是什么?答:片內(nèi)RAMW氐128個單元劃分為三個部分:工作寄存器區(qū)(00H-1FH,四組,每組8個,可作用工作寄存器切換使用; 可位尋址區(qū)(20H-2FH, 16B,位地址為00H-7FH用作為按位尋址的空

15、間; 用戶RAM% (30H-7FH, 80B,用作普通 RAMI元或堆棧。7 .程序狀態(tài)字寄存器PSW各位的定義是什么?答:程序狀態(tài)字寄存器PSW&位的定義如下:PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0CYACF0RS1RS0OVF1 FP PPSW.7進(jìn)/借位標(biāo)志CY,加法有進(jìn)位時置1,減法有借位時置1;PSW.6輔助進(jìn)位標(biāo)志AC加法運算低四位向高上四位有進(jìn)位時置1;PSW.5 PSW.1用戶標(biāo)志位F0和用戶標(biāo)志位F1,保存用戶的位數(shù)據(jù);PSW.4 PSW.3工作寄存器選擇控制位 RS1和RS0 00至11分別選擇四組工作 之一作為當(dāng)前

16、工作寄存器PSW.2:溢出標(biāo)志位OV有符號數(shù)加、減運算結(jié)果有溢出或乘除上結(jié)果異常 (乘 法運算結(jié)果大于255即乘積在BA中,或除法運算除數(shù)為0)時置1PSW.0奇偶標(biāo)志位P,累加器A中1的個數(shù)為奇數(shù)時置1。8 .什么是時鐘周期?什么是機器周期?什么是指令周期?當(dāng)振蕩頻率為 12MHz 時,一個機器周期為多少微秒?答:時鐘周期又叫振蕩周期或拍,用 P表示,是MCS-51單片機中最小的時間單 位,在一個時鐘周期內(nèi),CPUI成一個最基本的動作。機器周期:由12個時鐘周期構(gòu)成,完成一個基本操作指令周期:是執(zhí)行一條指令所需的時間,根據(jù)指令的復(fù)雜性,可由14個機器周 期構(gòu)成。當(dāng)振蕩頻率為12MHzH, 一

17、個機器周期為1微秒。9 . P0、P1、P2和P3口的結(jié)構(gòu)和功能分別是什么?答:P0口的每一位由1個鎖存器、2個三態(tài)緩沖器、1個輸出控制電路(非門 X、與門、電子開關(guān)MUX輸出驅(qū)動電路構(gòu)成,其功能既可以作為通用I/O 口實現(xiàn)輸入/輸出功能,也可作為單片機地址線的低8位和數(shù)據(jù)線實現(xiàn)外部擴展功能。 在用作輸入輸出口時,需外接上拉電阻。P1 口的每一位由1個鎖存器、1個場效應(yīng)管驅(qū)動器 V和2個三態(tài)門緩沖器 構(gòu)成,其作用是用作輸入輸出口P2 口的每一位由1個鎖存器、2個三態(tài)緩沖器、1個輸出控制單元、1個輸 出驅(qū)動單元構(gòu)成,其功能是用作輸入輸出口,或地址總線的高 8位。P3 口的每一位由1個鎖存器、2個

18、三態(tài)緩沖器、1個第二功能控制單元、1 個輸出驅(qū)動單元構(gòu)成,其作用是用作輸入輸出口或第二功能。10 . 51單片機引腳ALE的作用是什么?當(dāng)51不外接存儲器時,ALE上的輸出的 脈沖頻率是多少?答:51單片機引腳ALE的作用是對外部存儲尋址時鎖存 P0口輸出的低8位地址, 當(dāng)51不外接存儲器時,ALE上的輸出的脈沖頻率是fosc/6 o第3章 單片機的匯編語言與程序設(shè)計習(xí)題1 . MCS-51單片機有哪幾種尋址方式?適用于什么地址空間?答:MCS-5俾片機有7種尋址方式:直接尋址、寄存器尋址、寄存器間接尋址、 立即尋址、變址尋址、位尋址、相對尋址。直接尋址方式:操作數(shù)的地址由指令直接給出,適用于

19、片內(nèi)RAM勺所有地址空間;如 MOV A, 68HMOV A, PSW寄存器尋址方式:指令給出的是寄存器的編碼,操作數(shù)在編碼指定的寄存器 中,適用于片內(nèi)00H至1FH的32個字節(jié),用R0,R7表示,通過PSW勺RS1 和RS睦擇組號確定對應(yīng)32個字節(jié)中的其中8個,還有累加器A,以及乘除法 指令中的A和B寄存器,位尋址方式中的布爾累加器 C;MOV A, R1MUL ABINC DPTR寄存器間接尋址方式:指令給出的是寄存器的編碼,操作數(shù)地址在編碼指定 的寄存器中,適用于片內(nèi)RAM勺全部空間,其中52系列中的80H至FFH只能用 寄存器間接尋址;如 MOV A, R0MOV A, R1MOVX

20、A, DPTR立即尋址方式:操作數(shù)本身在指令中直接,給出適用于用8位立即數(shù)對片內(nèi) RA所有地址單元貝S值,也可用16位立即數(shù)對DPTR武值;如MOV A, #0E2HMOV DPTR #2000H變址尋址方式:以DPTRE PC作為基地址寄存器,以累加器A作為變址寄存 器,將基址寄存器與變址寄存器的內(nèi)容相加形成操作數(shù)的實際地址的一種尋址方 式,變址尋址方式適用于程序存儲器 ROM僅有三條指令如下:MOVC A, A+DPTRMOVC A, A+PCJMP A+DPTR位尋址方式:指令中直接給出操作數(shù)所在單元的位地址,適用于片內(nèi)RAM中地址20H至2FH中的16個字節(jié)中的128個位地址空間和80

21、H至FFH中地址中 可以被8整除的所有SFR中的每個位地址空間;如MOV C, 7FHMOV F0, CMOV C, ACC.7相對尋址方式:為相對轉(zhuǎn)移指令而設(shè),指令中直接給出轉(zhuǎn)移的相對偏移量, 其轉(zhuǎn)移目標(biāo)在當(dāng)前指令-128至+ 127字節(jié)范圍內(nèi)的地址空間。如SJMP STARTHERE SJMP HERE;等效于:SJMP $2 . MCS-5俾片機的PS州序狀態(tài)字中無ZERO睿)標(biāo)志位,怎樣判斷某內(nèi)部數(shù)據(jù) 單元的內(nèi)容是否為零?答:MCS-51單片機的PSW程序狀態(tài)字中無ZEROfO標(biāo)志位,判斷某內(nèi)部數(shù)據(jù)單 元的內(nèi)容是否為零是能通過取數(shù)到 A累加器,再判斷A中的每一位是否為零來確 定其值是否

22、為零。3 .編程將內(nèi)部RAM勺20H-30H單元內(nèi)容清零。解:設(shè)一個片內(nèi)RAMH+ R0,先指向首地址20H,通過累加器A清零,然后采用間接尋址方式依次將A中的零值傳送到指針?biāo)傅钠瑑?nèi) RAW元,每傳送一個字節(jié),地址指針加1,直到達(dá)到地址為30H或達(dá)到計數(shù)器規(guī)定的17個字節(jié)為止設(shè)地址指針初值累加器清0置0指針?biāo)竼卧刂分羔樇?程序1: MOVR0,#20HCLR ACONT: MOV R0,AINC R0CJNE R0,#31H,CONT ;指針未超過終點則繼續(xù)SJMP $;暫停程序2:MOV R0,#20HCLR AMOV R7,#17 CONT: MOV R0,AINC R0設(shè)地址指針初

23、值累加器清0計數(shù)器賦初值,從20H到30H共17個字節(jié)置0指針?biāo)竼卧刂分羔樇?DJNZ R7, CONT ;計數(shù)器減1,非0,則繼續(xù)SJMP $;暫停4 .編程查找內(nèi)部RAM勺32H41H單元中是否有0AAH&個數(shù)據(jù),若有這一數(shù)據(jù), 則將50H單元置為0FFH否則將50H單元清零。解:設(shè)一個片內(nèi)RAM旨車+ R0,先指向首地址32H,比較R0t#0AAH若相等, 則退出循環(huán),給50H單元賦0FFH若不相等,則R0加1為繼續(xù)比較下一個字節(jié) 做準(zhǔn)備,直到達(dá)到地址為41H或達(dá)到計數(shù)器規(guī)定的16個字節(jié)為止還沒找到,則 給50H單元賦00H 程序1:MOV R0,#32H;設(shè)地址指針初值CONT:

24、CJNE R0,#0AAH,NEX此較查找值與指針?biāo)竼卧闹?,不相等轉(zhuǎn)移MOVSJMPNEXT: INCCJNEMOVDOWN: MOV SJMPA,#0FFH DOWN R0R0,#42H,CONTA,#00H 50H,A $相等,則準(zhǔn)備好要賦的標(biāo)志值 0FFH轉(zhuǎn)存到保存結(jié)果處修改地址指針若指針未越過終點,則繼續(xù)查找失敗,則將00H存入結(jié)果標(biāo)志單元將比較結(jié)果標(biāo)志存入50H單元暫停END程序2:MOV R7,#16MOV R0,#32H;計數(shù)器賦初值,從20H到30H共16個字節(jié) ;設(shè)地址指針初值CONT: CJNE R0,#0AAH,NEXT;比較查找值與指針?biāo)竼卧闹?,不相等轉(zhuǎn)移MOV

25、 A,#0FFHSJMP DOWNNEXT: INC R0DJNZ R7,CONTMOV A,#00HDOWN: MOV 50H,ASJMP $END相等,則準(zhǔn)備好要賦的標(biāo)志值 0FFH轉(zhuǎn)存到保存結(jié)果處修改地址指針計數(shù)器減1,非0,則繼續(xù)查找失敗,則將00H存入結(jié)果標(biāo)志單元將比較結(jié)果標(biāo)志存入50H單元暫停5.查找20H4FH單元中出現(xiàn)00H的次數(shù),并將查找結(jié)果存入 50H單元解:從20H到4FH共48個字節(jié)MOV R7,#48;字節(jié)計數(shù)器賦初值CONT: CJNE INCNEXT: INC DJNZ MOV SJMPR6R0R7,CONT 50H,R6 $MOV R0,#20H;設(shè)地址指針初值

26、R0,#00H,NEXT比較查找值與指針?biāo)竼卧闹?,不相等轉(zhuǎn)移相等,0的個數(shù)計數(shù)器加1修改地址指針計數(shù)器減1,非0,則繼續(xù)保存O的個數(shù)計數(shù)值到50H單元暫停END ENDA中的內(nèi)容。6.已知A=83H R0=17H (17H)=34H,寫出下列程序段執(zhí)行之后的ANLA,#17HORL 17H,A XRLA,R0CPLAEND;A=03H;(17H)=0011 0100 V 0000 0011=0011 0111;A= 0000 0011 寸 0011 0111 =0011 0100;A=1100 1011ANL A,#17H ORL 17H,A XRL A,R0 CPL A7,已知單片機的晶

27、振頻率為12MHz分別設(shè)計延時為0.1s、1s的子程序。答:已知單片機的晶振頻率為12MHz則機器周期為1us,延時子程序是通過執(zhí) 行指令序列中機器周期數(shù)來達(dá)到,如果要 0.1s,即100ms也就是100000us, 所以需要機器周期數(shù)達(dá)到100000。要延時達(dá)到1S,可通過又t延時為0.1秒的子 程序調(diào)用10次來實現(xiàn)。DELAY100MS:D1:D2:MOV R6,#200MOV R7,#250NOPDJNZ R7,D2DJNZ R6,D1RET;1個機器周期;1個機器周期;1個機器周期;2個機器周期,3*251=753;2 個機器周期,(1+753+2)*132=99792;2 個機器周期

28、,1+99792+2=99795約 100msDELAY1S:MOV R7,#10;計數(shù) 10 次1LOOP:ACALL DELAY100Mss時 100msT程序99795+2DJNZ R7,LOOP ;未達(dá)到 10次則繼續(xù)10*(2+99795+2)RET;返回 2+10*(2+99795+2)=9979928 .內(nèi)部RAMA 20H單元開始處有一數(shù)據(jù)塊,以 ODFfe結(jié)束標(biāo)志,試統(tǒng)計該數(shù)據(jù) 塊的長度,將該數(shù)據(jù)塊送到外部數(shù)據(jù)存儲器 7E01H開始的單元,并將長度存入 7E00H單元。解:從20H的指針用R0,從外部MOV MOV MOVCONT: MOV MOVX INC INC INC

29、CJNE MOV MOVX SJMPR7,#0 R0,#20H DPTR,#7E01HA,R0 DPTR,A R7R0DPTRA,#0DH,CONTA,R7 DPTR,A $RAM7E0開始的指針用DPTR計數(shù)器用R7 字節(jié)計數(shù)器賦初值 設(shè)片內(nèi)RAM址指針初值 設(shè)片外RAM址指針初值 取片內(nèi)RAMfr的一個字節(jié) 存入片外RAM旨針?biāo)竼卧?長度計數(shù)器加1 片內(nèi)RAM4址指針加1 片外RAM4址指針加1 未達(dá)到結(jié)束標(biāo)志 取塊計數(shù)長度值 保存暫停END9 .內(nèi)部RAMA DATAF始的區(qū)域中存放著10個單字節(jié)十進(jìn)制數(shù),求其累力咻口, 并將結(jié)果存入SUMf口 SUM+憚元。解:R7計數(shù),R6保存累加

30、和高8位,R0用作地址指針ORG0000HLJMPMAINORG100HSUMEQU30HDATAAEQU40HMAIN:MOVR7,#10字節(jié)計數(shù)器賦初值MOVR0,#DATAA設(shè)片內(nèi)RAM1址指針初值CLRA累加器清0MOVR6,A累加結(jié)果的高8位CONT:ADDA,R0力口 RAMfr的一個字節(jié)至ij ACCDAAJNCNEXT無進(jìn)位則/、用管高8位INCR6有進(jìn)位,高8位加1NEXT:INCR0片內(nèi)RAM也址才旨針加1DJNZR7,CONT未完繼續(xù)MOVSUM,A保存低8位MOVSUM+1,R6保存局8位SJMP$暫停END10 .內(nèi)部RAM DATA麗DATA訃元開始處存放著兩個等長

31、的數(shù)據(jù)塊, 數(shù)據(jù)塊的 長度在LEN單元中。請編程檢查這兩個數(shù)據(jù)塊是否相等,若相等,將 0FFH寫入 RESULTS元,否貝U將0寫入RESULT1元。解:從DATA1FF始的指針用R0,從DATA2F始的指針用R1,計數(shù)器用R7LEN EQU DATA1 EQUDATA2 EQURESULT EQUMOV MOV MOVCONT: MOV MOV CJNE INC INC DJNZ MOV SJMPNOEQ: MOVDOWN: MOV10 30H 40H 50H R7,#LENR0,#DATA1 R1,#DATA2 A,R0 7FH,R1 A,7FH,NOEQ R0R1R7,CONTA,#0F

32、FH DOWNA,#0 RESULT,A字節(jié)計數(shù)器賦初值設(shè)片內(nèi)RAM1址指針初值設(shè)片外RAM1址指針初值取片內(nèi)RAM R0W旨的的一個字節(jié)將R1所指單元內(nèi)容取到片內(nèi)RAM!址7FH中 比較,不相等則結(jié)束DATA1 RAMft址指針加1DATA2 RAMft址指針力口 1未完,繼續(xù)相等,準(zhǔn)備寫入FFH轉(zhuǎn)寫入結(jié)果處不相等,準(zhǔn)備寫入00H保存比較結(jié)果標(biāo)志;暫停SJMP $ END11 .編制程序,將內(nèi)部 RAMfr M1 M2 M3和M4單元中的無符號數(shù)xl、x2、x3 和x4相加,并把和存入 ROW R1(R0中為高8位)中。解:M1EQU30HM2EQU40HM3EQU45HM4EQU4FH取第

33、一個數(shù)與第二個數(shù)相加如果無進(jìn)位,則轉(zhuǎn)移至第三個相加有進(jìn)位,高8位置1與第三個數(shù)相加沒有進(jìn)位,則轉(zhuǎn)至第四個數(shù)相加有進(jìn)位,高8位加1與第四個數(shù)相加沒有進(jìn)位,則轉(zhuǎn)至結(jié)束有進(jìn)位,高8位再加1低8位保存到R1暫停MOV A,M1ADD A,M2 JNC NEXT1 MOV R0,#1NEXT1: ADD A,M3 JNC NEXT2 INC R0NEXT2: ADD A,M4 JNC NEXT3 INC R0NEXT3: MOV R1,A SJMP $ END第4章單片機的C51語言習(xí)題1 . C語言的優(yōu)點是什么? C程序的主要結(jié)構(gòu)特點是什么?答:C語言是一種高級語言,學(xué)習(xí)比低級容易,不需要具體組織、分

34、配存儲器資 源和處理端口數(shù)據(jù),可以直接驅(qū)動單片機的所有資源。C程序以函數(shù)為單位,由一個主函數(shù)和若干個其他函數(shù)構(gòu)成,主函數(shù)是程序 的入口,其他函數(shù)由主函數(shù)直接或間接調(diào)用。 程序可以由一個文件或多個文件組 成。文件類型包括頭文件和 C語言源文件,也可以是匯編語言文件,C程序可與 匯編語言混合編程。2 . C51語言的變量定義包含哪些關(guān)鍵因素?為何這樣考慮?答:C語言的變量定義格式如下:存儲種類數(shù)據(jù)類型存儲類型變量名其中:存儲種類與標(biāo)準(zhǔn)C語言相同,包括:自動型(auto)、外部型(extern)、靜態(tài) 型(static)、寄存器型(register)。數(shù)據(jù)類型除了包含標(biāo)準(zhǔn) C語言類型的字符型(cha

35、r),整型(int),長整型 (long),浮點型(float),雙精度型(double)外,還有二進(jìn)制位型(bit),特殊功 能寄存器型(sfr) , SFR可位尋址白位類型(sbit)。存儲類型包括:片內(nèi) RAME(data)、片內(nèi)可位尋址區(qū)(bdata),片內(nèi)RAM句 接尋址區(qū)(idata),片外 RAM頁尋址區(qū)(pdata),片外 RAM區(qū)(xdata)、ROM區(qū) (code)。只所以比標(biāo)準(zhǔn)C語言多了存儲類型,就是因為MCS-51單片機的存儲結(jié)構(gòu)中 有四個物理存儲空間(片內(nèi)RAM片內(nèi)ROM片外RAM片外ROM)三個邏輯地址 空間(片內(nèi)RAM片外RAM ROM)而且有多種尋址方式(直接尋

36、址、間接尋址、 頁面尋址、位尋址)所致,所以在定義變量時,要根據(jù)其所在位置和尋址方式明 確指定存儲類型。3 . C51與匯編語言的特點各有哪些?怎樣實現(xiàn)兩者的優(yōu)勢互補?答:C51是結(jié)構(gòu)化語言,代碼緊湊;接近自然語言,程序可讀性強,易于調(diào)試、 維護(hù);庫函數(shù)豐富,編程工作量小,可使產(chǎn)品開發(fā)周期短;具有機器級控制能力, 功能很強,適合于嵌入式系統(tǒng)開發(fā);匯編指令無關(guān),易于掌握,上手快。匯編語言優(yōu)點是編寫的程序代碼精煉、執(zhí)行速度快,在相同功能下,匯編語 言程序可能比C語言程序效率高。缺點是對程序員要求高,必須對單片機的硬件 結(jié)構(gòu)非常熟悉才能編程,不便于編寫比較復(fù)雜的程序??筛鶕?jù)需要對要求時間性很強的代碼

37、用匯編語言編寫,其它部分用C語言編 寫,兩者混合編程就可以實現(xiàn)優(yōu)勢互補。4 .指出下面程序的語法錯誤:#includemain()a=C ;int a=7,Cdelay(10)void delay();cgar i ;for(i=O; i=255;+,);#includemain()a=C ;/a和C必須先定義才可使用int a=7,C/缺分號,應(yīng)該提在使用前說明delay(10)/延時子程序必須先定義,或先有函數(shù)原型說明void delay();/作為函數(shù)定義,有函數(shù)定義不能嵌套的問題,/即不能在一個函數(shù)內(nèi)定義另一個函數(shù),而且“”前不應(yīng)有分號/作為函數(shù)原型說明,應(yīng)該放在函數(shù)調(diào)用之前,且其后不

38、應(yīng)該接函數(shù)體cgar i ;/ 字符型應(yīng)該是 unsigned charfor(i=O; i=255;+);/+”應(yīng)改成 i+/主函數(shù)沒有結(jié)束,缺”5 .定義變量a, b, c,其中a為內(nèi)部RAM勺可位尋址區(qū)白字符變量,b為外部數(shù) 據(jù)存儲區(qū)浮點型變量,c為指向int型xdata區(qū)的指針。答: char bdata a;float xdata b; int xdata *c;6 .編程將8051的內(nèi)部數(shù)據(jù)存儲器20H單元和35H單元的數(shù)據(jù)相乘,結(jié)果存到外 部數(shù)據(jù)存儲器中(任意位置)。解:方法一:用嵌入式匯編語言實現(xiàn)#includevoid main() #pragma asmMOV A,20HM

39、OV B,35HMUL ABMOV DPTR,#1234HMOVX DPTR,AINC DPTRMOV A,BMOVX DPTR,A#pragma endasm方法二:單用C語言編程實現(xiàn)#include#includeint movdata(char);void main()unsigned int xdata x;unsigned char *ptr,a,b;ptr=0x25;a=*ptr;ptr=0x30;b=*ptr;x=a*b;7 . 8051的片內(nèi)數(shù)據(jù)存儲器25H單元中存放有一個010的整數(shù),編程求其平方 根(精確到5位有效數(shù)字),將平方根放到30H單元為首址的內(nèi)存中。解:方法一:用

40、C語言與匯編語言混合編程實現(xiàn)用C語言編寫的主函數(shù) MAIN.C#include#includechar getdata(char);void main()char a=0x25,c;float f;c=getdata(a);f=sqrt(c);用匯編語言編寫的取數(shù)據(jù)子函數(shù),只有一個地址參數(shù)在R7中,返回值為指定地 址單元中的內(nèi)容,用R7返回主函數(shù)。PUBLIC _GETDATADE SEGMENT CODERSEG DEGETDATA:MOVEXIT:MOVMOVMOV RET ENDA,R7 ;取地址參數(shù)R0,AA,R0R7,A ;返回地址單元中的內(nèi)容方法二:單用C語言編程實現(xiàn)/MAIN.C

41、#include#include int movdata(char);void main()char n;char *ptr;float *ptr2;float f;ptr=0x25;n=*ptr;f=sqrt(n);ptr2=0x30;*ptr2=f;8 .將外部RAM 10Hp 15H單元的內(nèi)容傳送到內(nèi)部 RAM 10Hp 15H單元解:方法一:米用C語言與匯編語言混合編程用C語言編寫的主函數(shù) MAIN.C#includechar movdata(char,char);void main()char a=0x10,b=0x06; movdata(a,b););用匯編語言編寫的移動數(shù)據(jù)子函數(shù)

42、 MOVDATA中第一個參數(shù)在 第二個參數(shù)在R5中為字節(jié)數(shù)PUBLIC _MOVDATA DE SEGMENT CODE RSEG DE _MOVDATA:MOVk,R7;取參數(shù)MOV R0,ALOOP: MOVX A,R0MOV R0,ADJNZ R5,LOOP EXIT: RETEND方法二:單用C語言編程實現(xiàn)/MAIN.C#include int movdata(char); void main() char n=6;char *ptr1=0x10;char xdata *ptr2;ptr2=0x20;while(n-) *ptr2+=*ptr1+;) )9 .內(nèi)部RAM20H 21H和

43、22H 23H單元分別存放著兩個無符號的 中的大數(shù)置于24H和25H單元。解:方法一:R7中為首地址,16位數(shù),將其#include void main() unsigned int *ptr;/設(shè)置一個內(nèi)部RAM旨針unsigned int x,y,z;ptr=0x20;/指向0x20單元x=*ptr;/取第一個數(shù)ptr=0x22;/指向0x22單元y=*ptr;/取第二個數(shù)z=(xy)?x:y;/將兩數(shù)中的較大者賦給zptr=0x24;指向地址為0x24的目標(biāo)單元*ptr=z;/將大數(shù)存入目標(biāo)單元)方法#include#includevoid main()(unsigned int x,y

44、,z;x=DBYTE0X20*256+DBYTE0X21;y=DBYTE0X22*256+DBYTE0X23;z=(xy)?x:y;/將兩數(shù)中的較大者賦給zDBYTE0X24=z/256;DBYTE0X25=z%256;)方法三:#includeunsigned int x _at_ 0x20;unsigned int y _at_ 0x22;unsigned int z _at_ 0x24;void main()(z=(xy)?x:y;)第4章單片機的C51語言習(xí)題1. C語言的優(yōu)點是什么? C程序的主要結(jié)構(gòu)特點是什么?答:C語言是一種高級語言,學(xué)習(xí)比低級容易,不需要具體組織、分配存儲器資

45、源和處理端口數(shù)據(jù),可以直接驅(qū)動單片機的所有資源。C程序以函數(shù)為單位,由一個主函數(shù)和若干個其他函數(shù)構(gòu)成,主函數(shù)是程序 的入口,其他函數(shù)由主函數(shù)直接或間接調(diào)用。程序可以由一個文件或多個文件組成。文件類型包括頭文件和 C語言源文件,也可以是匯編語言文件,C程序可與 匯編語言混合編程。2. C51語言的變量定義包含哪些關(guān)鍵因素?為何這樣考慮?答:C語言的變量定義格式如下:存儲種類數(shù)據(jù)類型存儲類型變量名其中:存儲種類與標(biāo)準(zhǔn)C語言相同,包括:自動型(auto)、外部型(extern)、靜態(tài) 型(static)、寄存器型(register)。數(shù)據(jù)類型除了包含標(biāo)準(zhǔn) C語言類型的字符型(char),整型(int

46、),長整型 (long),浮點型(float),雙精度型(double)外,還有二進(jìn)制位型(bit),特殊功 能寄存器型(sfr) , SFR可位尋址白位類型(sbit)。存儲類型包括:片內(nèi) RAME(data)、片內(nèi)可位尋址區(qū)(bdata),片內(nèi)RAM句 接尋址區(qū)(idata),片外 RAM頁尋址區(qū)(pdata),片外 RAM區(qū)(xdata)、ROM區(qū) (code)。只所以比標(biāo)準(zhǔn)C語言多了存儲類型,就是因為MCS-51單片機的存儲結(jié)構(gòu)中 有四個物理存儲空間(片內(nèi)RAM片內(nèi)ROM片外RAM片外ROM)三個邏輯地址空間(片內(nèi)RAM片外RAM ROM)而且有多種尋址方式(直接尋址、間接尋址、 頁面

47、尋址、位尋址)所致,所以在定義變量時,要根據(jù)其所在位置和尋址方式明 確指定存儲類型。3. C51與匯編語言的特點各有哪些?怎樣實現(xiàn)兩者的優(yōu)勢互補?答:C51是結(jié)構(gòu)化語言,代碼緊湊;接近自然語言,程序可讀性強,易于調(diào)試、 維護(hù);庫函數(shù)豐富,編程工作量小,可使產(chǎn)品開發(fā)周期短;具有機器級控制能力, 功能很強,適合于嵌入式系統(tǒng)開發(fā);匯編指令無關(guān),易于掌握,上手快。匯編語言優(yōu)點是編寫的程序代碼精煉、執(zhí)行速度快,在相同功能下,匯編語 言程序可能比C語言程序效率高。缺點是對程序員要求高,必須對單片機的硬件 結(jié)構(gòu)非常熟悉才能編程,不便于編寫比較復(fù)雜的程序??筛鶕?jù)需要對要求時間性很強的代碼用匯編語言編寫,其它部

48、分用C語言編 寫,兩者混合編程就可以實現(xiàn)優(yōu)勢互補。4. 指出下面程序的語法錯誤:#includemain()a=C ;int a=7,Cdelay(10)void delay();cgar i ;for(i=O; i=255;+,);#includemain()a=C ;/a和C必須先定義才可使用int a=7,C/缺分號,應(yīng)該提在使用前說明delay(10)/延時子程序必須先定義,或先有函數(shù)原型說明void delay();/作為函數(shù)定義,有函數(shù)定義不能嵌套的問題,/即不能在一個函數(shù)內(nèi)定義另一個函數(shù),而且“”前不應(yīng)有分號/作為函數(shù)原型說明,應(yīng)該放在函數(shù)調(diào)用之前,且其后不應(yīng)該接函數(shù)體cgar

49、i ;/ 字符型應(yīng)該是 unsigned charfor(i=O; i=255;+);/+”應(yīng)改成 i+/主函數(shù)沒有結(jié)束,缺“5.定義變量a, b, c, 據(jù)存儲區(qū)浮點型變量, 答: char bdata a;b為外部數(shù)其中a為內(nèi)部RAM勺可位尋址區(qū)的字符變量, c為指向int 型xdata 區(qū)的指針。float xdata b; int xdata *c;6 .編程將8051的內(nèi)部數(shù)據(jù)存儲器20H單元和35H單元的數(shù)據(jù)相乘,結(jié)果存到外 部數(shù)據(jù)存儲器中(任意位置)。解:方法一:用嵌入式匯編語言實現(xiàn)#includevoid main() #pragma asmMOV A,20HMOV B,35H

50、MUL ABMOV DPTR,#1234HMOVX DPTR,AINC DPTRMOV A,BMOVX DPTR,A#pragma endasm方法二:單用C語言編程實現(xiàn)#include#includeint movdata(char);void main()unsigned int xdata x;unsigned char *ptr,a,b;ptr=0x25;a=*ptr;ptr=0x30;b=*ptr;x=a*b;7 . 8051的片內(nèi)數(shù)據(jù)存儲器25H單元中存放有一個010的整數(shù),編程求其平方 根(精確到5位有效數(shù)字),將平方根放到30H單元為首址的內(nèi)存中。解:方法一:用C語言與匯編語言

51、混合編程實現(xiàn)用C語言編寫的主函數(shù) MAIN.C#include#includechar getdata(char);void main()char a=0x25,c;float f;c=getdata(a);f=sqrt(c););用匯編語言編寫的取數(shù)據(jù)子函數(shù),只有一個地址參數(shù)在R7中,返回值為指定地 址單元中的內(nèi)容,用R7返回主函數(shù)。PUBLIC _GETDATARSEG DE _GETDATA:MOVMOV MOV MOV EXIT:RETDE SEGMENT CODEA,R7 ;取地址參數(shù)R0,AA,R0R7,A ;返回地址單元中的內(nèi)容END方法二:單用C語言編程實現(xiàn)/MAIN.C#in

52、clude#includeint movdata(char);void main()char n;char *ptr;float *ptr2;float f;ptr=0x25;n=*ptr;f=sqrt(n);ptr2=0x30;*ptr2=f;)8 .將外部RAM 10Hp 15H單元的內(nèi)容傳送到內(nèi)部 RAM 10Hp 15H單元。解:方法一:米用C語言與匯編語言混合編程用C語言編寫的主函數(shù) MAIN.C#includechar movdata(char,char);void main()char a=0x10,b=0x06;movdata(a,b););用匯編語言編寫的移動數(shù)據(jù)子函數(shù) MO

53、VDATA中第一個參數(shù)在R7中為首地址, 第二個參數(shù)在R5中為字節(jié)數(shù)PUBLIC _MOVDATADE SEGMENT CODERSEG DE取參數(shù)_MOVDATA:MOVk,R7MOV R0,ALOOP: MOVX A,R0MOV R0,ADJNZ R5,LOOPEXIT: RETEND方法二:單用C語言編程實現(xiàn)/MAIN.C #includeint movdata(char);void main()char n=6;char *ptr1=0x10;char xdata *ptr2;ptr2=0x20;while(n-)*ptr2+=*ptr1+;16位數(shù),將其9 .內(nèi)部RAM20H 21H

54、和22H 23H單元分別存放著兩個無符號 中的大數(shù)置于24H和25H單元。解:方法一:#includevoid main()unsigned int *ptr;/設(shè)置一個內(nèi)部RAMt針unsigned int x,y,z;ptr=0x20;/指向0x20單元x=*ptr;/取第一個數(shù)ptr=0x22;/指向0x22單元y=*ptr;/取第二個數(shù)z=(xy)?x:y;/將兩數(shù)中的較大者賦給zptr=0x24;指向地址為0x24的目標(biāo)單元*ptr=z;/將大數(shù)存入目標(biāo)單元方法二:#include#include void main() unsigned int x,y,z;x=DBYTE0X20*

55、256+DBYTE0X21;y=DBYTE0X22*256+DBYTE0X23;z=(xy)?x:y;/將兩數(shù)中的較大者賦給zDBYTE0X24=z/256;DBYTE0X25=z%256;方法三:#includeunsigned int x _at_ 0x20;unsigned int y _at_ 0x22;unsigned int z _at_ 0x24;void main()(z=(xy)?x:y;第5章單片機的中斷系統(tǒng)習(xí)題1 .什么是中斷、中斷源、中斷優(yōu)先級和中斷嵌套?答:中斷是指單片機內(nèi)部有一個中斷管理系統(tǒng),它對內(nèi)部的定時器事件、串行通信的發(fā)送和接收及外部事件(如鍵盤按鍵動作)等進(jìn)

56、行自動的檢測判斷。當(dāng) CPU 正在處理某件事情(例如正在執(zhí)行主程序)的時候,外部或內(nèi)部發(fā)生的某一事件(如某個引腳上電平的變化,一個脈沖沿的發(fā)生或計數(shù)器的計數(shù)溢出等)請求CPUS速處理,于是,中斷管理系統(tǒng)會置位相應(yīng)標(biāo)志通知CPUW時中止當(dāng)前的工作,迅速轉(zhuǎn)去處理所發(fā)生的事件。處理完該事件后,再回到原來被中止的地方, 繼續(xù)原來的工作,這樣的過程稱為中斷。引發(fā)中斷的事件稱為中斷源。將中斷事件按輕重緩急分若干級別叫中斷優(yōu)先級。允許中斷優(yōu)先級高的中斷源中斷正在執(zhí)行的低優(yōu)先級的中斷服務(wù)程序叫中斷嵌 套。2 .什么叫中斷源? MCS-51有哪些中斷源?各有什么特點?它們的中斷向量地址 分別是多少?答:中斷源即

57、引發(fā)中斷的事件。MCS-5俾片機有5個中斷源,它們是外部中斷0,定時器T0,外部中斷1, 定時器T1,用行口。外部中斷源是由引腳的觸發(fā)信號引起的中斷,定時器中斷源是由于定時器計數(shù)器的溢出引發(fā)的中斷,用行口是由于串行通信的發(fā)送或接收引發(fā)的中斷。外部中斷0,定時器T0,外部中斷1,定時器T1,用行口五個中斷源的中斷 向量地址依次為:0003H, 000BH 0013H, 001BH 0023H3 . MCS-51中斷的中斷響應(yīng)條件是什么?答:(1)中斷源有中斷請求;(2)此中斷源允許位為1,即中斷源可以向CPUS中斷請求;(3) CPU開總中斷,即EA=1;(4)無同級或者更高級中斷正在服務(wù)4 .

58、 MCS-51的中斷響應(yīng)過程是怎樣的?答:(1)將相應(yīng)的中斷優(yōu)先級狀態(tài)觸發(fā)器置 1,以阻斷后來的同級和低級中斷請 求;(2)由硬件清除相應(yīng)的中斷請求標(biāo)志,用行口的發(fā)送和接收中斷除外;(3)執(zhí)行一條硬件LCALLJW令,即把程序計數(shù)器PC的內(nèi)容壓入堆棧保存,再將相應(yīng)的中斷服務(wù)程序的入口地址送入 PC;5 .編寫出外部中斷1為下跳沿觸發(fā)的中斷初始化程序。解:void Int1_init() IT1=1; EA=1;EX1=1;/IE=0x84;/ IE|=0x84;6 .有一外部中斷源,接入INT0端,當(dāng)其中有中斷請求時,要求 CPLffi一個從內(nèi)部RAM 30Hl元開始的50個字節(jié)的數(shù)據(jù)塊傳送到外部 RAMA 1000H開始的連續(xù) 存儲區(qū)。請編寫對應(yīng)的程序。解:#includevoid main()IT0=1 ;EA=1;EX0=1;while(1);void intx0() interrupt 0 using 1char * ptr1=0x30;char xdata * ptr2=0x1000;for(i=0;i50;i+) *ptr2+=*ptr1+;7 .設(shè)fosc = 12MHz利用定時器,TO(工作在方式2)在P1.1

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!