最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

單片機(jī)原理及應(yīng)用復(fù)習(xí)題(全)

2023-06-05 14:51 作者:歡喜y1  | 我要投稿

單片機(jī)原理及應(yīng)用復(fù)習(xí)題

教材:張毅剛. 單片機(jī)原理與應(yīng)用設(shè)計(jì)(C51編程+Proteus仿真)(第2版). 電子工業(yè)出版社. 2015.

專業(yè):2017級(jí)自考計(jì)算機(jī)科學(xué)與技術(shù)(本科段)專業(yè)學(xué)生。

第1章 單片機(jī)概述

1.?在家用電器中使用單片機(jī)應(yīng)屬于微型計(jì)算機(jī)的????????。

A.輔助設(shè)計(jì)應(yīng)用 ????????????????B.測(cè)量、控制應(yīng)用

C.?dāng)?shù)值計(jì)算應(yīng)用 ????????????????D.?dāng)?shù)據(jù)處理應(yīng)用

答:B

2. 所謂CPU是指( ????) 。

A. 運(yùn)算器和控制器???B. 運(yùn)算器和存儲(chǔ)器 ??C. 輸入輸出設(shè)備 ??D. 控制器和存儲(chǔ)器

答:A

3. CPU主要組成部部分為( ??????) 。

A. 運(yùn)算器、控制器??B. 加法器、寄存器 ?C. 運(yùn)算器、寄存器 ?D.運(yùn)算器、指令譯碼器

答:A

4.已知某數(shù)的BCD碼為0111 0101 0100 0010 則其表示的十進(jìn)制數(shù)值為

A. 7542H ??????B. 7542 ?????C. 75.42H ?????D. 75.42?

答:B

5. 80C51單片機(jī)CPU的位數(shù)是

A. 16 ????B. 4 ????C. 8 ?????D. 準(zhǔn)16

答:C

6. 一個(gè)完整的微機(jī)系統(tǒng)由硬件和?????????兩大部分組成。

答:軟件

7.除了單片機(jī)這一名稱之外,單片機(jī)還可稱為微控制器和?????????。

答:嵌入式控制器

8. 單片機(jī)與普通微型計(jì)算機(jī)的不同之處在于其將CPU、????????和I/O口三部分,通過內(nèi)部總線連接在一起,集成于一塊芯片上。

答:存儲(chǔ)器

9. 計(jì)算機(jī)的系統(tǒng)總線有數(shù)據(jù)總線、????????????和控制總線。

答:地址總線。

10. 單片機(jī)內(nèi)有組成微機(jī)的主要功能部件CPU、存儲(chǔ)器、????????和總線。

答:I/O接口

11. 計(jì)算機(jī)的系統(tǒng)總線有數(shù)據(jù)總線、地址總線和????????????????。

答:控制總線 。

12.單片機(jī)與普通微型計(jì)算機(jī)的不同之處在于其將CPU、存儲(chǔ)器、和I/O口三部分,通過內(nèi)部????????連接在一起,集成于一塊芯片上。

答:總線

13.什么是單片機(jī)?

答:單片機(jī)就是在一片半導(dǎo)體硅片上,集成了中央處理單元(CPU)、存儲(chǔ)器(RAM、ROM)、并行I/O、串行I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、系統(tǒng)時(shí)鐘電路及系統(tǒng)總線的用于測(cè)控領(lǐng)域的單片微型計(jì)算機(jī),簡稱單片機(jī)。

14. 什么是數(shù)據(jù)總線?

答:用于在單片機(jī)與外部存儲(chǔ)器之間或I/O接口之間傳輸數(shù)據(jù)信號(hào)的通信線。

15. 什么是控制器?

答:控制器是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)的各功能部件,從而保證單片機(jī)各部分自動(dòng)地協(xié)調(diào)一致地工作的部件。

16 什么是“嵌入式系統(tǒng)”?

答:廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機(jī)、DSP、嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數(shù)人把 “嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個(gè)嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。

17. 解釋單片機(jī)型號(hào)“AT89C51-12PI”的含義。

答:該單片機(jī)是ATMEL公司的Flash單片機(jī),采用CMOS,速度為12MHz,封裝塑料雙列直插DIP封裝,工業(yè)用產(chǎn)品,標(biāo)準(zhǔn)處理工藝生產(chǎn)。

18. 什么是地址總線?

答:用于傳送單片機(jī)單向發(fā)出的地址信號(hào)的通信線,以便進(jìn)行儲(chǔ)存器單元和I/O接口芯片的寄存器選擇。

19. I/O接口

答:I/O接口是單片機(jī)與外設(shè)間連接電路的總稱。

20. 控制總線

答:單片機(jī)和存儲(chǔ)器或I/O接口之間傳輸各種控制信號(hào)的單向總線。

21. 簡述單片機(jī)的應(yīng)用領(lǐng)域。

答:智能化家用電器、辦公自動(dòng)化設(shè)備、商業(yè)營銷設(shè)備、工業(yè)自動(dòng)化控制智能化儀表、智能化通信產(chǎn)汽車電子產(chǎn)品品、航空航天系統(tǒng)和國防軍事、尖端武器等領(lǐng)域。

22.嵌入式處理器家族中的單片機(jī)、DSP、嵌入式微處理器各有何特點(diǎn)?

答: 單片機(jī)體積小、價(jià)格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實(shí)現(xiàn)各種方式的檢測(cè)和控制。單片機(jī)在嵌入式處理器市場(chǎng)占有率最高,最大特點(diǎn)是價(jià)格低,體積小。

DSP是一種非常擅長于高速實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算(如數(shù)字濾波、FFT、頻譜分析等)的嵌入式處理器。

嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的CPU,它的地址總線數(shù)目較多能擴(kuò)展較大的存儲(chǔ)器空間,所以可配置實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)。

23、簡述微處理器、微計(jì)算機(jī)、微處理機(jī)三者之間的區(qū)別。

答:微處理器、微處理機(jī)和CPU它們都是中央處理器的不同稱謂,微處理器芯片本身不是計(jì)算機(jī)。而微計(jì)算機(jī)、單片機(jī)是一個(gè)完整的計(jì)算機(jī)系統(tǒng),單片機(jī)是集成在一個(gè)芯片上的用于測(cè)控目的的單片微計(jì)算機(jī)。

?

?


第2章 AT89C51單片機(jī)的片內(nèi)硬件結(jié)構(gòu)

1. 80C51單片機(jī)的復(fù)位信號(hào)是( ?????)有效。

A. 高電平 ??????B. 低電平

C. 脈沖 ????????D. 下降沿

答:A

2. 80C51CPU是( ????)位的單片機(jī)。

A. 16 ???B. 4 ???C. 8???D. 準(zhǔn)16

答:C

3. PSW=18H時(shí),當(dāng)前工作寄存器是( ????)。

A. 0組 ????B. 1組 ???????C. 2組 ???????D. 3組

答:D

4. 片內(nèi)RAM的20H~2FH為位尋址區(qū),所包含的位地址是( ?)。

A. 00H~20H ??????B.00H~7FH ???

C. 20H~2FH ??????D.00H~FFH

答:B

5.AT89S51單片機(jī)的機(jī)器周期等于????????個(gè)時(shí)鐘振蕩周期。

A. 4 ???????B. 6 ???

C. 12 ??????D. 24

答:C。

6. 80C51復(fù)位后,PC與SP的值為( ???)。

A. 0000H,00H ?B. ?0000H,07H ????C. ?0003H,07H ??D. 0800H,00H

答:B

7. PC中存放的是( ???????)。

A. 下一條指令的首地址 ??B. 當(dāng)前正在執(zhí)行的指令

C. 當(dāng)前正在執(zhí)行指令的地址 ??D.下一條要執(zhí)行的指令

答:A?

8. 80C51單片機(jī)的 XTAL1 和 XTAL2 引腳是 ( ?????) 引腳 。

A. 外接定時(shí)器 ???B. 外接串行口 ????C. 外接中斷 ????D. 外接晶振

答:D

9. 單片機(jī)應(yīng)用程序一般存放在( ??????)中。

A. RAM ??B.ROM ???C.寄存器 ????D.CPU

答:B

10. 已知累加器A的數(shù)值為98H,它與0FAH相加,相加后會(huì)影響標(biāo)志位CY、AC和OV位,各個(gè)位的值是( ???)。

A. 0、0、0 ?????B. ?1、0、1 ?????C. 1、1、1 ?????D. 1、1、0

答:D

11. 80C51單片機(jī)的堆棧指針( ??????)

A. 只能位于內(nèi)部RAM低128B字節(jié)范圍內(nèi)。

B. 可位于內(nèi)部RAM低256字節(jié)范圍內(nèi)。

C. 可位于特殊功能寄存器內(nèi)。

D. 可位于內(nèi)部RAM或外部RAM內(nèi)。

答:A?

12.內(nèi)部RAM中,位地址為40H、88H的位,該位所在字節(jié)的字節(jié)地址分別為?????和?????。

A. 16H,26H ?????B. 10H,22H ???

C. 32H,66H ?????D. 28H,88H

答:D

13. 80C51單片機(jī)復(fù)位操作的主要功能是把PC初始化為( ????)。

A.0100H ???????B.2080H ??????C.0000H ????????D.8000H

答:C

14. 80C51單片機(jī)中既可位尋址又可字節(jié)尋址的單元是( ????)。

A. 20H ??B. 30H ???C. 00H ???D. 70H

答:A

15. 80C51單片機(jī)的堆棧區(qū)應(yīng)建立在( ????)。

A. 片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)的低128字節(jié)單元 ????B. 片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)

C. 片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)的高128字節(jié)單元 ????D. 程序存儲(chǔ)區(qū)

答:A

16. 在程序運(yùn)行中,PC的值是????????。

A.當(dāng)前正在執(zhí)行指令的前一條指令的地址

B.當(dāng)前正在執(zhí)行指令的地址

C.當(dāng)前正在執(zhí)行指令的下一條指令的首地址

D.控制器中指令寄存器的地址

答:C

17. 能夠用紫外光擦除ROM中程序的只讀存儲(chǔ)器稱為( ????)。

A. 掩膜ROM ????????B. PROM ??

C. EPROM ???????????D. EEPROM

答:C

18. 提高單片機(jī)的晶振頻率,則機(jī)器周期 ( ??????)。 ?

A . 不變 ????B . 變長 ?????C . 變短 ???????D . 不定

答:C

19.在AT89S51單片機(jī)中,如果采用6MHz晶振,一個(gè)機(jī)器周期為????????。

A. 1μs??????B. 2μs????

C. 3μs ?????D. 4μs

答:B

20. 變量存儲(chǔ)在ROM中,存儲(chǔ)器類型為( ????)

A. data ?????????B. pdata ??

C. xdata ????????D. code

答:D

21.80C51單片機(jī)的XTAL1和XTAL2引腳是??????引腳。

A. 外接定時(shí)器 ????B. 外接串行口 ????C. 外接中斷 ????D. 外接晶振

答:D

22. 單片機(jī)程序的入口地址是???????。

答:0000H

23.若由程序設(shè)定RS1、RS0=01,則工作寄存器R0~R7的直接地址為??????????。

答:08~0FH

24. ?當(dāng)80C51單片機(jī)引腳??????????信號(hào)有效時(shí),表示從P0口穩(wěn)定地送出了低8位地址。

答:ALE

25. 若選擇內(nèi)部程序存儲(chǔ)器, 應(yīng)該設(shè)置引腳為?????????。(高電平/低電平)

答:高電平

26. 80C51單片機(jī)的堆棧只可設(shè)置在?????????????????????????????????????????。

答:片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)的低128字節(jié)單元

27. AT89S51單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定的,因?yàn)锳T89S51單片機(jī)的PC是16位的,因此其尋址的范圍為??????????KB。

答:64

28. 單片機(jī)復(fù)位后,堆棧指針SP的值是???????。

答:07H

