【正文】
。 第七講 80C51的串行口 計(jì)算機(jī)串行通信基礎(chǔ) 單片機(jī)串行口編程應(yīng)用舉例 計(jì)算機(jī)串行通信基礎(chǔ) ?隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能愈來愈顯得重要。 轉(zhuǎn)換速率 ?ADC的 轉(zhuǎn)換速率 是能夠重復(fù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。 絕對精度 ?在一個(gè)轉(zhuǎn)換器中,任何數(shù)碼所對應(yīng)的實(shí)際模擬量輸入與理論模擬輸入之差的最大值,稱為 絕對精度 。 ADC的滿刻度誤差是指滿刻度輸出數(shù)碼所對應(yīng)的實(shí)際輸入電壓與理想輸入電壓之差。假定 ADC沒有非線性誤差,則其轉(zhuǎn)換特性曲線各階梯中點(diǎn)的連線必定是直線,這條直線與橫軸相交點(diǎn)所對應(yīng)的輸入電壓值就是偏移誤差。一個(gè)分辨率有限的 ADC的階梯狀轉(zhuǎn)換特性曲線與具有無限分辨率的 ADC轉(zhuǎn)換特性曲線(直線)之間的最大偏差即是量化誤差。 量化誤差是 ADC的有限位數(shù)對模擬量進(jìn)行量化而引起的誤差 。一個(gè) 10V滿刻度的 12位 ADC能分辨輸入電壓變化最小值是 10V 1/ =。常用二進(jìn)制的位數(shù)表示。 8 0 C 5 1P 2 . 7P 0W RC SX F E RW R 1W R 2I L EV C CDAC0832(1)D I 0D I 7C SX F E RW R 1W R 2I L EV C C+ 5 VDAC0832(2)D I 0D I 7P 2 . 6P 2 . 5直通工作方式 ?當(dāng) DAC0832芯片的片選信號、寫信號、及傳送控制信號的引腳全部接地,允許輸入鎖存信號 ILE引腳接+ 5V時(shí), DAC0832芯片就處于直通工作方式,數(shù)字量一旦輸入,就直接進(jìn)入 DAC寄存器,進(jìn)行 D/A轉(zhuǎn)換。 8 0 C 5 1P 2 . 7P 0W RC SX F E RW R 1W R 2I L EV C C+ 5 V+R f bV ODAC0832I O U T 1I O U T 21 k Ω1 M ΩD I 0D I 7D G N DV S S雙極性模擬輸出電壓 : V R E F+ 5 V+R f bV O U TDAC0832I O U T 1I O U T 22 RD I 0D I 7D G N D+V D2 RRA 1A 2A G N D偏 移 碼 雙極性輸出時(shí)的分辨率比單極性輸出時(shí)降低1/2,這是由于對雙極性輸出而言,最高位作為符號位,只有 7位數(shù)值位。amp。 一、 DAC0832內(nèi)部結(jié)構(gòu)及引腳 輸 入鎖 存 器D A C寄 存 器D / A轉(zhuǎn) 換 器D I 7 ~ D I 0I L EC SW R 1W R 2X F E RV R E FI O U T 2I O U T 1R f bA G N DV C Camp。屬于該系列的芯片還有 DAC08DAC0831,它們可以相互代換。 DAC0832芯片及其與單片機(jī)接口 DAC0832是使用非常普遍的8位 D/A轉(zhuǎn)換器,由于其片內(nèi)有輸入數(shù)據(jù)寄存器,故可以直接與單片機(jī)接口。 DAC的位數(shù)多時(shí),分辨率會(huì)提高,對應(yīng)于影響精度的量化誤差會(huì)減小。根據(jù)建立時(shí)間的長短,可以將 DAC分成超高速(<1μS)、高速( 10~ 1μS)、中速( 100~ 10μS)、低速( ≥100μS)幾檔。 電流輸出型 DAC的建立時(shí)間短 。 1/2LSB所需的時(shí)間。 ?相對精度 與絕對精度表示同一含義,用最大誤差相對于滿刻度的百分比表示。絕對精度是由 DAC的增益誤差(當(dāng)輸入數(shù)碼為全 1時(shí),實(shí)際輸出值與理想輸出值之差)、零點(diǎn)誤差(數(shù)碼輸入為全0時(shí), DAC的非零輸出值)、非線性誤差和噪聲等引起的。 1%以內(nèi)。如 177。 線性度 線性度(也稱非線性誤差) 是實(shí)際轉(zhuǎn)換特性曲線與理想直線特性之間的最大偏差。對于 5V的滿量程,采用8位的 DAC時(shí),分辨率為 5V/256= ;當(dāng)采用 12位的 DAC時(shí),分辨率則為 5V/4096= 。 分辨率與輸入數(shù)字量的位數(shù)有確定的關(guān)系,可以表示成 FS / 。 二、 D/A轉(zhuǎn)換器的主要性能指標(biāo) 2n分辨率 分辨率 是指輸入數(shù)字量的最低有效位( LSB)發(fā)生變化時(shí),所對應(yīng)的輸出模擬量(電壓或電流)的變化量。如按下第一個(gè)顯示 1,第二個(gè)顯示 4... 第六講 D/A amp。 ? 在上題的基礎(chǔ)上,用另外三個(gè)獨(dú)立鍵盤實(shí)現(xiàn)按下第一個(gè)時(shí)計(jì)時(shí)停止,按下第二個(gè)時(shí)計(jì)時(shí)開始,按下第三個(gè)是計(jì)數(shù)值清零從頭開始。 按鍵在閉合和斷開時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象: 按 下 抖 動(dòng)釋 放 抖 動(dòng)理 想 波 形實(shí) 際 波 形穩(wěn) 定 閉 合+ 5 V+ 5 VAB無 抖 動(dòng)有 抖 動(dòng)K99K1 0AK1 5FP 1 0P 1 1P 1 2P 1 3P14P15P16P17E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10V C C40GND20U18 9C 5 2P 10P 11P 12P 13P 14P 15P 16P 17K00K11K22K33K55K66K77K88K44K1 1BK1 2CK1 3DK1 4E? ,從 000到999之間以 1%秒速度運(yùn)行,當(dāng)按下一個(gè)獨(dú)立鍵盤時(shí)跑表停止,松開手后跑表繼續(xù)運(yùn)行。也有用到編碼鍵盤的。 第五講 鍵盤的應(yīng)用 ? 鍵盤的分類 ? 鍵盤分編碼鍵盤和非編碼鍵盤。 ? 1在數(shù)碼管上顯示出從 765432開始以 1/10秒的速度往下遞減直至765398并保持顯示此數(shù),與此同時(shí)利用定時(shí)器 0以 500MS速度進(jìn)行流水燈從上至下移動(dòng),當(dāng)數(shù)碼管上數(shù)減到停止時(shí),實(shí)驗(yàn)板上流水燈也停止然后全部開始閃爍, 3秒后(用 T0定時(shí))流水燈全部關(guān)閉、數(shù)碼管上顯示出“ HELLO”。 T F 1T R 1T F 0T R 0G A T EC / TM 1M 0G A T EC / TM 1M 01amp。 T F 1T R 1T F 0T R 0G A T EC / TM 1M 0G A T EC / TM 1M 01amp。 定時(shí) /計(jì)數(shù)器的工作方式 一、方式 0 方式 0為 13位計(jì)數(shù) ,由 TL0的低 5位(高 3位未用)和 TH0的 8位組成。 ?TF0( ): T0溢出中斷請求標(biāo)志位,其功能與 TF1類同。 TR1由軟件置 1或清 0。 ?TR1( ): T1運(yùn)行控制位。所以, TF1可用作查詢測試的標(biāo)志。 CPU響應(yīng)中斷后 TF1由硬件自動(dòng)清 0。其格式如下: ?TF1( ): T1溢出中斷請求標(biāo)志位。 C/T C/TC/T 二、控制寄存器 TCON TCON的低 4位用于控制外部中斷 ,已在前面介紹。 M1M0:工作方式設(shè)置位。 :定時(shí) /計(jì)數(shù)模式選擇位。 GATE= 0時(shí),只要用軟件使 TCON中的TR0或 TR1為 1,就可以啟動(dòng)定時(shí) /計(jì)數(shù)器工作; GATA= 1時(shí),要用軟件使 TR0或 TR1為 1,同時(shí)外部中斷引腳 INT0/1也為高電平時(shí),才能啟動(dòng)定時(shí) /計(jì)數(shù)器工作。 一、工作方式寄存器 TMOD 工作方式寄存器 TMOD用于設(shè)置定時(shí) /計(jì)數(shù)器的工作方式,低四位用于 T0,高四位用于 T1。 GATEC/TM1M0GATEC/TM1M0T H 1 T L 1 T H 0 T L 0T 1 方 式T 0 方 式T 1 引 腳T 0 引 腳機(jī) 器 周期 脈 沖內(nèi) 部 總 線T M O DT C O N外 部 中 斷 相 關(guān) 位TF1TR1TF0TR0 定時(shí) /計(jì)數(shù)器的控制 80C51單片機(jī)定時(shí) /計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。 中斷響應(yīng)條件和時(shí)間 定時(shí) /計(jì)數(shù)器的結(jié)構(gòu)和工作原理 一、定時(shí) /計(jì)數(shù)器的結(jié)構(gòu) 定時(shí) /計(jì)數(shù)器的實(shí)質(zhì)是加 1計(jì)數(shù)器( 16位),由高 8位和低 8位兩個(gè)寄存器組成。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示: 80C51單片機(jī)中斷處理過程 中斷響應(yīng)條件 ? 中斷源有中斷請求; ? 此中斷源的中斷允許位為 1; ? CPU開中斷(即 EA=1)。 80C51中斷的控制 ?EX0(),外部中斷 0允許位; ?ET0(),定時(shí) /計(jì)數(shù)器 T0中斷允許位; ?EX1(),外部中斷 0允許位; ?ET1(),定時(shí) /計(jì)數(shù)器 T1中斷允許位; ?ES( ),串行口中斷允許位; ?EA (), CPU中斷允許(總允許)位。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。 動(dòng)態(tài)顯示 動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。 同時(shí)用兩個(gè)定時(shí)器控制蜂鳴器發(fā)聲,定時(shí)器 0控制頻率,定時(shí)器 1控制同個(gè)頻率持續(xù)的時(shí)間,間隔300ms依次輸出 1, 10, 50,100, 200,400,800, 1k( hz)的方波。 所以: N= t/ Tcy = 10000/1= 10000 X= 65536- 10000= 55536= D8F0H 即應(yīng)將 D8H送入 TH0中, F0H送入 TL0中 求 T1的方式控制字 TMOD: M1M0=01, GATE=0, C/T=0,可取方式控制字為 01H; 利用定時(shí) /計(jì)數(shù)器 T0從 1s的方波,讓發(fā)光二極管以 1HZ閃爍,設(shè)晶振頻率為 12MHz。 例 利用定時(shí) /計(jì)數(shù)器 T1的方式 1,產(chǎn)生 10ms的定時(shí),并使 20ms的方波,采用中斷方式,設(shè)系統(tǒng)時(shí)鐘頻率為 12 MHz。 ?中斷方式時(shí),則對 IE賦值,開放中斷?!?110T 0 引 腳I N T 0 引 腳11機(jī) 器 周 期T H 0T L 08 位溢 出T C O NT M O DD 0 D 7D 0申 請中 斷機(jī) 器 周 期8 位申 請中 斷溢 出 定時(shí) /計(jì)數(shù)器應(yīng)用舉例 初始化程序應(yīng)完成如下工作: ?對 TMOD賦值,以確定 T0和 T1的工作方式。 工作方式 3將 T0分成為兩個(gè)獨(dú)立的 8位計(jì)數(shù)器 TL0和 TH0 。 T F 1T R 1T F 0T R 0G A T EC / TM 1M 0G A T EC / TM 1M 01amp。≥ 110T 0 引 腳I N T 0 引 腳10機(jī) 器 周 期T H 0 T L 08 位 8 位溢 出T C O NT M O DD 0D 7D 7D 0申 請中 斷計(jì)數(shù)個(gè)數(shù)與計(jì)數(shù)初值的關(guān)系為: 8X = 2 N三、方式 2 方式 2為自動(dòng)重裝初值的 8位計(jì)數(shù)方式。 16X = 2 N二、方式 1 方式 1的計(jì)數(shù)位數(shù)是 16位,由 TL0作為低 8位、 TH0作為高 8位,組成了 16位加 1計(jì)數(shù)器 。當(dāng) TR0=1時(shí),外中斷引腳信號引腳的 高電平啟動(dòng)計(jì)數(shù) ,外中斷引腳信號引腳的 低電平停止計(jì)數(shù) 。 13X = 2 N門控位 GATE具有特殊的作用?!?110T 0