單片機(jī)課后答案9_第1頁
單片機(jī)課后答案9_第2頁
單片機(jī)課后答案9_第3頁
單片機(jī)課后答案9_第4頁
單片機(jī)課后答案9_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、習(xí)題91、某系統(tǒng)片外 RAM得片選電路如圖 9-38所示:RAM共7路,有 2KX8位與1KX8位兩種 芯片,其片選信號都就是低電平有效。請為各路RAM芯片注明它得容量與地址范圍。圖9-38 第1題圖解:第一路芯片得地址為8000H-87FFH;第二路芯片得地址為8800H-8FFFH;第三路芯片得地址為9000H-97FFH;第四路芯片得地址為A000H-A3FFH;第五路芯片得地址為A400H-A7FFH;第六路芯片得地址為A800H-ABFFH;第七路芯片得地址為AC00H-AFFFH 。2、對AT89C51單片機(jī)外擴(kuò)4片靜態(tài)RAM62128芯片,請畫出硬件電路圖,寫出每片芯片得 地址。

2、62128(1):0000H-3FFFH,62128(2):4000H-7FFFH,62128(3):8000H-BFFFH,62128(4):C000H-FFFFH3、8255A有幾種工作方式?如何進(jìn)行選擇?解:8255A共有三種工作方式,用方式控制字來選擇。4、現(xiàn)有一片AT89C51單片機(jī),擴(kuò)展了一片8255A,若把8255A得B 口用作輸入,每一位接一 個開關(guān),A 口用作輸出,每一位接一個發(fā)光二極管,請用Proteus軟件畫出電路原理圖,并編寫出B 口某一位開關(guān)接低電平時,A 口相應(yīng)位發(fā)光二極管被點亮得程序。解:電路如下圖:EUQjUU 住I l4tn 叭悶了 *5旭伯 r»H

3、4THi *1虹W nAie 聞惟?叫嗣 巧Wdfl r-iy 旳沁11 17 diAiJ F25M3 gw 陀2恬門 jynip肥.2»-0 >*1 jjPTT f<IVTD 丙空 F3GH 5i<4Jii- /HT14才* H?,we¥ &-JlL_L±q-JSOiE a_Oi 劃占 1 占£ 占4 占5 占H 普T程序如下:#inelude <reg51、h> #inelude <absacc、h> #inelude vintrins、h> #define uint un sig ned in

4、t #define uehar un sig ned char /PA,PB,PC及命令端口地址定義 #define PA XBYTEOxOOOO #define PB XBYTEOxOOO1 #define PC XBYTE0x0002 #define XBYTE0x0003 void mai n()uchar k;=0x82;/控制字while(1)k = PB;PA = k;5、按照圖9-18所示8255與AT89C52得連接圖,用 8255C 口得PC3引腳向外輸出連續(xù)得 正方波信號,頻率為500Hz。試編程,并用Proteus仿真驗證。解:利用定時器0,每1ms中斷一次,在中斷服務(wù)程

5、序中改變PC3得狀態(tài)。程序如下 :#include <reg52 、 h>#include <Absacc 、h>#define PA8255XBYTE0xe000/* 定義 8255A 口地址 */#define PB8255XBYTE0xe001 /*定義 8255B 口地址 */定義 8255C 口地址 */#define PC8255XBYTE0xe002 /*#define 8255 XBYTE0xe003 /* 定義 8255 控制寄存器地址 */ void timer0init();bit k;unsigned char aa;void init8255(

6、void) ;void main (void)timer0init();init8255();8255=0x07; /*PC3 置 1*/ k=0;while (1);void init8255(void) 8255=0x80;/* 工作方式選擇字送入 8255 控制寄存器 ,設(shè)置 A 、B、C 口為基本 I/O 輸出方 式 */ void timer0init()TMOD=0x01; / 設(shè)置 T0 為定時器模式 ,工作在方式 1TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1; /開總中斷ET0=1; / 允許 T0 中斷TR0=1; / 啟 動

7、 T0void timerOO interrupt 1/ 定時器 0 每 1ms 中斷一次TH0=(65536-1000)/256;TL0=(65536-1000)%256;if(k=0)8255=0x06;/*PC3 清 0*/k=k;else8255=0x07;/*PC3 置 1*/ k=k;6、為什么要進(jìn)行按鍵消抖 ?按鍵消抖得方法有幾種 ?解:按鍵就是利用機(jī)械觸點得合、斷來實現(xiàn)鍵得閉合與釋放,由于彈性作用,機(jī)械觸點在閉合及 斷開瞬間會有抖動得過程,從而使鍵輸入電壓得信號也存在抖動現(xiàn)象。去除抖動得方法一般有硬件與軟件兩種。硬件方法就就是在按鍵輸出通道上添加去抖動電路,從根本上避免電壓抖動