29.?80C51 的引腳RST是??????????????(IN腳還是OUT腳)。

答:IN腳

30.內(nèi)部RAM中,可作為工作寄存器區(qū)的單元地址為00H~????????H。

答:1FH

31.振蕩脈沖2分頻后產(chǎn)生的時(shí)鐘信號(hào)周期定義為???????????????周期。

答:狀態(tài)

32. 半導(dǎo)體存儲(chǔ)器分成RAM和???????????????兩大類

答:ROM

33. 80C51單片機(jī)片內(nèi)????????????范圍內(nèi)的數(shù)據(jù)存儲(chǔ)器,既可以字節(jié)尋址又可以位尋址。

答:20H-2FH

34. 80C51有4組工作寄存器,它們的地址范圍是?????????????。

答:00H-1FH

35.片內(nèi)RAM可進(jìn)行位尋址的空間位地址范圍是??????????????????。

答:00H~FFH

36.通過堆棧操作實(shí)現(xiàn)子程序調(diào)用時(shí),首先要把?????????的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。

答:PC

37. 若累加器A中的內(nèi)容為63H,那么,P標(biāo)志位的值為????????。

答:0

38. 一個(gè)機(jī)器周期等于??????????????狀態(tài)周期,

答:6個(gè)

39. 若采用6MHz的晶體振蕩器,則80C51單片機(jī)的振蕩周期為?????????????。

答:1/6μs

40. 什么是堆棧指針?

答:堆棧指針是內(nèi)部RAM中的一個(gè)寄存器,它指示出堆棧頂部在內(nèi)部RAM中的位置。

?

41. 什么是單片機(jī)最小應(yīng)用系統(tǒng)?

答:單片機(jī)最小應(yīng)用系統(tǒng)是指能使單片機(jī)工作的最少器件構(gòu)成的系統(tǒng),包括單片機(jī)本身、晶振電路、復(fù)位電路、電源,是大多數(shù)單片機(jī)控制系統(tǒng)不可缺少的關(guān)鍵部分。

42. 解釋“看門狗”技術(shù)的含義。

答:“看門狗”技術(shù)是使用一個(gè)定時(shí)器來不斷計(jì)數(shù),監(jiān)視程序的運(yùn)行。

43. 什么是指令周期?

答:指令周期是執(zhí)行一條指令所需要的時(shí)間,指令周期為1到4個(gè)機(jī)器周期。

44. 什么是機(jī)器周期?

答:CPU完成某一規(guī)定操作所需要的時(shí)間,一個(gè)機(jī)器周期為6個(gè)狀態(tài)周期,12個(gè)振蕩周期。

45.AT89S51單片機(jī)的片內(nèi)都集成了哪些外圍功能部件?

答:AT89S51單片機(jī)的片內(nèi)集成了如下功能部件:(1) 1個(gè)微處理器(CPU); (2) 128個(gè)數(shù)據(jù)存儲(chǔ)器(RAM)單元 ; (3) 4K Flash程序存儲(chǔ)器; (4) 4個(gè)8位可編程并行I/O口(P0口、P1口、P2口、P3口); (5) 1個(gè)全雙工串行口; (6) 2個(gè)16位定時(shí)器/計(jì)數(shù)器; (7) 1個(gè)看門狗定時(shí)器; (8) 一個(gè)中斷系統(tǒng), 5個(gè)中斷源,2個(gè)優(yōu)先級(jí); (9) 25個(gè)特殊功能寄存器(SFR), (10) 1個(gè)看門狗定時(shí)器。

46. 80C51系列單片機(jī)的信號(hào)有何功能?在使用 8031 時(shí)信號(hào)引腳應(yīng)如何處理?

答:信號(hào)具有選擇片內(nèi)ROM和片外ROM的功能,在=1時(shí)先用片內(nèi)ROM再用片外ROM, =0時(shí)內(nèi)部ROM被屏蔽掉,在沒有內(nèi)部ROM的要接地(=0),使用8031時(shí)=0;

47. 80C51單片機(jī)的位存儲(chǔ)區(qū)在哪里?尋址范圍是多少?

答:內(nèi)部RAM的20~2FH為位尋址區(qū)域,位地址范圍00~7FH;特殊功能寄存器中地址能被8整除的字節(jié)地址單元也可以位尋址,位地址范圍80~FFH;位存儲(chǔ)區(qū)共256個(gè)位。

48. 64kB程序存儲(chǔ)器空間有5個(gè)單元地址對(duì)應(yīng)AT89S51單片機(jī)5個(gè)中斷源的中斷入口地址,簡述這些單元的入口地址及對(duì)應(yīng)的中斷源。

答:64kB程序存儲(chǔ)器空間中有5個(gè)特殊單元分別對(duì)應(yīng)于5個(gè)中斷源的中斷服務(wù)程序入口地址,分別為:0003H對(duì)應(yīng)外部中斷0 ();000BH對(duì)應(yīng)定時(shí)器0 (T0);0013H對(duì)應(yīng)外部中斷1 ();001BH對(duì)應(yīng)定時(shí)器1 (T1);0023H對(duì)應(yīng)串行口。

49 已知一單片機(jī)系統(tǒng)的外接晶體振蕩器的振蕩頻率為11.059MHz,計(jì)算該單片機(jī)系統(tǒng)的振蕩周期P、狀態(tài)周期S、機(jī)器周期T所對(duì)應(yīng)的時(shí)間分別是多少?指令周期中的雙周期指令的執(zhí)行時(shí)間是多少?

答:P=1/f=(1/11.059×106)=0.09×10-6s=90ns

S=2P=2×90ns=180ns

機(jī)器周期=12P=12×90ns=1.08μs

雙指令周期=2×機(jī)器周期=2.16μs

?


第3章 ?C51語言編程基礎(chǔ)及keil μVision 3開發(fā)平臺(tái)

1. C語言中最簡單的數(shù)據(jù)類型包括( ????)。

A. 整型、實(shí)型、邏輯型 ??????B. 整型、實(shí)型、字符型

C. 整型、字符型、邏輯型 ????D. 整型、實(shí)型、邏輯型、字符型

答:B。

2. 存儲(chǔ)模式中的SMALL模式將所有未標(biāo)明存儲(chǔ)器類型的變量默認(rèn)位于( ?????)

A. 片外數(shù)據(jù)存儲(chǔ)器區(qū) ????????????????????B. 片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū) ?

C. 片外數(shù)據(jù)存儲(chǔ)器區(qū)的一頁(256B)內(nèi) ??????D. 程序存儲(chǔ)器內(nèi)

答:B

3. 以下敘述中正確的是( ?????)。

A. 用C語言實(shí)現(xiàn)的算法必須要有輸入和輸出操作

B. 用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

C. 用C語言實(shí)現(xiàn)的算法可以沒有輸出但必須要有輸入

D. 用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

答:B

4. ?C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是( ????)。

A. Double ??????B. short ??

C. integer ???????D. Char

答:B

5. 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指( ????)。

A. 存儲(chǔ)在外存中的數(shù)據(jù) ????????????B. 數(shù)據(jù)所占的存儲(chǔ)空間量

C. 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 ??D. 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

答:D

6. 使用宏來訪問絕對(duì)地址時(shí),一般需包含的庫文件是( ????)

A. reg51.h ???B. absacc.h ???C. intrins.h ????D. .startup.h

答:B

7. 將無符號(hào)字符型變量循環(huán)向左移動(dòng)指定位數(shù)后返回,可以使用的本征庫函數(shù)為( ??)。

A. _crol_ ???????B. _cror_ ??

C. _irol_ ????????D. _iror_

答:A

8. 以下敘述中錯(cuò)誤的是( ?????)

A. 對(duì)于double類型數(shù)組不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出。

B. 數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變。

C. 當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息。

D. 可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)。

答:C

9. 以下能正確定義一維數(shù)組的選項(xiàng)是( ???)。

A. int a[5]={0,1,2,3,4,5}; ???B. char a[ ]={0,1,2,3,4,5};

C. char a={'A','B','C'}; ?????D. int a[5]="0123";

答:B

10. 下列描述中正確的是( ????)。

A. 程序就是軟件 ???????????????????B. 軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C. 軟件既是邏輯實(shí)體,又是物理實(shí)體 ?D. 軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

答:D

11. C51在標(biāo)準(zhǔn)C的基礎(chǔ)上,擴(kuò)展的數(shù)據(jù)類型為( ????)。

A. char、unsigned char、int、unsigned int ????B. long、unsigned long ??

C. struct、union、double ??????????????????D. bit、sbit、sfr、sfr16

答:D

12. 什么是數(shù)據(jù)類型?

答:單片機(jī)的操作對(duì)象是數(shù)據(jù),數(shù)據(jù)是具有一定格式的數(shù)字或數(shù)值,數(shù)據(jù)的不同格式稱為數(shù)據(jù)類型。

13. 80C51單片機(jī)的振蕩周期、機(jī)器周期、指令周期是如何分配的?當(dāng)晶振頻率為6MHz時(shí),一個(gè)機(jī)器周期為多少微秒?

答:80C51單片機(jī)的振蕩脈沖的周期為振蕩周期; 12個(gè)振蕩周期構(gòu)成一個(gè)機(jī)器周期;每條指令的執(zhí)行時(shí)間為指令周期,指令周期為1~4個(gè)機(jī)器周期。

當(dāng)fOSC=6MHz時(shí),機(jī)器周期為:(1/6)μs×12=2(μs)

?

14.C51有哪幾種數(shù)據(jù)存儲(chǔ)類型?其中數(shù)據(jù)類型“idata,code,xdata,pdata”各對(duì)應(yīng)AT89S8051單片機(jī)的哪些存儲(chǔ)空間?

答:C51有6種數(shù)據(jù)存儲(chǔ)類型,data、bdata、idata、xdata、pdata和code。

數(shù)據(jù)存儲(chǔ)類型idata對(duì)應(yīng)片內(nèi)RAM的256字節(jié)。

數(shù)據(jù)存儲(chǔ)類型code對(duì)應(yīng)程序存儲(chǔ)區(qū)。

數(shù)據(jù)存儲(chǔ)類型xdata對(duì)應(yīng)片外64KB的RAM空間。

數(shù)據(jù)存儲(chǔ)類型pdata對(duì)應(yīng)片外RAM的256字節(jié)。

15、C51編譯器能識(shí)別的數(shù)據(jù)類型有哪些?

答:C51編譯器能識(shí)別的數(shù)據(jù)類型包括基本類型、C51擴(kuò)充類型、構(gòu)造類型、指針類型和空類型?;绢愋桶〝?shù)值類型、字符類型和枚舉類型;C51擴(kuò)充類型包括位型、可尋址位型、特殊功能寄存器和16位特殊功能寄存器型;構(gòu)造類型包括數(shù)值類型、結(jié)構(gòu)體類型和公用體類型。

16.bit與 sbit定義的位變量有什么區(qū)別?

答:bit是用來定義普通的位變量,它的值只能是二進(jìn)制的0或1。而sbit定義的是特殊功能寄存器的可尋址位,它的值是可以進(jìn)行位尋址的特殊功能寄存器的某位的絕對(duì)地址,例如PSW寄存器OV位的絕對(duì)地址0xd2。

17.MCS-51系列單片機(jī)的基本型芯片分別為哪幾種?它們的差別是什么?

答:MCS-51系列單片機(jī)的基本型芯片分別:8031、8051和8071。它們的差別是在片內(nèi)程序存儲(chǔ)器上。8031無片內(nèi)程序存儲(chǔ)器、8051片內(nèi)有4K字節(jié)的程序存儲(chǔ)器ROM,而8751片內(nèi)有集成有4K字節(jié)的程序存儲(chǔ)器EPROM。

18. 簡述累加器A的作用。

答:累加器A是CPU中使用頻繁的一個(gè)8位寄存器答,作用如下:

(1) ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。

(2) 數(shù)據(jù)傳送大多都通過累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。

19.說明3種數(shù)據(jù)存儲(chǔ)模式(1)SMALL模式(2)COMPACT模式(3)LARGE模式之間的差別。

答:3種數(shù)據(jù)存儲(chǔ)模式之間的差別如下:

(1) SMALL模式。在該模式下,所有變量都默認(rèn)位于8051單片機(jī)內(nèi)部的數(shù)據(jù)存儲(chǔ)器,這與使用data指定存儲(chǔ)器類型的方式一樣。

(2) COMPACT模式。本模式下的所有變量都默認(rèn)在外部數(shù)據(jù)存儲(chǔ)器的1頁(256字節(jié))內(nèi),這與使用pdata指定存儲(chǔ)器類型是一樣的。

(3) LARGE模式。在LARGE模式下,所有變量都默認(rèn)位于外部數(shù)據(jù)存儲(chǔ)器,相當(dāng)于使用數(shù)據(jù)指針@DPTR進(jìn)行尋址。


第5章 ?單片機(jī)的開關(guān)檢測(cè)、鍵盤輸入與顯示的接口設(shè)計(jì)

1. 80C51單片機(jī)內(nèi)部有?????????個(gè)并行口。 ?

A . 1 ?????????B . ?2 ??

C. 3 ??????????D. ?4

答:D

2. 80C51單片機(jī)的( ???)口的引腳,還具有外中斷、串行通信等第二功能。

A. P0 ???????B. ?P1 ???????C. P2 ??????D. P3

答:D

3. 七段共陰極發(fā)光兩極管顯示字符‘H’,段碼應(yīng)為( ?)。

A.67H ??B. 6EH ??C. 76H ?D.90H

答:C

4.在中斷服務(wù)程序中現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)期間,中斷系統(tǒng)應(yīng)處在??????????狀態(tài)。

答:關(guān)中斷

5. P2口通常用作?????????????,也可以作通用的I/O口使用。

答:高8位地址線

6. P0、P1、P2、P3四個(gè)均是?????????口(填“串行”還是“并行”)。

答:并行

7. 鍵盤由若干???????????????按照一定規(guī)則組成。

答:按鍵

8. LED數(shù)碼管有靜態(tài)顯示和?????????顯示兩種。 ?

答:動(dòng)態(tài)

9. 并行口每一次傳送?????????????個(gè)字符。

答: 1

10. 數(shù)碼管顯示位數(shù)較多時(shí),通常用????????顯示方式。

答:動(dòng)態(tài)

11. 數(shù)碼管顯示位數(shù)較少時(shí),通常用??▲ ?顯示方式。

答:靜態(tài)

12. 什么是并行通信?

答:多位數(shù)據(jù)被同時(shí)傳送的通信方法稱為并行通信。

?

13.仿真電路如題13圖所示,編寫程序,使圖中的發(fā)光二極管D1閃爍10次后熄滅。

?

題13圖 使發(fā)光二極管D1閃爍的電路

答:#include <reg52.h>

#define uint unsigned int

sbit D1=P1^0;?

void main(void)

{uint i,j,k;

for(k=10;k>0;k--)

????{ ??D1=0;?

????????for(i=0;i<1000;i++)

????????for(j=0;j<110;j++);

????????D1=1;?

????????for(i=0;i<1000;i++)

????????for(j=0;j<110;j++); ??}

while(1);?

}

14. 用AT89C51單片機(jī)的P2口控制一個(gè)共陽極7段LED數(shù)碼管,電路如題14圖所示,請(qǐng)?jiān)谙铝谐绦蛑械冖倏仗?,依次寫出使共陽極7段LED數(shù)碼管顯示0~9的十個(gè)段碼,再在主程序第②、③空處編寫相應(yīng)的語句,實(shí)現(xiàn)LED數(shù)碼管循環(huán)顯示0~9的功能。

?

題14圖??用AT89C51單片機(jī)P2口控制共陽極7段LED數(shù)碼管的電路

#include "reg51.h"

#include "intrins.h"

#define uchar unsigned char

#define uint unsigned int

#define out P2

uchar code seg[]={①0xc0,0xF9,0xa4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x01}; //0~9共陽極段碼表

void delayms(uint);

void main(void)

{uchar i;

while(1)

{

②out=seg[i]; //P2口循環(huán)輸出0~9共陽極段碼表

delayms(900);

i++;

if(seg[i]==0x01) ③i=0; ??// 如段碼為0x01,表明一個(gè)循環(huán)顯示已結(jié)束

}

}

void delayms(uint j) ? ?// 延時(shí)函數(shù)

{uchar i;

for(;j>0;j--)

?? { ?i=250;

??? ? while(--i);

??? ? i=249;

??? ? while(--i);

??? }

}

14. 8位一體共陽極8段LED數(shù)碼管和單片機(jī)的連接電路如題15圖所示,請(qǐng)?jiān)谙铝谐绦蛑械冖倏仗?,依次寫出使共陽極8段LED數(shù)碼管顯示1~9以及0的十個(gè)段碼,再在主程序第②、③、④空處編寫相應(yīng)的語句,使8位數(shù)碼管從左到右分別滾動(dòng)顯示單個(gè)數(shù)字1~8,即程序運(yùn)行后,單片機(jī)控制左邊第1個(gè)數(shù)碼管顯示1,其他不顯示,延時(shí)之后,控制左邊第2個(gè)數(shù)碼管顯示2,其他不顯示,直至第8個(gè)數(shù)碼管顯示8,其他不顯示,反復(fù)循環(huán)上述過程。

?

題15圖?8位一體共陽極8段LED數(shù)碼管和單片機(jī)的連接電路

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uchar code dis_code[]={①0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0,0x88 }; //共陽極8段LED數(shù)碼管段碼表

void ?delay(uint t) ???????//延時(shí)函數(shù)

{ ??uchar i;

while(t--) for(i=0;i<200;i++);

}

void ?main()

{ ?uchar i,j=0x80;

?????while(1)

???????{ for(i=0;i<8;i++)

{

??????②j=_crol_(j,1);// ?將對(duì)象j循環(huán)左移1位

??????③P0=dis_code[i]; //P0口輸出段碼

??????④P2=j; //P2口輸出位控碼

???????delay(180); ?//延時(shí),控制每位顯示的時(shí)間

}

???????}

}

16. 單片機(jī)控制8個(gè)發(fā)光二極管的電路如題16圖,8個(gè)發(fā)光二極管D1~D8經(jīng)限流電阻分別接至P1口的P1.0~P1.7引腳上,二極管陽極共同接高電平。在下列程序的第①~⑤空處編寫相應(yīng)的語句控制發(fā)光二極管由上至下反復(fù)循環(huán)流水點(diǎn)亮,每次點(diǎn)亮一個(gè)發(fā)光二極管。

?

題16?單片機(jī)控制8個(gè)發(fā)光二極管的電路

#①include <reg51.h> ??????//包含51單片機(jī)的頭文件

#②include <intrins.h> ?//包含移位函數(shù)_crol_( ?)的頭文件

#define uchar unsigned char ??? ?

#define uint unsigned int ??? ?

void ?delay(uint i) ?? //延時(shí)函數(shù)

{

uchar t;

? while (i--)

{ ? for(t=0;t<120;t++); ?}

}

void ?main( ?) ? ?//主程序

{

③P1=0xfe; ?//向P1口送出點(diǎn)亮數(shù)據(jù)

??? while (1)

??? { ?

④?delay( 500 ); ?//調(diào)用延時(shí)函數(shù)

⑤P1=_crol_(P1,1); ??//將P1中的數(shù)據(jù)循環(huán)左移1位

??? }

}

?

17. 單片機(jī)鍵控電路如題17圖所示,P1.0和P1.1引腳接有兩只開關(guān)S0和S1,兩引腳上的高低電平共4種組合,4種組合分別點(diǎn)亮P2.0~P2.3引腳控制的4只LED,即S0、S1均閉合,LED0亮,其余滅;S1閉合、S0打開,LED1亮,其余滅;S0閉合、S1打開,LED2亮,其余滅;S0、S1均打開,LED3亮,其余滅。在下列程序的第①~⑤空處編寫相應(yīng)的語句實(shí)現(xiàn)題目要求的控制功能。

?

題17?單片機(jī)鍵控電路

答:

#include <reg51.h> ? // 包含頭文件reg51.h

void ?main( ?) ? //主函數(shù)main( )

{

char state;

? do

? {

P1=0xff; ? ?// P1口為輸入

? ?state=P1; ? ????// 讀入P1口的狀態(tài),送入state

? ?①?state=state&0x03; ?? ?// 屏蔽P1口的高6位

? ?switch (state) ? // 判P1口低2位開關(guān)狀態(tài)

? ?{

②?case 0: P2=0x01; break;// P1.1、P1.0=00,點(diǎn)亮P2.0腳LED

? ? ③?case 1: P2=0x02; break; // P1.1、P1.0=01,點(diǎn)亮P2.1腳LED

? ? ④?case 2: P2=0x04; break; // P1.1、P1.0=10,點(diǎn)亮P2.2腳LED

? ? ⑤?case 3: P2=0x08; break; // P1.1、P1.0=11,點(diǎn)亮P2.3腳LED

? ?}

? }while ( 1 );

?

18.仿真電路如下圖所示,編寫程序,將開關(guān)K的閉合和打開情況用二極管表示,即當(dāng)K1閉合時(shí),D1亮,K1打開時(shí),D1不亮,當(dāng)K2閉合時(shí),D2亮,K2打開時(shí),D2不亮,依此類推,試編寫程序。

?

鍵控發(fā)光二極管的電路

程序設(shè)計(jì)如下:(編程題答案不唯一,酌情扣分)

#include <reg51.h>

sbit D1=P1^0;

sbit D2=P1^1;

sbit D3=P1^2;

sbit D4=P1^3;

sbit K1=P3^0;

sbit K2=P3^1;

sbit K3=P3^2;

sbit K4=P3^3;

void main()

{

unsigned char k;

while(1)?

{

D1=K1;

D2=K2;

D3=K3;

D4=K4;

}

}

?

?

19. 仿真電路如題19圖所示,P2.0~2.3上接了四個(gè)按鍵,P3口上接了共陽極LED顯示器,試編寫程序,在LED顯示器上將按下的鍵值顯示出來。

?

題19圖?獨(dú)立式按鍵與單片機(jī)的接口(采用查詢方式)

答:#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

int xx; ?????????????? ??

void delay(int k) //延時(shí)函數(shù)

{ ???int i;

????for(i=0;i<k;i++); ?}

void main()

{ ??P2=0xFF;

????P3=0xFF; ??//為輸入鍵值做準(zhǔn)備

????while(1)

?????{ while(P2==0xFF) //若無鍵按下,循環(huán)等待

????????{;}

???????if(P2!=0xFF) //有鍵按下,延時(shí)去抖動(dòng)

???????delay(10);

???????if(P2!=0xFF)

{ ?xx=P2; //有鍵按下,根據(jù)鍵值進(jìn)行顯示

??switch(xx)

????{ case 0xFE: ??P3=0xC0;break;

?????case 0xFD: ??P3=0xF9;break;

?????case 0xFB: ??P3=0xA4;break;

?????case 0xF7: ??P3=0xB0;break;

?????default: ????P3=0xFF;break; ??} ??}

?????while(P2!=0xFF) //等待按鍵松開

???{;}

?}

}


第6章 ?中斷系統(tǒng)的工作原理及應(yīng)用

1. 8051單片機(jī)的外部中斷1的中斷請(qǐng)求標(biāo)志是( ?????)。

A. ET1 ???????B. TF1 ???????C. IT1 ??????D. IE1

答:D

2. 要使80C51能響應(yīng)定時(shí)器T1與串行口中斷,它的中斷允許寄存器IE的內(nèi)容應(yīng)是( ?)。

A. 98H ????B. 84H ??????????C. 42H ??????D. 22H

答:A

3. 若80C51單片機(jī)中斷源都編程為同級(jí),當(dāng)它們同時(shí)申請(qǐng)中斷時(shí)CPU首先響應(yīng)( ???)。

A.?????B. ??????C.T1 ????????D.T0

答:?B

4. 8051單片機(jī)在同一優(yōu)先級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),CPU首先響應(yīng)( ???)。