8、得產(chǎn)生,去抖動電路可以就是單穩(wěn)態(tài)電路或者濾波電路。軟件方法通常就是在檢測到有鍵按下時延遲1020ms得時間,待抖動期過去后,再次檢測按鍵得狀態(tài),如果仍然為閉合狀態(tài),才認(rèn)為就是有鍵按下,否則認(rèn)為就是一個擾動信號。按鍵釋放得過程 與此相同,都要利用延時進(jìn)行消抖處理。由于人得按鍵速度與單片機(jī)得運(yùn)行速度相比要慢很多,所以,軟件延時得方法簡單可行,而且不需要增加硬件電路,成本低,因而被廣泛采用。按鍵輸入程序應(yīng)具備哪些功能 解:具有下列功能:7、(1)確定鍵就是否閉合;(2)按鍵消抖處理;(3)確定閉合鍵得位置;(4)確定按鍵就是否上 訪;(5)對按鍵進(jìn)行處理。8、利用LED顯示器設(shè)計一個統(tǒng)計按鍵次數(shù)得系

9、統(tǒng),能夠?qū)崟r將當(dāng)前按鍵次數(shù)以十進(jìn)制 形式顯示在 2位LED顯示器上。(1) 所設(shè)計得Proteus仿真電路如圖5-13所示。uiTljAni-RH MH H旨岀 I a,Pl dHPl tihST* lbPIQMF2 ITJ 心*l r: 11*11pj 31 niv-i+ rg lAiR昱證"2rup w X Z p-uzi5r pd氐ra tTziFTjrnT的n-vnhj"!圖5-13計數(shù)器得仿真電路與效果圖兩位數(shù)碼管與單片機(jī)相連時,可以采用靜態(tài)顯示方式,也可以采用動態(tài)顯示方式。這里采用動態(tài)顯示方式,將兩個數(shù)碼管得段碼連接到單片機(jī)得P0 口,P0 口通過470Q得上拉

10、電阻接+5V,兩個數(shù)碼管得位選由P2、6與P2、7選中。圖5-13中數(shù)碼管就是共陰極得。(2) 程序設(shè)計如下 :#include<reg51 、 h>#define uchar unsigned charsbitkey=卩3人0;sbitge=卩2人7;sbitshi=P2A6;uchar dd;/ dd 為顯示得數(shù)字uchar f0;/ f0 為鍵按下過得標(biāo)志uchar time=0,count=0;uchar code dis =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 段碼/* 延時程序 */void delay(

11、uchar N)uchar i,j;for(i=0;i<N;i+)for(j=0;j<125;j+);/*顯示程序 */void display(void)P0=disdd%10;/顯示個位ge=0;delay(3);ge=1;P0=disdd/10;/顯示十位shi=0;delay(3);shi=1;/*主程序 */void main()dd=0;/ 開始顯示得數(shù)字為 0f0=1;/f0為按下過鍵得標(biāo)志位,如果按下過鍵,f0=0,否則f0=1while(1)while (key=1)/ 鍵未按下 ,顯示 display();if (f0=0)dd=dd+1;f0=1;while

12、(key=0)/ 鍵按下 ,顯示 ,標(biāo)志 f0=0display();f0=0;(3) 仿真效果099計數(shù)器得仿真效果圖如圖5-13所示,圖中顯示得就是23。9、 LCD1602 與 AT89C52 單片機(jī)連接得仿真電路如圖 9-36 所示。 用 C 語言編程 ,實現(xiàn)第一 行從右側(cè)移入 “Hello eve ryone ”同,時第二行從右側(cè)移入 “Weleto here! ”移,入速度自定 ,然后 停留在屏幕上。解 :程序設(shè)計如下 :程序如下 :#include<reg52 、 h>#define uchar unsigned char#define uint unsigned i

13、ntuchar code table="Hello everyone"uchar code table1="Wele to here!"sbit lcden=P3人4;/液晶使能端sbit lcdrs=卩3人5; /液晶數(shù)據(jù)命令選擇端uchar num;void delay(uint z)/ 延時子程序uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_(uchar )/ 寫命令函數(shù)lcdrs=0;/ 選擇寫命令模式P0=;/將要寫得命令字送到數(shù)據(jù)總線上delay(5);/稍微做延時以待數(shù)

14、據(jù)穩(wěn)定Icden=1;/使能端給一個高脈沖,因為初始化函數(shù)中已將Icden置為0delay(5);/稍做延時Icden=0;/將使能端置0以完成高脈沖void write_data(uchar date)lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()lcden=0;write_(0x38);/設(shè)置16汽顯示,5 X點陣,8位數(shù)據(jù)接口write_(0x0f); / 設(shè)置開顯示 ,不顯示光標(biāo)write_(0x06);/ 寫一個字符后地址指針加 1write_(0x01);/ 顯示清 0,數(shù)據(jù)指針清 0void main()init();write_(0x80+0x10);/ 先將數(shù)據(jù)指

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論