A. 外部中斷0 ????????B. 外部中斷1

C. 定時(shí)器0中斷 ??????D. 定時(shí)器1中斷

答:A

5. 要想測(cè)量引腳上的一個(gè)正脈沖寬度,則TMOD的內(nèi)容應(yīng)為( ??)。 ?

A. 09H ????B. 87H ????????C. 00H ???????D. 80H

答: A

6. 當(dāng)80C51單片機(jī)接有外部存儲(chǔ)器時(shí),P2口可作為 ( ??????)。

A. 數(shù)據(jù)輸入口 ??????????????B. 數(shù)據(jù)的輸出口 ???

C. 準(zhǔn)雙向輸入/輸出口 ??????D. 輸出高8位地址

答:D

7. 在80C51的中斷請(qǐng)求源中,需要外加電路實(shí)現(xiàn)中斷撤銷的是????????。

A. 跳沿方式的外部中斷請(qǐng)求 ???????B. 電平方式的外部中斷請(qǐng)求

C. 外部串行中斷 ?????????????????D. 定時(shí)中斷

答:B

8. 當(dāng)外部中斷請(qǐng)求的信號(hào)方式為脈沖方式時(shí),要求中斷請(qǐng)求信號(hào)的高電平狀態(tài)和低電平狀態(tài)都應(yīng)至少維持( ??)。

A. 1個(gè)機(jī)器周期 ??????B. 2個(gè)機(jī)器周期

C. 4個(gè)機(jī)器周期 ??????D、10個(gè)晶振周期

答:A

9. 若寄存器IP中的內(nèi)容為00010100B,則優(yōu)先級(jí)最高者為???????????????。

答:中斷優(yōu)先級(jí)最高者為外中斷1。

10. 80C51單片機(jī)有5個(gè)中斷源,________級(jí)中斷優(yōu)先級(jí)別。

答:2

11. 若IT1=0,當(dāng)引腳P3.2為????????電平的時(shí)候,INT0的中斷標(biāo)志位IE0才能復(fù)位。

答:低

12. 單片機(jī)外部中斷1的入口地址是?????????。

答:0013H

13. 中斷響應(yīng)時(shí)間是指?????????????????????????????????????????????????????。

答:從查詢中斷請(qǐng)求標(biāo)志位到轉(zhuǎn)向中斷區(qū)入口地址所需的機(jī)器周期數(shù)

14. 中斷響應(yīng)

答:中斷響應(yīng)是CPU對(duì)中斷源提出的中斷請(qǐng)求的接受。

15. 簡述子程序調(diào)用和執(zhí)行中斷服務(wù)程序的異同點(diǎn)。

答:相同點(diǎn):均能中斷主程序執(zhí)行本程序,然后再返回?cái)帱c(diǎn)地址繼續(xù)執(zhí)行主程序。

不同點(diǎn):

(1) 中斷服務(wù)程序入口地址是固定的,子程序調(diào)用入口地址是用戶自己設(shè)定的。

(2) 中斷服務(wù)子程序返回指令除具有子程序返回指令所具有的全部功能之外,還有清除中斷響應(yīng)時(shí)被置位的優(yōu)先級(jí)狀態(tài)、開放較低級(jí)中斷和恢復(fù)中斷邏輯等功能。

(3) 中斷服務(wù)子程序是在滿足中斷申請(qǐng)的條件下,隨機(jī)發(fā)生的;而子程序調(diào)用是用戶主程序事先安排好的。

16.一個(gè)中斷源的中斷請(qǐng)求要得到響應(yīng),需要滿足哪些條件?

答:一個(gè)中斷源的中斷請(qǐng)求被響應(yīng),必須滿足以下必要條件:

(1)總中斷允許開關(guān)接通,即IE寄存器中的中斷總允許位EA=1。

(2)該中斷源發(fā)出中斷請(qǐng)求,即該中斷源對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志為“1”。

(3)該中斷源的中斷允許位=1,即該中斷被允許。

(4)無同級(jí)或更高級(jí)中斷正在被服務(wù)。

17.80C51的中斷系統(tǒng)有幾個(gè)中斷源?幾個(gè)中斷優(yōu)先級(jí)?中斷優(yōu)先級(jí)是如何控制的?在出現(xiàn)同級(jí)中斷申請(qǐng)時(shí),CPU按什么順序響應(yīng)(按由高級(jí)到低級(jí)的順序?qū)懗龈鱾€(gè)中斷源)?各個(gè)中斷源的入口地址是多少?

答:80C51單片機(jī)有5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí),中斷優(yōu)先級(jí)由特殊功能寄存器IP控制,在出現(xiàn)同級(jí)中斷申請(qǐng)時(shí),CPU按如下順序響應(yīng)各個(gè)中斷源的請(qǐng)求:INT0、T0、INT1、T1、串口,各個(gè)中斷源的入口地址分別是0003H、000BH、0013H、001BH、0023H。

18. 電路如題18圖所示,要求單片機(jī)的主程序?qū)崿F(xiàn)P1口控制一個(gè)共陰極數(shù)碼管的各段依次點(diǎn)亮,不斷循環(huán),當(dāng)有外中斷輸入時(shí),使數(shù)碼管顯示8,閃爍4次后,返回原斷點(diǎn)處繼續(xù)執(zhí)行程序,外中斷的觸發(fā)方式采用邊沿觸發(fā)方式。試編寫程序。

?

題18圖?單片機(jī)外中斷應(yīng)用系統(tǒng)電路圖

答:#include<reg51.h> ???

#include<intrins.h>

#define uint unsigned int

#define uchar unsigned char

uchar i,aa;

void delay(uint z);

void main() ?????????????

{

EA=1; ?//開總中斷

EX1=1; ?//開外部中斷1

IT1=1; ?//將外部中斷1設(shè)為邊沿觸發(fā)方式 ?

aa=0x01;

P3=0xff;

while(1)

{ P1=aa; ? //送入段選信號(hào)

delay(1000);

aa=_crol_(aa,1); //將aa循環(huán)左移1位后再賦給aa

} ??}

void delay(uint z) ????????????

{ uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); ?}

void exter0( ) interrupt 2 ??????

{ ?for(i=4;i>0;i--)

{ P1=0x3f; ?//送入段選信號(hào)7f,使數(shù)碼管顯示8

delay(500);

P1=0x00; ?//送入段選信號(hào)00,使數(shù)碼管熄滅

delay(500); ?}

}

19.?電路如題19圖所示,要求單片機(jī)主程序控制P2口所接的8段共陽極數(shù)碼管各段依次循環(huán)點(diǎn)亮,當(dāng)外部中斷輸入出現(xiàn)從高到低的負(fù)跳變時(shí),數(shù)碼管開始亮滅閃爍顯示“0”,閃爍顯示8次后,8段數(shù)碼管的各段繼續(xù)依次循環(huán)點(diǎn)亮。試編寫程序,實(shí)現(xiàn)上述功能。

?

題19圖 單片機(jī)外中斷應(yīng)用系統(tǒng)

答:#include<reg51.h>

#include<intrins.h>

#define uint unsigned int

#define uchar unsigned char

uchar i,aa;

void delay(uint z);

void main() ???????

{ EA=1; ?//開總中斷

EX0=1; ?//開外部中斷0

IT0=1; ?//將外部中斷0設(shè)為邊沿觸發(fā)方式 ?

aa=0xfe;

????????P3=0xff;

while(1)

{

P2=aa; ? //送入段選信號(hào)

delay(1000);

aa=_crol_(aa,1); //將aa循環(huán)左移1位后再賦給aa

}

}

void delay(uint z) ????

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void exter0( ) interrupt 0 ?

{

for(i=8;i>0;i--)

{ P2=0x3f; ?//送入段選信號(hào)3f,使數(shù)碼管顯示0

delay(500);

P2=0x00; ?//送入段選信號(hào)00,使數(shù)碼管熄滅

delay(500);

} ?

}

20. 電路連接如題20圖所示,編程實(shí)現(xiàn)下列要求:在平時(shí)狀態(tài)下,8個(gè)發(fā)光二極管以200ms的時(shí)間間隔,依次點(diǎn)亮。在中斷時(shí)亮一半,暗一半;在中斷時(shí)全滅,中斷為高優(yōu)先級(jí),中斷為低優(yōu)先級(jí)。

題20圖 采用中斷控制二極管點(diǎn)亮的電路

答:程序如下:

#include <reg51.h> ??

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

uchar i,j,aa;

void delay(uint z) ??

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void init() ???????

{

IT0=1; ??//INT0邊沿觸發(fā)

IT1=1; ??//INTl邊沿觸發(fā)

EA=1; ??//開總中斷

EX0=1; ?//使能INT0

EX1=1; ?//使能INTl

PX0=1; ?//中斷0優(yōu)先

}

void main() ?????

{

init();

aa=0x01;

while(1)

{ ??

???????? ?P2=aa;

delay(200);

aa=_crol_(aa,1);//aa循環(huán)左移一位 ? ?

}

}

void int0() interrupt 0

{

for(i=8;i>0;i--)

{

P2=0x00; ??//P2口送出00H使燈熄滅,循環(huán)8次

delay(500); ? ?

} ?

}

void int1() interrupt 2

{

for(j=8;j>0;j--)

{

P2=0x0f; ?//低4位亮,高四位暗

delay(500);

P2=0xf0; ?//低4位暗,高四位亮

delay(500);

} ?

}

?


第7章 ?定時(shí)器/計(jì)數(shù)器的工作原理及應(yīng)用

1. 80C51單片機(jī)定時(shí)器工作方式0是( ????????)的工作方式。

A. 8位 ????B. 8位自動(dòng)重裝 ?????C. 13位 ?????D. 16位

答:C

2. 若單片機(jī)的振蕩頻率為6MHz,設(shè)定時(shí)器工作在方式1需要定時(shí)1ms,則定時(shí)器初值應(yīng)為( ?????)。

A.500 ????B.1000 ????C.216-500 ????D.216-1000

答:C

3. 定時(shí)器若工作在循環(huán)定時(shí)或循環(huán)計(jì)數(shù)場(chǎng)合,應(yīng)選用( ?????)。

A. 工作方式0 ????B.工作方式1 ????C.工作方式2 ????D.工作方式3

答:C

4. 定時(shí)器1工作在計(jì)數(shù)方式時(shí),其外加的計(jì)數(shù)脈沖信號(hào)應(yīng)連接到( ?????) 引腳。

A.P3.2/?????B.P3.3/?????C.P3.4/T0 ????D.P3.5/T1

答:D

5. 8051單片機(jī)內(nèi)有( ??)個(gè)16位的定時(shí)/計(jì)數(shù)器 ,每個(gè)定時(shí)/計(jì)數(shù)器都有( ??)種工作方式。

A. ?4, 5 ????????B. 2, ?4 ???????????C. ?5, ?2 ???????D. ?2, 3 ???

答: B

6. 定時(shí)和計(jì)數(shù)都是對(duì)??????????進(jìn)行計(jì)數(shù)。

答:脈沖

7. 定時(shí)與計(jì)數(shù)的區(qū)別是??????????????????????????????。

答:定時(shí)是對(duì)周期已知的脈沖計(jì)數(shù);計(jì)數(shù)是對(duì)周期未知的脈沖計(jì)數(shù)

8.定時(shí)器/計(jì)數(shù)器的工作方式3是將?????????????拆成兩個(gè)獨(dú)立的8位計(jì)數(shù)器。

答:定時(shí)器/計(jì)數(shù)器0

9. 定時(shí)器中斷請(qǐng)求發(fā)生在?????????????????_時(shí)刻。

答:定時(shí)時(shí)間到

10. 定時(shí)器T0和T1各有幾種工作方式?分別是什么樣的工作方式?

答:T0有4種工作方式,T1有3種工作方式,分別為:

方式0:13位的定時(shí)器/計(jì)數(shù)器,適用于T0、T1。

方式1:16位的定時(shí)器/計(jì)數(shù)器,適用于T0、T1。

方式2:自動(dòng)重新裝入計(jì)數(shù)初值的8位的定時(shí)器/計(jì)數(shù)器,適用于T0、T1。

方式3:分為兩個(gè)8位計(jì)數(shù)器TL0和TH0。TL0可工作于定時(shí)或計(jì)數(shù)狀態(tài),TH0則固定為定時(shí)狀態(tài)。方式3對(duì)T1則停止計(jì)數(shù),適用于T0。

11. 80C51的定時(shí)器/計(jì)數(shù)器有幾個(gè)?是多少位的?有幾種工作方式?簡述其工作原理。

答:80C51有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,有4種工作方式。

定時(shí)器與計(jì)數(shù)器的工作原理是相同的,80C51的定時(shí)器/計(jì)數(shù)器是根據(jù)輸入的脈沖進(jìn)行加1計(jì)數(shù),當(dāng)計(jì)數(shù)器溢出時(shí),將溢出標(biāo)志位置1,表示計(jì)數(shù)到預(yù)定值。

12. AT89C51單片機(jī)控制P2口所接8只LED數(shù)碼管的電路如題12圖所示,要求用單片機(jī)定時(shí)器T0,采用方式1,定時(shí)中斷方式,使P2口所接的8只LED每0.5s閃爍亮一次。計(jì)算與定時(shí)器工作方式控制寄存器TMOD、控制寄存器TCON、計(jì)數(shù)寄存器TH0、TL0及中斷允許寄存器IE中各位的值,要求寫出計(jì)算過程,同時(shí)完成實(shí)現(xiàn)上述要求功能的程序編寫。

?

題12圖AT89C51單片機(jī)控制P2口所接8只LED數(shù)碼管的電路

附:TMOD及TCON控制字的格式如下:

答:(1)TMOD寄存器的設(shè)置

T0工作在方式1,應(yīng)使TMOD寄存器的M1、M0=01;應(yīng)設(shè)置C/T=0,為定時(shí)器模式;對(duì)T0的運(yùn)行控制僅由TR0來控制,應(yīng)使相應(yīng)的GATE位為0。定時(shí)器T1不使用,各相關(guān)位均設(shè)為0。所以,TMOD寄存器應(yīng)初始化為0x01。

(2)計(jì)算定時(shí)器T0的計(jì)數(shù)初值

設(shè)定時(shí)時(shí)間5ms(即5000μs),設(shè)T0計(jì)數(shù)初值為X,假設(shè)晶振的頻率為11.0592MHz,則定時(shí)時(shí)間為:

定時(shí)時(shí)間=(216?X)×12/晶振頻率

則 ?5000=(216??X) ×12/11.059?2

????得 ?X = 60928

????轉(zhuǎn)換成十六進(jìn)制:0xee00,其中0xee裝入TH0,0x00裝入TL0。

(3)設(shè)置IE寄存器

由于采用定時(shí)器T0中斷,因此需將IE寄存器中的EA、ET0位置1。

(4)啟動(dòng)和停止定時(shí)器T0

????將定時(shí)器控制寄存器TCON中的TR0=1,則啟動(dòng)定時(shí)器T0;TR0=0,則停止定時(shí)器T0定時(shí)。

參考程序:

#include<reg51.h>

char ?i=100; ????????//

void main () ?

{ TMOD=0x01; ? //定時(shí)器T0為方式1

TH0=0xee; ? //設(shè)置定時(shí)器初值,定時(shí)器每5ms中斷一次

TL0=0x00;

????P2=0x00; ? ?//P2口8個(gè)LED點(diǎn)亮

EA=1; ? ? //總中斷開

ET0=1; ? ? //開T0中斷

TR0=1; ? ? //啟動(dòng)T0

while(1); ? ?//循環(huán)等待

{ ?; }

}

void timer0() interrupt 1 ? //T0中斷程序,每5ms中斷一次

{ TH0=0xee; ? ?//重新賦初值

TL0=0x00;

i--; ? ? //循環(huán)次數(shù)減1

if(i<=0)

{

P2=~P2; ? ????// 中斷100次,達(dá)到0.5s,P2口按位取反

i=100; ? ?//重置循環(huán)次數(shù)

}

}

13. 電路如題13圖所示,在AT89C51單片機(jī)的P1口上接了8只LED,T1(P3.5)引腳接了一只按鍵開關(guān),要求定時(shí)器T1采用計(jì)數(shù)模式,方式1中斷,使輸入引腳T1引腳上外接按鈕開關(guān)作為計(jì)數(shù)信號(hào)輸入。按4次按鈕開關(guān)后,P1口的8只LED閃爍不停。計(jì)算與定時(shí)器有關(guān)的工作方式控制寄存器TMOD、控制寄存器TCON、計(jì)數(shù)寄存器TH1、TL1及中斷允許寄存器IE的值,寫出計(jì)算過程,編寫實(shí)現(xiàn)上述功能的程序。

?

題13圖?AT89C51單片機(jī)控制8只LED電路

答:

(1) 設(shè)置TMOD寄存器

T1工作在方式1,應(yīng)使TMOD的M1、M0=01;設(shè)置C/T*=1,為計(jì)數(shù)器模式;對(duì)T0運(yùn)行控制僅由TR0來控制,應(yīng)使GATE0=0。定時(shí)器T0不使用,各相關(guān)位均設(shè)為0。所以,TMOD寄存器應(yīng)初始化為0x50。

(2) 計(jì)算定時(shí)器T1的計(jì)數(shù)初值

由于每按1次按鈕開關(guān),計(jì)數(shù)1次,按4次后,P1口的8只LED閃爍不停。因此計(jì)數(shù)器初值為65?536?4=65?532,將其轉(zhuǎn)換成十六進(jìn)制后為0xfffc,所以,TH0=0xff,TL0=0xfc。

(3)設(shè)置IE寄存器

本例由于采用T1中斷,因此需將IE寄存器的EA、ET1位置1。

(4)啟動(dòng)和停止定時(shí)器T1

將寄存器TCON中TR1=1,則啟動(dòng)T1計(jì)數(shù);TR1=0,則停止T1計(jì)數(shù)。

程序如下:

??#include <reg51.h>

????void Delay(unsigned int i) ?//定義延時(shí)函數(shù)Delay( )

{ unsigned int j; ?

for(;i>0;i--)

for(j=0;j<125;j++) ?

{;} ? ?//空函數(shù)

?}

void ?main( ) ? //主函數(shù)

?{

TMOD=0x50; ? //設(shè)置定時(shí)器T1為方式1計(jì)數(shù)

TH1=0xff; ? //向TH1寫入初值的高8位

TL1=0xfc; ? //向TL1寫入初值的低8位

EA=1; ??? ? //總中斷允許

ET1=1; ?? ? //定時(shí)器T1中斷允許 ?

? TR1=1; ?? ? //啟動(dòng)定時(shí)器T1

? while(1) ; ??? //無窮循環(huán),等待計(jì)數(shù)中斷

?}

?

void T1_int(void) ?interrupt 3 ? //T1中斷函數(shù)

{

for(;;) ? ?//無限循環(huán)

? {

P1=0xff; ?//8位LED全滅

? ?Delay(500) ; ?//延時(shí)500ms

? ?P1=0; ? //8位LED全亮

? ?Delay(500); ?//延時(shí)500ms

} ? ? ?

}

14.原理電路如題14圖所示,在單片機(jī)P1口上接有8只LED。在外部中斷0輸入引腳(P3.2)接一只按鈕開關(guān)K1。要求將外部中斷0設(shè)置為電平觸發(fā)。程序啟動(dòng)時(shí),P1口上的8只LED全亮。每按一次按鈕開關(guān)K1,使引腳接地,產(chǎn)生一個(gè)低電平觸發(fā)的外中斷請(qǐng)求,在中斷服務(wù)程序中,讓低4位的LED與高4位的LED交替閃爍5次,中斷結(jié)束后,控制8只LED再次全亮,請(qǐng)編寫相應(yīng)的控制程序。

?

題14圖?單片機(jī)控制發(fā)光二極管電路

答:程序如下:

#include <reg51.h>??????????????????

#define uchar ?unsigned char

void Delay(unsigned int i) //延時(shí)函數(shù),

{ unsigned int j;

for(;i > 0;i--) ?

for(j=0;j<333;j++) ????????//晶振為12MHz,j選擇與晶振頻率有關(guān)

{;} ? ???//空函數(shù)

}

void ?main( ) ? //主函數(shù)

{ EA=1; ? //總中斷允許 ???

EX0=1; ? //允許外部中斷0中斷

IT0=1; ? //選擇外部中斷0為跳沿觸發(fā)方式

while(1) ?//循環(huán) ?

{ P1=0;} ? // P1口的8只LED全亮 ???

}

void int0( ) ?interrupt 0 ?using 0 ? //外中斷0的中斷服務(wù)函數(shù)

{

uchar ?m;

EX0=0; ? //禁止外部中斷0中斷

for(m=0;m<5;m++) //交替閃爍5次

{

P1=0x0f; ?//低4位LED滅,高4位LED亮

Delay(400) ; ?//延時(shí)

P1=0xf0; ?//高4位LED滅,低4位LED亮

Delay(400); ?//延時(shí)

EX0=1; ? //中斷返回前,打開外部中斷0中斷

}

?

15. 已知晶振頻率fosc=12MHz,使用定時(shí)器T1使P2.0引腳產(chǎn)生100ms的方波程序,計(jì)算TH1、TL1、TMOD寄存器的值,并編寫對(duì)定時(shí)器1進(jìn)行初始化的程序。

附:TMOD及TCON控制字的格式如下:

?

答:分析:方波的周期為100ms,要求高、低電平的持續(xù)時(shí)間各為50ms,采用定時(shí)器定時(shí),中斷工作方式。每50ms時(shí)間到時(shí),在中斷服務(wù)程序中將P2.0引腳電平狀態(tài)取反,即可獲得所需要的波形。晶振頻率fosc=12MHz,Tcy=12/fosc=1μs ,選擇定時(shí)器T1的方式1。

(1) 確定計(jì)算初值

(2n-x)×Tcy=(216-x)×1μs =50ms,

x=65536-50000=15536=3CB0H

即TH1=3CH,TL1=B0H ?

(2) TMOD寄存器初始化

GATE (TMOD.7)=0, (TMOD.6)=0,M1 (TMOD.5)=0,M0 (TMOD.4)=1,定時(shí)器/計(jì)數(shù)器0沒有使用,相應(yīng)的各個(gè)位狀態(tài)隨意,均取為0,則(TMOD)=10H。

(3) 程序如下:

#include<reg51.h>

#define uint unsigned int

sbit fangbo=P2^0;

void main()

{

TMOD=0x10; //設(shè)置T1為定時(shí)器模式,工作在方式1

TH1=0x3C;

TL1= 0xB0;

EA=1; //開總中斷

ET1=1; //允許T1中斷

TR1=1; // 啟動(dòng)T1

while(1);

}

void timer1() interrupt 3 ?//定時(shí)器1中斷服務(wù)程序

{ TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

fangbo=~fangbo; ?}

16. 已知晶振頻率fosc=12MHz,要求定時(shí)器0產(chǎn)生10ms的定時(shí)時(shí)間,計(jì)算與定時(shí)器有關(guān)的工作方式控制寄存器TMOD、控制寄存器TCON及計(jì)數(shù)寄存器TH、TL中各位的值,并編寫對(duì)定時(shí)器0進(jìn)行初始化的程序。

答:由于晶振頻率為12MHz,機(jī)器周期Tcy=1μs,選用方式0時(shí)最大定時(shí)時(shí)間8.192ms,選擇方式1時(shí),最大定時(shí)時(shí)間為65.536ms,要求的定時(shí)時(shí)間為10ms,所以不能選擇方式0,只能選用方式1。

(1) 計(jì)算TH0、TL0的計(jì)數(shù)初值 ??

由于晶振頻率為12MHz,所以機(jī)器周期Tcy=1μs,則定時(shí)時(shí)間為:

T=(2n-x)×Tcy=(216-x)×1μs =10ms,

所以x=65536-10000=55536=D8F0H

即TH0=D8H,TL0=F0H,或者TH0=55536/256,TL0=55536%256

(2) TMOD寄存器初始化 ??

根據(jù)題目要求,GATE (TMOD.3)=0, (TMOD.2)=0,M1 (TMOD.1)=0,M0

?(TMOD.0)=1,定時(shí)器/計(jì)數(shù)器1沒有使用,相應(yīng)的各個(gè)位狀態(tài)隨意,均取為

0,則(TMOD)=01H。

(3) 初始化程序 ???????

void init_time0(void)

{

TMOD=0x01; ????????????//設(shè)置T0為定時(shí)器模式,工作在方式1

TH0=(65536-10000)/256; ???//設(shè)置TH0和TL0的計(jì)數(shù)初值

TL0=(65536-10000)%256;

??? TR0=1; ?????????????????// 啟動(dòng)T0

}

?

17. 設(shè)單片機(jī)系統(tǒng)時(shí)鐘頻率為12MHz,波形發(fā)生器電路如題17圖所示,要使P2.0引腳上輸出一個(gè)周期為2ms的方波,計(jì)算計(jì)數(shù)寄存器TH、TL的值,并編寫程序?qū)崿F(xiàn)上述功能。

?

題17圖?波形發(fā)生器電路

答:(1) 計(jì)算TH0、TL0的計(jì)數(shù)初值 ?

要在P2.0上產(chǎn)生周期為2ms的方波,定時(shí)器應(yīng)產(chǎn)生1ms的定時(shí)中斷,定時(shí)時(shí)間到則在中斷服務(wù)程序中對(duì)P2.0求反。使用定時(shí)器T0,方式1定時(shí)中斷,GATE不起作用。

設(shè)T0的初值為X,有

??????(216?X )×1×10?6=1×10?3

即 ???65536?X=1000

得X=64536,化為16進(jìn)制數(shù)就是0xfc18。將高8位0xfc裝入TH0,低8位0x18裝入TL0。

(2) TMOD寄存器初始化 ??

GATE (TMOD.3)=0, (TMOD.2)=0,M1 (TMOD.1)=1,M0 (TMOD.0)=0,定時(shí)器/計(jì)數(shù)器1沒有使用,相應(yīng)的各個(gè)位狀態(tài)隨意,均取為0,則(TMOD)=01H。

(3) 程序編寫 ????????

#include <reg51.h> ?? //頭文件reg51.h

sbit P2_0=P2^0; ? //定義特殊功能寄存器P1的位變量P1_0

void main(void) ? //主程序

{

TMOD=0x01; ?//設(shè)置T0為方式1

TR0=1; ? //接通T0

while(1) ?//無限循環(huán)

{

TH0=0xfc; ?//置T0高8位初值

TL0=0x18; ?//置T0低8位初值

do{}while(!TF0); ???????//TF0為0原地循環(huán),為1則T0溢出,往下執(zhí)行

P2_0=!P2_0; ?// P2.0狀態(tài)求反

TF0=0; ? //TF0標(biāo)志清零

}

}

?

18. 已知晶振頻率fosc=12MHz,要求用定時(shí)0每隔200μs產(chǎn)生一定時(shí)信號(hào),計(jì)算與定時(shí)器有關(guān)的工作方式控制寄存器TMOD、控制寄存器TCON、計(jì)數(shù)寄存器TH、TL,并對(duì)定時(shí)器進(jìn)行初始化編程。

解:選擇定時(shí)器0,工作在方式2。

(1) 計(jì)算TH0、TL0的計(jì)數(shù)初值 ?

由于晶振頻率為12MHz,所以機(jī)器周期Tcy=1μs,則

(2n-x)×Tcy=(28-x)×1μs =200μs,所以x=256-200=56=38H

即TH0=38H,TL0=38H ?

或者TH0=(256-200) %256,TL0=(256-200)%256。

(2) TMOD寄存器初始化 ?

GATE (TMOD.3)=0, (TMOD.2)=0,M1 (TMOD.1)=1,M0

?(TMOD.0)=0,定時(shí)器/計(jì)數(shù)器1沒有使用,相應(yīng)的各個(gè)位狀態(tài)隨

意,均取為0,則(TMOD)=02H。

(3) 初始化程序 ????????

void init_time0(void)

{

TMOD=0x02; //設(shè)置T0為定時(shí)器模式,工作在方式1

TH0=0x38; ?//設(shè)置TH0和TL0的計(jì)數(shù)初值

TL0=0x38;

??? TR0=1; ?// 啟動(dòng)T0

}


第8章 ?串行口的工作原理及應(yīng)用

1. 波特的單位是??????????。

答:位/秒

2.?控制串行口工作方式的寄存器是?????????????。

答:SCON

3. 在串行通信中,80C51中發(fā)送和接收的寄存器是??????????????。

答: SBUF

4. 單片機(jī)系統(tǒng)擴(kuò)展接口連接方式分為并行擴(kuò)展和????????擴(kuò)展。

答:串行

5 什么是串行通信?

答:串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)傳送的通信方式。

6. 波特率

答:串行口每秒發(fā)送或接受的數(shù)據(jù)的位數(shù)稱為波特率。

7. 簡述串行數(shù)據(jù)傳送的特點(diǎn)。

答:

(1) 傳送按位順序進(jìn)行,速度慢。

(2) 傳輸線少,成本低。

(3) 傳送距離遠(yuǎn),可達(dá)幾公尺到幾千公里。

8、異步通信和同步通信的主要區(qū)別是什么,8051單片機(jī)串行口有沒有同步通信的功能?

答:異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。8051單片機(jī)串口沒有同步通信的功能。

?


第9章 ?單片機(jī)系統(tǒng)的并行擴(kuò)展

1.使用8255可以擴(kuò)展出的I/O口線是????????根。

答: 24

2. 若某存儲(chǔ)器芯片地址線為12根,那么它的存儲(chǔ)容量為???????kB。

答:4

3. 某種存儲(chǔ)器芯片是8kB*4/片,那么它的地址線根數(shù)是????????????????根。

答:13

4. 在接口電路中,把已經(jīng)編址并能進(jìn)行讀寫操作的寄存器稱為 ???????????。

答:端口

5. 什么是I/O端口?

答:I/O端口是指I/O接口電路中具有單元地址的寄存器或緩沖器。

6. 存儲(chǔ)器地址空間分配的線選法

答:存儲(chǔ)器地址空間分配的線選法是利用單片機(jī)的某一高位地址線作為存儲(chǔ)器芯片(或I/O接口芯片)的片選控制信號(hào),只需用這一高位地址線與存儲(chǔ)器芯片的“片選”端直接連接即可。

7.存儲(chǔ)器地址空間分配的譯碼法

答:存儲(chǔ)器地址空間分配的譯碼法是使用譯碼器對(duì)單片機(jī)的高位地址進(jìn)行譯碼,將譯碼器的譯碼輸出作為存儲(chǔ)器芯片的片選信號(hào)。

8. I/O端口獨(dú)立編址

答:I/O端口地址空間與存儲(chǔ)器地址空間分開編址。

9. 80C51單片機(jī)的擴(kuò)展儲(chǔ)存器系統(tǒng)中,為什么P0口要接一個(gè)8位鎖存器,而P2口卻不接?

答:這是因?yàn)镻0口是擴(kuò)展儲(chǔ)存器系統(tǒng)的多路低8位地址和數(shù)據(jù)總線,在訪問外部存儲(chǔ)器時(shí),P0口分時(shí)用作輸出外部儲(chǔ)存器低8位地址和傳送數(shù)據(jù),為了在整個(gè)訪問外部存儲(chǔ)器期間,對(duì)外部存儲(chǔ)器存在著有效的低8位地址信號(hào),所以P0口需要外接一個(gè)地址鎖存器。而P2口只用作擴(kuò)展存儲(chǔ)器系統(tǒng)的高8位地址線,并在整個(gè)訪問外部存儲(chǔ)器期間不變,所以不必外接地址鎖存器。

?

10.簡述可編程并行接口8255 A的內(nèi)部結(jié)構(gòu)。

答:8255 A的內(nèi)部結(jié)構(gòu)由三部分組成:總線接口部分,內(nèi)部邏輯部分,外部接口部分。

(1) 總線接口部分 ?其中有數(shù)據(jù)總線驅(qū)動(dòng)器,讀/寫控制邏輯。

(2) 內(nèi)部邏輯部分 ?由A組和B組控制電路。

(3) 外部接口部分 ?該部分有3個(gè)8位并行I/O端口,即A口、B口和C口。

?

11.8051單片機(jī)對(duì)外的地址總線和數(shù)據(jù)總線是如何提供的?

答:?8051的地址總線由P2和P0口提供,P2口是地址總線的高8位,P0口是地址總線的低8位;數(shù)據(jù)總線由P0口提供;P0口的地址總線和數(shù)據(jù)總線是分時(shí)提供的,P0口的地址總線必要外接地址鎖存器完成地址鎖存。

?

12. 單片機(jī)對(duì)外擴(kuò)展時(shí)主要進(jìn)行哪些資源擴(kuò)展?為什么要進(jìn)行對(duì)外擴(kuò)展?

答:單片機(jī)對(duì)外擴(kuò)展包括外部ROM、外部RAM、并行I/O口、鍵盤、顯示器等資源的擴(kuò)展,它們是大多數(shù)單片機(jī)應(yīng)用系統(tǒng)必不可少的組成部分。

由于控制對(duì)象的多樣性和復(fù)雜性,常常會(huì)出現(xiàn)單片機(jī)內(nèi)部的存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷、并行I/O口及串行口等資源不夠用的情況,而且多數(shù)單片機(jī)內(nèi)部沒有集成A/D和D/A等芯片,對(duì)模擬量的處理非常不方便,另外在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)中往往還需要考慮人機(jī)接口、參數(shù)檢測(cè)、系統(tǒng)監(jiān)控、超限報(bào)警等應(yīng)用需求,此時(shí)單片機(jī)最小應(yīng)用系統(tǒng)就不能滿足要求了,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)首先要解決系統(tǒng)擴(kuò)展問題。

?

13. 對(duì)AT89C51單片機(jī)外擴(kuò)一片RAM 62256芯片,請(qǐng)?jiān)O(shè)計(jì)電路連接圖,畫出AT89C51、74LS373與62256之間的連接電路,計(jì)算62256存儲(chǔ)器的地址范圍。

答:?62256地址線有15條(A14~A0),片選信號(hào)CE接地,芯片地址范圍為0000H~7FFFH。

單片機(jī)與存儲(chǔ)器的連接電路如下圖所示。

?

采用線選法擴(kuò)展一片62256的電路連接

14. 對(duì)AT89C51單片機(jī)外擴(kuò)展兩片16kB的RAM 62128芯片,用線選法進(jìn)行兩片62128的片選,畫出題14圖所示電路中各芯片之間的連接,計(jì)算出兩片62128的地址范圍。

答:擴(kuò)展的電路連接如圖9所示。62128(1)芯片存儲(chǔ)單元的地址變化范圍為:1000 0000 0000 0000B~1011 1111 1111 1111B,即8000H~BFFFH,62128(2)芯片存儲(chǔ)單元的地址變化范圍為:0100 0000 0000 0000B~0111 1111 1111 1111B,即4000H~7FFFH。

?

題14圖?AT89C51外擴(kuò)兩片62128的電路連接

15. 對(duì)AT89C51單片機(jī)外擴(kuò)展兩片16kB的RAM 62128芯片,用譯碼法進(jìn)行兩片62128的片選,畫出AT89C51、74LS373、74LS139與62128之間的連接圖,計(jì)算兩片62128的地址范圍。

答:擴(kuò)展的電路連接如下圖所示。

?

AT89C51外擴(kuò)2片62128的電路連接

62128芯片中存儲(chǔ)單元的地址變化范圍為:xx00 0000 0000 0000B~xx11 1111 1111 1111B,即單片機(jī)地址線的P2.5~P2.0與P0.7~P0.0發(fā)出的信號(hào)可以從全0變化到全1,則62128(1)的地址范圍為:0000 0000 0000 0000B~0011 1111 1111 1111B,即0000H~3FFFH,62128(2)的地址范圍為:0100 0000 0000 0000B~0111 1111 1111 1111B,即4000H~7FFFH。

?

?

16. 設(shè)計(jì)AT89C51單片機(jī)外擴(kuò)2片6264存儲(chǔ)器芯片的連接電路,要求6264芯片的片選信號(hào)采用譯碼法產(chǎn)生,畫出圖10所示電路中AT89C51、74LS373與6264之間的連接圖,計(jì)算出兩片6264的地址范圍。

答:擴(kuò)展的電路連接如下圖所示。

?

題16AT89C51外擴(kuò)兩片6264的電路連接

6264(1)芯片存儲(chǔ)單元的地址變化范圍為:0000 0000 0000 0000B~0001 1111 1111 1111B,即0000H~1FFFH,6264(2)芯片存儲(chǔ)單元的地址變化范圍為:0010 0000 0000 0000B~0011 1111 1111 1111B,即2000H~3FFFH。

?

17. 對(duì)AT89C51單片機(jī)外擴(kuò)一片8255A芯片,電路如題17圖所示,8255A的地址線A1、A0由單片機(jī)P0.1、P0.0經(jīng)74LS373鎖存后獲得,片選信號(hào)接單片機(jī)的P2.7,8255A的PA口接8個(gè)發(fā)光二極管。編寫程序使發(fā)光二極管逐行先從左往右、再從右往左不停地循環(huán)點(diǎn)亮。

?

題17??AT89C51單片機(jī)外擴(kuò)一片8255A芯片的電路

附:8255A的方式控制字如下:

?

答:#include <reg51.h> ????

#include <absacc.h>

#include <intrins.h>

#define uint unsigned int

#define uchar unsigned char

#define PA XBYTE[0x0000] //PA及命令端口地址定義 ??

#define COM XBYTE[0x0003]

void Delay(uint x) ??????????????????????

{ uchar i;

while(x--)

{ ? for(i=0;i<120;i++); }

}

void main()

{

uchar k,m=0x7f;

COM=0x80;

while(1)

{ ? for(k=0;k<8;k++) ????//小燈從左到右亮 ??

{

m=_crol_(m,1);

PA = m;

Delay(1000); ?}

for(k=0;k<8;k++) ???????//小燈從右到左亮 ?

{

m=_cror_(m,1);

PA = m;

Delay(1000);

}

}

}

?

?


第11章 ?AT89S51單片機(jī)與DAC、ADC的接口

1. 什么是D/A轉(zhuǎn)換器?

答:實(shí)現(xiàn)數(shù)字量轉(zhuǎn)換成模擬量的器件成為D/A轉(zhuǎn)換器。

2. A/D轉(zhuǎn)換器

答:實(shí)現(xiàn)模擬量轉(zhuǎn)換成數(shù)字量的器件成為A/D轉(zhuǎn)換器。

3. D/A轉(zhuǎn)換器的分辨率

答:指單片機(jī)輸入給D/A轉(zhuǎn)換器的單位數(shù)字量的變化所引起的模擬量輸出的變化,通常定義為輸出滿刻度值與2n(n為D/A轉(zhuǎn)換器的二進(jìn)制位數(shù))之比,習(xí)慣上用輸入數(shù)字量的位數(shù)表示。

4. 80C51單片機(jī)與DAC0832接口時(shí),有哪三種連接方式?各有什么特點(diǎn)?各適合在什么場(chǎng)合使用?

答:(1) 直通方式。兩個(gè)鎖存器都處于跟隨狀態(tài),不對(duì)數(shù)據(jù)進(jìn)行鎖存,D/A轉(zhuǎn)換不受控制,一旦有數(shù)字量輸入就立即進(jìn)行D/A轉(zhuǎn)換。用于輸出設(shè)備隨時(shí)可以接受模擬量輸入的場(chǎng)合。

(2) 單緩沖方式。其特點(diǎn)是DAC0832內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受80C51控制的鎖存方式。適用于只有一路模擬量輸出,或雖是多路模擬量輸出但并不要求多路輸出同步的情況下。

(3) 雙緩沖方式。其特點(diǎn)是數(shù)字量的輸入鎖存和D/A轉(zhuǎn)換輸出是分兩步完成的。適用于在多路D/A轉(zhuǎn)換中,要求同步進(jìn)行D/A轉(zhuǎn)換輸出的情況下。

5. 說明D/A轉(zhuǎn)換器的分辨率和建立時(shí)間的含義,設(shè)某DAC為12位,滿量程輸出電壓為5V,它的分辨率是多少?

答:分辨率:D/A轉(zhuǎn)換器的分辨率指輸入的單位數(shù)字量變化引起的模擬量輸出的變化,是對(duì)輸入量變化敏感程度的描述。

建立時(shí)間:建立時(shí)間是描述D/A轉(zhuǎn)換速度快慢的一個(gè)參數(shù),用于表明轉(zhuǎn)換速度。其值為從輸入數(shù)字量到輸出達(dá)到終位誤差±(1/2)LSB(最低有效位)時(shí)所需的時(shí)間。)

當(dāng)DAC為二進(jìn)制12位,滿量程輸出電壓為5V時(shí),分辨率為1.22 mV。

6.?DAC0832與AT89C52單片機(jī)連接的仿真電路如題6(a)圖所示,編寫程序用DAC0832芯片生成題6(b)圖所示的三角波。

?

題6(a)圖?DAC0832與AT89C52單片機(jī)連接的仿真電路

?

題6(b)圖?三角波

答:將輸出的字節(jié)值先從0~255遞增,再從255~0遞減,如此循環(huán),輸出電壓值先由0V~-5V遞減,再從-5V~0V,依次循環(huán),就可以形成三角波。

程序設(shè)計(jì)如下:

/*用DAC0832生成三角波*/

#include <reg52.h> ???????????????????

#include <absacc.h>

#define uint unsigned int

#define uchar unsigned char

#define DAC0832 XBYTE[0x7fff]

void DelayMS(uint ms)//延時(shí)程序 ?????????

{ uchar i;

while(ms--)

{ ? for(i=0;i<120;i++); }

}

void main()//主程序

{

????????uchar i; ?????????????????????

????????uchar k;

????????k=0; ???//k為三角波上升和下降的標(biāo)志位 //

????????i=0;

while(1) ????//循環(huán)輸出三角波

{

???if(k==0) ?//輸出三角波的下降沿 ??

???????????{

??????????????i++;

??????????????DAC0832 =i;

??????????????if(i==255) k=~k;

??????????DelayMS(1);

???????}

?????????Else ??//輸出三角波的上升沿

???????????{

??????????i--;

??????????????DAC0832 =i;

??????????????if(i==0) k=~k;

??????DelayMS(1);

???????}

??}

}

?

7. DAC0832與AT89C52單片機(jī)連接的仿真電路如題7(a)圖所示,編寫程序用DAC0832芯片生成題7(b)圖所示的鋸齒波。

?

7(a)?DAC0832與AT89C52單片機(jī)連接的仿真電路

?

題7(b) ?鋸齒波

?

答:程序如下:

#include <reg52.h>

#include <absacc.h>

#define uint unsigned int

#define uchar unsigned char

#define DAC0832 XBYTE[0x7FFF]

void DelayMS(uint ms)//延時(shí)程序

{ ?uchar i;

while(ms--)

{for(i=0;i<120;i++); }

}

void main()//主程序

{ ??uchar i;

????i=255;

while(1)//循環(huán)輸出三角波

{ ?i--;

???DAC0832 =i;

???DelayMS(1);

??}

}

?

?單片機(jī)復(fù)習(xí)題(一) 1、51單片機(jī)的硬件資源有 定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、I/O口、CPU、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器等, 不包括 LCD 2、為單片機(jī)提供始終的元器件叫做 晶振 3、51單片機(jī)中, INT1中斷號(hào)是 2 INT1是外部中斷1 中斷號(hào)為2 4、單片機(jī)程序一般存放在 ROM(只讀存儲(chǔ)器,只能讀不能寫) 5、單片機(jī)通常將數(shù)據(jù)處理結(jié)果存放在 數(shù)據(jù)存儲(chǔ)器(RAM 隨機(jī)存儲(chǔ)器,可讀可 寫) 80C51單片機(jī)有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù) 據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器 片內(nèi)ROM和片外ROM一般指的是程序存儲(chǔ)器 片內(nèi)RAM和片內(nèi)RAM一般指的是數(shù)據(jù)存儲(chǔ)器 6、提高單片機(jī)的晶振頻率,則機(jī)器周期變長 幾個(gè)重要的周期 振蕩周期:時(shí)鐘周期,指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源周期, 12MHZ 狀態(tài)周期:2倍的振蕩周期,振蕩周期二分頻 機(jī)器周期:6個(gè)狀態(tài)周期,12個(gè)時(shí)鐘周期,在一個(gè)機(jī)器周期內(nèi),CPU可以完成一 個(gè)獨(dú)立的操作 指令周期:CPU完成一條操作所需要的全部時(shí)間,每條指令執(zhí)行的時(shí)間都是有一 個(gè)或幾個(gè)機(jī)器周期組成 7、外部中斷初始化內(nèi)容不包括 設(shè)置中斷響應(yīng)方式 外部中斷初始化步驟:(以外部中斷0為例) 打開總中斷允許 EA=1 PS PT1 PX1 PT0 PX0 串行口中斷 定時(shí)器中斷1 外部中斷1 定時(shí)器中斷0 外部中斷0 工作方式0 工作方式 1 工作方式2 工作方 式3 傳送數(shù) 據(jù)長度 8位數(shù)據(jù)為1 幀 10位數(shù)據(jù) 為1幀 11位數(shù)據(jù)為1幀 11位數(shù) 據(jù)為1 幀 通信方 式 作為同步移 位寄存器使 用 雙機(jī)串行 通信方 式, 8位異步通 信接口 串行通信方式 異步通 信方式 波特率 控制 定時(shí)器T 定時(shí)器 T1 波特率 計(jì)算方 式 晶振頻率的 1/12 SMOD=0 為晶振頻率的1/32, SMOD=1為晶振頻率的1/64 打開外部中斷0允許 EX0=1 設(shè)置外部中斷觸發(fā)方式 IT0=0 8、MCS-51單片機(jī)共有 兩個(gè) 中斷優(yōu)先級(jí) IP寄存器用來設(shè)置優(yōu)先級(jí) 設(shè)置為0 表示低優(yōu)先級(jí), 設(shè)置為1 表示高優(yōu)先級(jí) 9、如果需要傳輸11位為一幀的數(shù)據(jù),且波特率由T1控制,則串口工作方式應(yīng)選 擇 工作方式3 串行口工作方式 10、MSC-51單片機(jī)通過IP來設(shè)置中斷源的優(yōu)先級(jí) 11、程序狀態(tài)寄存器的縮寫 PWS 特殊功能寄存器SFR(不包括PC),也稱專用寄存器 (1)與CPU有關(guān)的特殊功能寄存器6個(gè) 累加器A,寄存器B, 程序狀態(tài)字寄存器(PWS) 堆棧指針SP、數(shù)據(jù)指針DPL、DPH (2)與并行口有關(guān)的特殊功能寄存器4個(gè) P0、P1、 P2 、P3 (3)與定時(shí)器計(jì)數(shù)器相關(guān)的特殊功能寄存器 TMOD 用于設(shè)置定時(shí)器的工作方式 TH0 TL0 TH1 TL1 (4) 與串行口有關(guān)的特殊功能寄存器(3個(gè)) SCON 串行口控制寄存器 SBUF 串行口緩沖寄存器 PCON 電源控制寄存器 串行通信中波特率設(shè)定、待機(jī)模式控制、空閑模式控制 位等 (5)與中斷有關(guān)的特殊功能寄存器 IE 中斷使能寄存器 IP 中斷優(yōu)先級(jí)控制寄存器 12、除了P0口是真正的雙向口,其他I/O口都是準(zhǔn)雙向口 原因:在應(yīng)用系統(tǒng)中P0口作為系統(tǒng)數(shù)據(jù)中心使用時(shí),為保證數(shù)據(jù)的正確傳送, 需要解決芯片內(nèi)外隔離問題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù) 傳送時(shí),芯片內(nèi)外應(yīng)處于隔離狀態(tài),為此,要求P0口的輸出緩沖器是一個(gè)三態(tài) 門。 在P0口輸出三態(tài)門是由兩只場(chǎng)效應(yīng)晶體管組成,所以說它是真正的雙向口,而 其他3個(gè)P1~P3中,上拉電阻電梯P0口中的場(chǎng)效應(yīng)晶體管,輸出緩沖器不是三態(tài) 的,因此不是真正的雙向口,只能稱其為準(zhǔn)雙向口。 13、定時(shí)器1工作再定時(shí)方式1,系統(tǒng)晶振為12M,要定時(shí)1ms, 則TH1、TL1初 值分別為___FCH 18H P189頁 65536 = 2^16 1ms = 1/1000 s 65536 - 1000 = 64536 TL1 = 64536%256= 24 = 18H TH1 = 65536/256 = 252 = FCH 14、51單片機(jī)的中斷標(biāo)志位共有6個(gè),分別是 IE0(外部中斷0請(qǐng)求標(biāo)志位) IE1(外部中斷1請(qǐng)求標(biāo)志位) TF0(定時(shí)器/計(jì)數(shù)器0溢出中斷請(qǐng)求標(biāo)志位) TF1(定時(shí)器/計(jì)數(shù)器1溢出請(qǐng)求標(biāo)志位) TI(串行口發(fā)送中斷標(biāo)志位) RI(串 行口接受中斷標(biāo)志位) 15、如果定時(shí)器/計(jì)數(shù)器工作在計(jì)數(shù)方式,則外部時(shí)間脈沖必須從P3.4 P3.5 引 腳輸入脈沖信號(hào) P3.4 T0 定時(shí)器/計(jì)數(shù)器0外部計(jì)數(shù)脈沖輸入 P3.5 T1 定時(shí)器/計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入 16、串行通信按照數(shù)據(jù)傳送方向可分為 全雙工、半雙工、單工 17、三總線結(jié)構(gòu)包括 數(shù)據(jù)總線(DB)、地址總線(AB)、控制總線(CB) 三總線的構(gòu)成: 地址總線(16位):P2作為高8位地址總線,P0作為低8位地址總線 數(shù)據(jù)總線(8位): P0分時(shí)復(fù)用 控制總線(12位):P3口引腳,PSEN、EA、ALE、RST 18、按鍵掃描控制分為 逐行掃描 行列掃描法 行列反轉(zhuǎn)法 19、KeilC51 編譯后生成的可燒寫的文件的擴(kuò)展名為** .hex** 20、單片機(jī)復(fù)位后,程序指針PC指向 0000H 地址 (0000H被稱為復(fù)位單元) PC 程序計(jì)數(shù)器 16位的計(jì)數(shù)器 程序計(jì)數(shù)器的訪問根據(jù)程序計(jì)數(shù)器PC內(nèi)容進(jìn)行,復(fù)位后值為0, PC中總是存放 下一條要執(zhí)行指令的地址,并且它還具有計(jì)數(shù)功能,每取出指令的一個(gè)字節(jié)后, 其內(nèi)容自行加一,指向下一字節(jié)的地址,以便依次自程序存儲(chǔ)器取指令執(zhí)行,完 成某種程序。 計(jì)算機(jī)存儲(chǔ)器配置上的兩種結(jié)構(gòu): 普林斯頓結(jié)構(gòu):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器統(tǒng)一編制 哈佛結(jié)構(gòu):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器在物理結(jié)構(gòu)上相互獨(dú)立 80C51為哈佛結(jié)構(gòu): 程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器在物理結(jié)構(gòu)上分別編址 21、8位二進(jìn)制構(gòu)成一個(gè)字節(jié),一個(gè)字節(jié)能表達(dá)的十進(jìn)制無符號(hào)數(shù)的范圍是 0~255 (正確) 22、MCS-51單片機(jī)可以不需要復(fù)位電路。 (錯(cuò)誤) 23、當(dāng)中斷請(qǐng)求產(chǎn)生時(shí),需要在主程序中調(diào)用中斷處理函數(shù)。(錯(cuò)誤) 24、同優(yōu)先級(jí)中斷可以互相打斷。(錯(cuò)誤) 25、異步通信中,主從機(jī)時(shí)鐘可以差別很大。(錯(cuò)誤) 26、串口方式0可以將串口擴(kuò)展為并口。(正確) 27、MCS-51單片機(jī)的I/O口都是雙向的。(正確) 28、在相同參考電壓下,A/D轉(zhuǎn)換器的位數(shù)越多,精度越低。(錯(cuò)誤) 精度反映A/D轉(zhuǎn)換器實(shí)際輸出數(shù)字量與理論輸出值接近程度。 29、在單片機(jī)系統(tǒng)中,可以用PWM波控制LED的亮度。(正確) 30、波特率是每秒傳輸字節(jié)的個(gè)數(shù)。(個(gè)數(shù)) 波特率指單位時(shí)間內(nèi)傳送的信息量,即每秒鐘傳送的二進(jìn)制位數(shù)。 字節(jié):8位二進(jìn)制稱為一個(gè)字節(jié)

單片機(jī)復(fù)習(xí)題(二) 1、簡畫出MCS-51單片機(jī)的最小系統(tǒng)。

8051最小應(yīng)用系統(tǒng)如圖所示。這種最小應(yīng)用系統(tǒng)只要將單片機(jī)的時(shí)鐘電路和復(fù)位電路接上,同時(shí)

接高電平,系統(tǒng)就可以工作。此類應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn)是:

〔1全部I/O口線均可供用戶用。

〔2部存儲(chǔ)器容量有限〔只有4KB地址空間。

〔3應(yīng)用系統(tǒng)開發(fā)具有特殊性。


2、簡述串行傳輸?shù)奶攸c(diǎn)。 (1)傳送按位順序進(jìn)行,速度慢。 (2)傳輸線少,成本低。 (3)傳輸距離遠(yuǎn),可達(dá)幾公尺到幾公里 串行通信作為計(jì)算機(jī)通信方式之一,主要起到 主機(jī) 與外設(shè)以及主機(jī)之間的數(shù)據(jù) 傳輸作用,串行通信具有傳輸線少、成本低的特點(diǎn),主要適用于近距離的人-機(jī) 交換、實(shí)時(shí)監(jiān)控等系統(tǒng)通信工作當(dāng)中,借助于現(xiàn)有的 電話網(wǎng) 也能實(shí)現(xiàn)遠(yuǎn)距離傳 輸,因此串行通信接口是計(jì)算機(jī)系統(tǒng)當(dāng)中的常用接口。 3、MCS-51單片機(jī)有幾個(gè)中斷源、分別如何定義的, 單片機(jī)有5個(gè)中斷源,分別為外部中斷0、外部中斷1、定時(shí)器/計(jì)數(shù)器T0溢出中 斷、定時(shí)器/計(jì)數(shù)器T1溢出中斷。 外部中斷0(INT0):默認(rèn)中斷級(jí)別最高,中斷入口地址0003H; 定時(shí)/計(jì)數(shù)器0溢出中斷(T0):默認(rèn)中斷級(jí)別第2,中斷入口地址000BH; 外部中斷1(INT1):默認(rèn)中斷級(jí)別第3,中斷入口地址0013H; 定時(shí)/計(jì)數(shù)器1溢出中斷(T1):默認(rèn)中斷級(jí)別最低,中斷入口地址001BH。 串行口中斷(TX/RX):默認(rèn)中斷級(jí)別第4,中斷入口地址0023H。 1)外部中斷0:由INTO (P3.2) 引腳輸人,由外部中斷0觸發(fā)方式選擇位IT0, 選擇其 為低電平有效還是下降沿有效,當(dāng)CPU檢測(cè)到INT0引腳上出現(xiàn)有效的中斷請(qǐng)求 信號(hào)時(shí),中斷請(qǐng)求標(biāo)志位IEO置1,向CPU申請(qǐng)中斷。 2)外部中斷1:由INT1 (P3.3) 引腳輸人,由外部中斷1觸發(fā)方式選擇位IT1,選擇 其為低電平有效還是下降沿有效,當(dāng)CPU檢測(cè)到INT1引腳上出現(xiàn)有效的中斷請(qǐng) 求信號(hào)時(shí),中斷請(qǐng)求標(biāo)志位IE1置1,向CPU申請(qǐng)中斷。 3)定時(shí)器/計(jì)數(shù)器T0溢出中斷請(qǐng)求,當(dāng)T0定時(shí)時(shí)間到或計(jì)數(shù)滿后,中斷請(qǐng)求標(biāo)志 位TI0由硬件置1,向CPU申請(qǐng)中斷。 4)定時(shí)器/計(jì)數(shù)器T1溢出中斷請(qǐng)求,當(dāng)T1定時(shí)時(shí)間到或計(jì)數(shù)滿后,中斷請(qǐng)求標(biāo)志 位TF1被硬件置1,向CPU申請(qǐng)中斷 5)串行口中斷請(qǐng)求,當(dāng)串行口接收完一幀數(shù)據(jù)時(shí), 中斷請(qǐng)求標(biāo)志RI被硬件置1,或 當(dāng) 串口發(fā)送完- 幀數(shù)據(jù)時(shí),中斷請(qǐng)求標(biāo)志TI被硬件置1。 中斷源的中斷請(qǐng)求標(biāo)志位分別由特殊功能寄存器TCON和SCON的相應(yīng)位鎖存。 4、當(dāng)出現(xiàn)同優(yōu)先級(jí)中斷申請(qǐng)時(shí),CPU按什么順序響應(yīng)? 按照如下順序響應(yīng)中斷請(qǐng)求:INT0、 T0、 INT1 、T1、 串口 5、描述I2C總線數(shù)據(jù)傳輸?shù)倪^程(包括描述各信號(hào)是什么樣的, 數(shù)據(jù)在什么情況下允許變化) I2C總線的通信過程(見圖4-8)主要包含三個(gè)主要階段:起始階段、數(shù)據(jù)傳輸階段

單片機(jī)原理及應(yīng)用復(fù)習(xí)題(全)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
贵定县| 西盟| 平定县| 赞皇县| 宁晋县| 从江县| 吉木乃县| 博乐市| 邯郸县| 巴马| 石屏县| 保靖县| 个旧市| 河池市| 乐昌市| 会理县| 贵溪市| 三河市| 淄博市| 长海县| 永昌县| 梁山县| 胶南市| 北流市| 龙州县| 普兰县| 瑞安市| 伊吾县| 垦利县| 洛浦县| 普兰店市| 永年县| 无锡市| 日土县| 杂多县| 南昌县| 大英县| 巴里| 曲松县| 长乐市| 梧州市|