版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、7.1 外部擴(kuò)展資源和擴(kuò)展編址技術(shù)概述7.2 并行I/O口擴(kuò)展7.3 大容量閃速存儲(chǔ)器Flash的擴(kuò)展7.4 單片機(jī)系統(tǒng)中的鍵盤接口技術(shù)7.5 單片機(jī)系統(tǒng)中的LED數(shù)碼顯示器7.6 單片機(jī)系統(tǒng)中的LCD液晶顯示器7.7 日歷時(shí)鐘接口芯片及應(yīng)用7.8 單片機(jī)數(shù)據(jù)采集系統(tǒng)7.9 I2C 總線接口電路EEPROM及應(yīng)用7.10 RS-232C和 RS-485/422通信接口本章小結(jié)7.1 外部擴(kuò)展資源和擴(kuò)展編址技術(shù)概述7.1.1 單片機(jī)外部擴(kuò)展資源分類單片機(jī)外部擴(kuò)展資源包含有:外部RAM/ROM、鍵盤、顯示、A/D、D/A、I/O擴(kuò)展、中斷擴(kuò)展、串行通信、總線驅(qū)動(dòng)、電源監(jiān)控、看門狗等一些最基本的模塊
2、,它們都是大多數(shù)單片機(jī)應(yīng)用系統(tǒng)必不可少的關(guān)鍵部分。 1. 外部程序存儲(chǔ)器ROM當(dāng)單片機(jī)內(nèi)部程序存儲(chǔ)器ROM容量無法滿足應(yīng)用系統(tǒng)要求時(shí),需要在外部進(jìn)行擴(kuò)展。對(duì)于80C51系列,內(nèi)部存儲(chǔ)器都達(dá)到64KB,用戶沒有必要再擴(kuò)展外部程序存儲(chǔ)器。 2. 外部數(shù)據(jù)存儲(chǔ)器RAM 由于單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器容量較小,在需要大量數(shù)據(jù)緩沖的單片機(jī)應(yīng)用系統(tǒng)中(如語音系統(tǒng)、商場(chǎng)收費(fèi)POS)仍然需要在外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器。 外部數(shù)據(jù)存儲(chǔ)器有SRAM、Flash EEPROM 3. 并行I/O口資源擴(kuò)展在較為復(fù)雜的控制系統(tǒng)(尤其是工業(yè)控制系統(tǒng),如可編程控制器)中,經(jīng)常需要擴(kuò)展I/O口。常用的I/O接口芯片有74HC系列鎖存器
3、/寄存器、8255和8155等。 4. 鍵盤和顯示器鍵盤和顯示器提供了用戶與單片機(jī)應(yīng)用系統(tǒng)之間的人機(jī)界面,用戶通過鍵盤向單片機(jī)系統(tǒng)輸入數(shù)據(jù)或程序,而通過顯示器用戶可以了解單片機(jī)系統(tǒng)的運(yùn)行狀態(tài)。5. 串行通信接口單片機(jī)通常都提供了一個(gè)串行通信接口,且信號(hào)為TTL電平,為了方便單片機(jī)系統(tǒng)與PC機(jī)、打印機(jī)、外設(shè)等接口,往往需要擴(kuò)展通用的RS-232通信接口。為了實(shí)現(xiàn)遠(yuǎn)距離通信,還要擴(kuò)展RS-485通信接口。常用的RS-232接口芯片為MAX232,常用的RS-485接口芯片為MAX485。當(dāng)單片機(jī)系統(tǒng)需要更多的串行通信接口時(shí),可以通過串行口芯片擴(kuò)展,常用的串行口芯片有8251、8250、16C554
4、等。6. 模數(shù)轉(zhuǎn)換A/DA/D轉(zhuǎn)換接口將外設(shè)輸入的模擬量轉(zhuǎn)換為計(jì)算機(jī)使用的數(shù)字量,常用的A/D轉(zhuǎn)換芯片有ADC0808/0809、ADC0816/0817、ADC1140、ADC71/76、AD574A等。 7. 數(shù)模轉(zhuǎn)換D/AD/A轉(zhuǎn)換接口將計(jì)算機(jī)的數(shù)字量轉(zhuǎn)換為外設(shè)使用的模擬量,常用的D/A轉(zhuǎn)換芯片有DAC0832、DA7520、DAC1208、DAC1230等。8. 電源監(jiān)控和硬件看門狗在電源不穩(wěn)定或有強(qiáng)大的干擾源時(shí),系統(tǒng)經(jīng)常會(huì)出現(xiàn)“程序跑飛”等異常情況,給系統(tǒng)的開發(fā)和實(shí)際應(yīng)用帶來了極大的不便,嚴(yán)重時(shí)會(huì)使系統(tǒng)癱瘓,甚至發(fā)生工業(yè)事故。為此需要使用專用的電源監(jiān)控復(fù)位芯片,人們常把此類電路稱為硬
5、件看門狗,當(dāng)系統(tǒng)電壓下降和“程序跑飛”時(shí),它能發(fā)出復(fù)位信號(hào),保證系統(tǒng)正常工作。常用的電源監(jiān)控復(fù)位芯片有CSI24C161、DS1232、X5045等。9. 硬件日歷時(shí)鐘由單片機(jī)構(gòu)成的大多數(shù)計(jì)費(fèi)、計(jì)時(shí)系統(tǒng)中,日期和時(shí)間是數(shù)據(jù)庫(kù)中的一個(gè)重要參數(shù),為此需要在單片機(jī)系統(tǒng)中擴(kuò)展日歷時(shí)鐘芯片。常用的日歷時(shí)鐘接口電路有DS1302、DS12887等。單片機(jī)系統(tǒng)是指以單片機(jī)為核心,根據(jù)其應(yīng)用目標(biāo)擴(kuò)展相關(guān)的外圍電路所構(gòu)成的硬件系統(tǒng),外部擴(kuò)展是和應(yīng)用緊密聯(lián)系的。本章只是對(duì)單片機(jī)系統(tǒng)中常用資源擴(kuò)展和流行接口加以論述。 7.1.2 單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu)與編址技術(shù)圖7.1為AT89C52單片機(jī)通過三總線的擴(kuò)展系統(tǒng)結(jié)構(gòu)圖。
6、圖7.1譯碼器產(chǎn)生地址譯碼信號(hào),在任一時(shí)刻其輸出的有效片選信號(hào)使得單片機(jī)只能訪問RAM、I/O 和CLOCK其中之一,避免了總線競(jìng)爭(zhēng)現(xiàn)象。下面介紹單片機(jī)擴(kuò)展中的地址譯碼技術(shù)。 地址譯碼有兩種方法,線選法和全地址譯碼法。 線選法線選法一般用于擴(kuò)展少量的片外存儲(chǔ)器和I/O接口芯片。所謂線選法通常是將單片機(jī)的高8位地址線A8A15中的某幾根與外部接口芯片的片選端一一相連,當(dāng)該地址線為0時(shí)(對(duì)0選通有效的外部芯片而言),與該地址線相連接的外部芯片被選通。這種方法的缺點(diǎn)是:全部地址空間是斷續(xù)的,每個(gè)接口電路的地址空間又可能是重疊的。圖是線選法典型電路組成。 圖7.2中,當(dāng)A15 = 0時(shí),選中RAM 6
7、264,而A14 = 0時(shí),選中I/O芯片8255,為了避免產(chǎn)生總線競(jìng)爭(zhēng), A15和A14不能同時(shí)為0,由此可確定選中RAM6264的二進(jìn)制數(shù)地址應(yīng)為:01xxxxxx xxxxxxxx,x為任意,即可以是0也可以是1。故RAM 6264的地址范圍二進(jìn)制數(shù)是01000000 0000000001111111 11111111,對(duì)應(yīng)的十六進(jìn)制數(shù)是4000H7FFFH。而RAM6264容量只有8KB,故4000H5FFFH、6000H7FFFH兩段地址完全重疊。同樣可確定選中I/O芯片8255的二進(jìn)制數(shù)地址應(yīng)是:10 xxxxxx xxxxxxxx,x為任意。故I/O芯片8255的地址范圍二進(jìn)制數(shù)
8、是10000000 0000000010111111 11111111。對(duì)應(yīng)十六進(jìn)制數(shù)是8000HBFFFH。而I/O8255實(shí)際只占用4個(gè)地址單元,故地址重疊部分更多。 2. 全地址譯碼法全地址譯碼法,是通過譯碼電路對(duì)單片機(jī)可利用的高位地址線進(jìn)行譯碼,以得到較多的片選信號(hào)。 用全地址譯碼法擴(kuò)展存儲(chǔ)器舉例7.1.3 單片機(jī)系統(tǒng)存儲(chǔ)器擴(kuò)展方法7.2 并行I/O口擴(kuò)展7.2.1 8255可編程并行I/O接口芯片1. 8255 的電路結(jié)構(gòu)和功能8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件
9、選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255內(nèi)部結(jié)構(gòu)如圖7.5所示。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部分、控制器部分。 1)與CPU連接部分根據(jù)定義,8255能并行傳送8位數(shù)據(jù),所以其數(shù)據(jù)線為8根D0D7。由于8255具有3個(gè)通道A、B、C,所以只要兩根地址線就能尋址A、B、C口及控制寄存器,故地址線為兩根A0A1。此外CPU要對(duì)8255進(jìn)
10、行讀、寫與片選操作,所以控制線為片選、復(fù)位、讀、寫信號(hào)。 2)與外設(shè)接口部分根據(jù)定義,8255有3個(gè)通道A、B、C與外設(shè)連接,每個(gè)通道又有8根線與外設(shè)連接,所以8255可以用24根線與外設(shè)連接,若進(jìn)行開關(guān)量控制,則8255可同時(shí)控制24路開關(guān)。 3)控制器8255將3個(gè)通道分為兩組,即PA0PA7與PC4PC7組成A組,PB0PB7與PC0PC3組成B組。相應(yīng)的控制器也分為A組控制器與B組控制器。 2. 8255芯片引腳與CPU的連接1)數(shù)據(jù)總線DB引腳AT89C52的P0.0P0.7與8255的D0D7連接 2)地址總線AB引腳A0、A1通過74HC373鎖存器與AT89C52的P0.0、P
11、0.1連接。A1A0取0011值,可選擇A、B、C口與控制寄存器,選擇方法如下:A1A0=00:選擇A口。A1A0=01:選擇B口。A1A0=10:選擇C口。A1A0=11:選擇控制寄存器。其中,xx表示取值可任意 4)3個(gè)通道引腳(1)A口的8個(gè)引腳PA0PA7與外設(shè)連接,用于8位數(shù)據(jù)的輸入與輸出。(2)B口的8個(gè)引腳PB0PB7與外設(shè)連接,用于8位數(shù)據(jù)的輸入與輸出。(3)C口的8個(gè)引腳PC0PC7與外設(shè)連接,用于8位數(shù)據(jù)的輸入與輸出或通信線。 3. 8255的工作方式4. 8255初始化1)工作方式選擇字8255工作方式選擇字共8位,如圖所示,存放在8255控制寄存器中。最高位D7為標(biāo)志位
12、,D7=1表示控制寄存器中存放的是工作方式選擇字,D7 = 0表示控制寄存器中存放的是C口置位/復(fù)位控制字。 D3D6用于A組的控制,D6D5 = 00表示A組工作于基本I/O方式0,D6D5 = 01表示A組工作于應(yīng)答I/O方式1,D6D5 = 1x表示A組工作于雙向應(yīng)答I/O方式2(x取0或1)。D4 = 1表示A口工作于輸入方式,D4 = 0表示A口工作于輸出方式,D3 = 1表示上C口工作于輸入方式,D3 = 0表示上C口工作于輸出方式。D0D2用于B組的控制,各位含義如圖7.8所示。D2 = 0表示B組工作于基本I/O方式0,D2 = 1表示B組工作于應(yīng)答I/O方式1。D1 = 1表
13、示B口工作于輸入方式,D1 = 0表示B口工作于輸出方式,D0 = 1表示下C口工作于輸入方式,D0 = 0表示下C口工作于輸出方式。工作方式字應(yīng)輸入控制寄存器,按上面的連接方式,控制寄存器的地址為E003H。 所謂8255初始化,就是要根據(jù)工作要求確定8255工作方式選擇字,并輸入8255控制寄存器。 【例7.1】 按照8255與AT89C52的連接圖對(duì)8255初始化編程:(1)A、B、C口均為基本I/O輸出方式。(2)A口與上C口為基本I/O輸出方式,B口與下C口為基本I/O輸入方式。(3)A口為應(yīng)答I/O輸入方式,B口為應(yīng)答I/O輸出方式。 解:(1)A、B、C口均為基本I/O輸出方式。
14、#define COM8255 XBYTE0 xe003 /* 定義8255控制寄存器地址 */void init8255(void) COM8255=0 x80; /*工作方式選擇字送入8255控制寄存器,設(shè)置A、 B、C口為基本I/O輸出方式 */(2)A口與上C口為基本I/O輸出方式,B口與下C口為基本I/O輸入方式。(3)A口為應(yīng)答I/O輸入方式,B口為應(yīng)答I/O輸出方式。uchar xdata COM8255 _at_ 0 xe003; /*定義8255控制寄存器地址*/void init8255(void) COM8255=0 xb4; /*工作方式選擇字送入8255控制寄存器,設(shè)
15、置A、B、C口為基本I/O輸出方式 */ 2)C口置/復(fù)位控制字8255的C口可進(jìn)行位操作,即可對(duì)8255C口的每一位進(jìn)行置位或清0操作,該操作是通過設(shè)置C口置/復(fù)位字實(shí)現(xiàn)的。C口置/復(fù)位字共8位,各位含義如圖所示。 由于8255的工作方式選擇字與C口置/復(fù)位字共用一個(gè)控制寄存器,故特別設(shè)置D7為標(biāo)志位,D7=0表示控制字為C口置/復(fù)位字,D7 = 1表示控制字為8255工作方式選擇字。 5. 8255應(yīng)用舉例【例7.2】 按照?qǐng)D7.7 8255與AT89C52的連接圖,用8255C口的PC3引腳向外輸出連續(xù)的正方波信號(hào),頻率為500Hz。解:(1)軟件延時(shí)方式實(shí)現(xiàn)將C口設(shè)置為基本I/O輸出方
16、式,先從PC3引腳輸出高電平1,間隔1ms后向PC3輸出低電平0,再間隔1ms后向PC3輸出高電平1,周而復(fù)始,則可實(shí)現(xiàn)從PC3輸出頻率為500Hz正方波的目的。 (2)定時(shí)器1工作方式1中斷實(shí)現(xiàn)中斷實(shí)現(xiàn)有效提高CPU的工作效率。將C口設(shè)置為基本I/O輸出方式,12MHz晶振,定時(shí)器初值設(shè)為65536-1000即可,每次中斷PC3引腳翻轉(zhuǎn),周而復(fù)始,則可實(shí)現(xiàn)從PC3輸出頻率為500Hz正方波的目的。7.2.2 用74HC系列芯片擴(kuò)展I/O接口在80C51單片機(jī)應(yīng)用系統(tǒng)中,采用74HC系列的鎖存器和觸發(fā)器通過P0口也可以構(gòu)成各種類型的輸入/輸出接口,這種I/O口具有電路簡(jiǎn)單、成本低、配置靈活方便
17、等優(yōu)點(diǎn)。故在單片機(jī)應(yīng)用系統(tǒng)中也被廣泛采用。1. 用鎖存器擴(kuò)展輸出接口2. 用總線驅(qū)動(dòng)器擴(kuò)展輸入接口通過P0口擴(kuò)展輸入接口時(shí),總線驅(qū)動(dòng)器被視為一個(gè)外部RAM地址單元。使用MOVX A,DPTR指令從輸入口讀取數(shù)據(jù)。圖7.11是AT89C52通過74HC245擴(kuò)展輸入口的原理圖。 在單片機(jī)數(shù)據(jù)總線上用74HCXX系列芯片擴(kuò)展I/O接口,74HCXX芯片被視為80C51的片外RAM單元,用MOVX指令對(duì)其進(jìn)行讀寫。以80C51的信號(hào)對(duì)它們進(jìn)行讀寫控制時(shí)需要注意三點(diǎn):輸出鎖存。輸入三態(tài)。用RD、WR和地址線產(chǎn)生的有效選片信號(hào)(可能高、也可能低),作為數(shù)據(jù)輸入或輸出控制信號(hào)。 7.3 大容量閃速存儲(chǔ)器F
18、lash的擴(kuò)展本節(jié)以Super Flash 28SF040A存儲(chǔ)器為例,介紹閃速存儲(chǔ)器Flash存儲(chǔ)器在單片機(jī)系統(tǒng)中的使用方法。 7.3.1 Super Flash 28SF040A簡(jiǎn)介28SF040A是一個(gè)容量為512KB的CMOS快速閃存,可塊擦除、字節(jié)編程的Flash EEPROM,引腳與EPROM、EEPROM兼容。 2. 引腳排列及芯片特殊操作命令對(duì)28SF040A的讀操作非常簡(jiǎn)單,類似于SRAM,這里不再贅述。 28SF040A的其他特殊操作命令包括扇區(qū)擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字節(jié)編程、復(fù)位、讀ID號(hào)、軟件數(shù)據(jù)寫保護(hù)、軟件數(shù)據(jù)寫保護(hù)打開。
19、 7.3.2 89C52單片機(jī)和28SF040A接口方法28SF040A是大容量并行存儲(chǔ)器共計(jì)512KB,地址線A0A18共19根,而89C52全部尋址空間僅為64KB,地址線A0A15共16根,因此需要增加高位地址線訪問28SF040A。1. 使用單片機(jī)的I/O口控制高位地址線用P1口的P1.2P1.0控制28SF040A高位地址線 2. 使用單片機(jī)的擴(kuò)展I/O口控制高位地址線7.4 單片機(jī)系統(tǒng)中的鍵盤接口技術(shù)鍵盤是單片機(jī)應(yīng)用系統(tǒng)最常用的輸入設(shè)備,操作人員可以通過鍵盤向單片機(jī)系統(tǒng)輸入指令、地址和數(shù)據(jù),實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。 7.4.1 鍵盤工作原理及消抖鍵盤是一組按鍵的集合,鍵是一種常開型按鈕
20、開關(guān),平時(shí)(常態(tài))鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),按下鍵時(shí)它們才閉合(短路),如圖所示。鍵盤分編碼鍵盤和非編碼鍵盤,按鍵的識(shí)別由專用的硬件譯碼實(shí)現(xiàn),并能產(chǎn)生鍵編號(hào)或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等,而缺少這種鍵盤編碼電路要靠自編軟件識(shí)別的稱為非編碼鍵盤。在單片機(jī)組成的電路系統(tǒng)及智能化儀器中,用得更多的是非編碼鍵盤,本節(jié)只討論非編碼鍵盤。 1. 鍵盤操作特點(diǎn)在圖中,當(dāng)按鍵S未被按下(即斷開)時(shí),P1.1輸入為高電平,S閉合后,P1.1輸入為低電平。通常的按鍵所用的開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),電壓信號(hào)波形如圖(b)所示。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不
21、會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)馬上斷開,因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng)。 2. 按鍵抖動(dòng)的消除方法鍵抖動(dòng)會(huì)引起一次按鍵被誤讀多次,為了確保單片機(jī)對(duì)鍵的一次閉合僅做一次處理,必須去除鍵抖動(dòng),在鍵閉合穩(wěn)定時(shí)取鍵狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再進(jìn)行處理。按鍵的抖動(dòng),可用硬件或軟件兩種方法消除。通常在鍵數(shù)較少時(shí),可用硬件方法消除鍵抖動(dòng)。RS觸發(fā)器為常用的硬件去抖電路。單片機(jī)系統(tǒng)中常用軟件法。 7.4.2 獨(dú)立式鍵盤與工作原理獨(dú)立式按鍵是各按鍵互相獨(dú)立地接通一條輸入數(shù)據(jù)線,各按鍵的狀態(tài)互不影響,如圖7.16所示,這是最簡(jiǎn)單的鍵盤結(jié)構(gòu),該電路采用了中斷方式讀取鍵值。由于89C51系列單片機(jī)
22、P1口在內(nèi)部已經(jīng)有上拉電阻,根據(jù)使用經(jīng)驗(yàn)圖7.16中的3個(gè)外部上拉電阻可省掉。 當(dāng)沒有鍵按下時(shí),與之相連的輸入口線為1(高電平),與門輸出為高電平。當(dāng)任何一個(gè)鍵按下時(shí),與之相連的輸入口線被置0(低電平),與門輸出由高變低,產(chǎn)生外中斷條件,在中斷服務(wù)程序中讀取鍵盤值?!纠?.4】 按照?qǐng)D7.16,使用外中斷,編寫?yīng)毩⑹桨存I程序。7.4.3 行列式鍵盤與工作原理為了減少鍵盤與單片機(jī)接口時(shí)所占用I/O口線的數(shù)目,在鍵數(shù)較多時(shí),通常都將鍵盤排列成行列矩陣式,每一水平線(行線)與垂直線(列線)的交叉處不相通,是通過一個(gè)按鍵連通的。利用這種行列矩陣結(jié)構(gòu)只需N個(gè)行線和M個(gè)列線即可組成M N個(gè)按鍵的鍵盤。 圖
23、7.17是44(16鍵)行列式鍵盤電路。由于89C52單片機(jī)P1口在內(nèi)部已經(jīng)有上拉電阻,根據(jù)使用經(jīng)驗(yàn)外部上拉電阻可以省掉。 在這種行列矩陣式非編碼鍵盤的單片機(jī)系統(tǒng)中,對(duì)鍵的識(shí)別通常采用兩步掃描判別法。具體方法描述見主教材252頁。7.4.4 鍵盤掃描的控制程序單片機(jī)對(duì)按鍵的控制通常有以下三種方式:(1)程序控制掃描方式,即利用程序連續(xù)地對(duì)鍵盤進(jìn)行掃描。(2)定時(shí)掃描方式,即單片機(jī)定時(shí)地對(duì)鍵盤進(jìn)行掃描。(3)中斷掃描方式,即鍵的按下引起中斷后,單片機(jī)對(duì)鍵盤進(jìn)行掃描?!纠?.5】 按照?qǐng)D7.17的電路,使用兩步掃描法,編寫的鍵掃描程序。有鍵按下,掃描函數(shù)返回值為鍵值,若無鍵按下,返回值為0 xff
24、。要求每10ms定時(shí)檢測(cè)一次按鍵,使用定時(shí)器中斷實(shí)現(xiàn)定時(shí)。按鍵信息由printf輸出到串口。7.5 單片機(jī)系統(tǒng)中的LED數(shù)碼顯示器7.5.1 LED顯示器的結(jié)構(gòu)與原理單片機(jī)系統(tǒng)中通常使用8段LED數(shù)碼顯示器,8段LED顯示器由8個(gè)發(fā)光二極管組成。其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,通過不同的組合可用來顯示各種數(shù)字,包括AF在內(nèi)的部分英文字母和小數(shù)點(diǎn)“”等字樣。 LED顯示器的顯示方法有靜態(tài)顯示與動(dòng)態(tài)顯示兩種,下面分別予以介紹。7.5.2 LED靜態(tài)顯示接口數(shù)碼管工作在靜態(tài)顯示方式時(shí),共陰極(共陽極)的公共端COM連接在一起接地(
25、電源)。每位的段選線與一個(gè)8位并行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。 圖7.19是通過串行口擴(kuò)展8位LED顯示器靜態(tài)驅(qū)動(dòng)電路,在TXD(P3.1)運(yùn)行時(shí)鐘信號(hào),將顯示數(shù)據(jù)由RXD(P3.0)口串行輸出,串行口工作在移位寄存器方式(方式0)。顯然,要顯示某字符,首先要把這個(gè)字符轉(zhuǎn)換成相應(yīng)的字形碼,然后再通過串行口發(fā)送到74HC164。74HC164把串行口收到的數(shù)變?yōu)椴⑿休敵黾拥綌?shù)碼管上。 先建立一個(gè)字形碼表,以十六進(jìn)制數(shù)的次序存放它們的相應(yīng)字形碼,共陰極字形碼表如主教材257頁表7.5所示。 如要顯示字符6,查表可知6的字形碼為0 x7d,把0 x7d送到
26、8位移位寄存器74HC164即可。顯然,要顯示字符09、AF,其高4位為全0,而低4位為十六進(jìn)制數(shù)。如果要顯示的數(shù)高半字節(jié)不是0,則要通過程序加以變換。 【例7.6】 按照?qǐng)D7.19顯示電路編寫顯示驅(qū)動(dòng)程序。7.5.3 LED動(dòng)態(tài)掃描顯示接口靜態(tài)LED顯示法有著顯示亮度大,軟件較為簡(jiǎn)單的優(yōu)點(diǎn),但硬件上使用芯片多,每個(gè)LED顯示器需要一個(gè)驅(qū)動(dòng)電路。 LED動(dòng)態(tài)顯示的基本做法在于分時(shí)輪流選通數(shù)碼管的公共端,使得各數(shù)碼管輪流導(dǎo)通,在選通相應(yīng)LED后,即在顯示字段上得到顯示字形碼。這種方式不但能提高數(shù)碼管的發(fā)光效率,而且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,從而大大簡(jiǎn)化了硬件線路。動(dòng)態(tài)掃描顯示接口是單片
27、機(jī)系統(tǒng)中應(yīng)用最為廣泛的一種顯示方式。其接口電路是把所有顯示器的8個(gè)筆劃段adp同名端并聯(lián)在起,而每一個(gè)顯示器的公共極COM是各自獨(dú)立地受I/O線控制。 動(dòng)態(tài)掃描是指采用分時(shí)的方法,輪流控制各個(gè)顯示器的COM端,使各個(gè)顯示器輪流點(diǎn)亮。 在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。 圖7.20是一個(gè)典型的動(dòng)態(tài)掃描8位LED顯示接口電路。該電路由74HC245提供段adp的驅(qū)動(dòng),74LS145提供位COM1COM8的驅(qū)動(dòng)。請(qǐng)注
28、意89C52的P0.0P0.7每個(gè)口線上有1個(gè)10k的上拉電阻,圖中未示出。數(shù)碼管是8段共陰極LED顯示器,所以發(fā)光時(shí)字形驅(qū)動(dòng)輸出1有效,位驅(qū)動(dòng)輸出0有效。但注意位驅(qū)動(dòng)是74LS145的譯碼輸出,如果要顯示第5位(數(shù)碼管序號(hào)為07)數(shù)碼管,74LS145的輸入端應(yīng)為DCBA=0101。【例7.7】 按照?qǐng)D7.20電路,編寫在8個(gè)數(shù)碼管依次顯示0, 1, , 7的程序。7.6 單片機(jī)系統(tǒng)中的LCD液晶顯示器LCD液晶顯示器是一種被動(dòng)式的顯示器,與LED不同,液晶本身并不發(fā)光,而是利用液晶在電壓作用下,能改變光線通過方向的特性,而達(dá)到顯示白底黑字或黑底白字的目的。液晶顯示器具有體積小、功耗低,抗干
29、擾能力強(qiáng)等優(yōu)點(diǎn),特別適用于小型手持式設(shè)備。這幾年隨著價(jià)格的下降而得到廣泛的應(yīng)用。 常見的液晶顯示器有七段式LCD顯示器、點(diǎn)陣式字符型LCD 顯示器和點(diǎn)陣式圖形LCD 顯示器。 本節(jié)主要介紹點(diǎn)陣式字符型LCD 顯示器以及應(yīng)用。 7.6.1 字符型液晶顯示模塊的組成和基本特點(diǎn)字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶顯示模塊。分4位和8位數(shù)據(jù)傳輸方式。提供57點(diǎn)陣光標(biāo)和510點(diǎn)陣光標(biāo)的顯示模式。提供內(nèi)部上電自動(dòng)復(fù)位電路,當(dāng)外加電源電壓超過+4.5V時(shí),自動(dòng)對(duì)模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。 字符型液晶顯示模塊組件內(nèi)部主要由LCD 顯示屏(LCD PANEL)
30、、控制器(controller)、驅(qū)動(dòng)器(driver)、少量阻、容元件,結(jié)構(gòu)件等裝配在PCB板上構(gòu)成。如圖7.21所示。字符型液晶顯示模塊目前在國(guó)際上已經(jīng)規(guī)范化,無論顯示屏規(guī)格如何變化,其電特性和接口形式都是統(tǒng)一的。因此只要設(shè)計(jì)出一種型號(hào)的接口電路,在指令設(shè)置上稍加改動(dòng)即可使用各種規(guī)格的字符型液晶顯示模塊。下面介紹點(diǎn)陣式字符型LCD 顯示器LCD1602模塊以及應(yīng)用。7.6.2 LCD1602模塊接口引腳功能LCD1602共有16個(gè)引腳,見主教材261頁表7.6。管腳進(jìn)一步說明如下:第1腳:VSS為地電源;第2腳:VDD接5V正電源;第3腳:VO為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱
31、,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度;第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器;第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù);第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令;第714腳:DB0DB7為8位雙向數(shù)據(jù)線;第15、16兩腳用于帶背光模塊,不帶背光的模塊這兩個(gè)管腳懸空不接。7.6.3 LCD1602模塊的操作命令1. 1
32、602LCD 各寄存器介紹控制器主要由指令寄存器IR、數(shù)據(jù)寄存器DR、忙標(biāo)志BF、地址計(jì)數(shù)器AC、DDRAM、CGROM、CGRAM以及時(shí)序發(fā)生電路組成。寄存器介紹見主教材262-263頁。 指令寄存器(IR)和數(shù)據(jù)寄存器(DR) 本系列模塊內(nèi)部具有兩個(gè)8位寄存器:指令寄存器(IR)和數(shù)據(jù)寄存器(DR)。用戶可以通過RS和R/W輸入信號(hào)的組合選擇指定的寄存器,進(jìn)行相應(yīng)的操作。 忙標(biāo)志位BF 忙標(biāo)志BF=1時(shí),表明模塊正在進(jìn)行內(nèi)部操作,此時(shí)不接受任何外部指令和數(shù)據(jù)。當(dāng)RS=0、R/W=1以及E為高電平時(shí),BF輸出到DB7。每次操作之前最好先進(jìn)行狀態(tài)字檢測(cè),只有在確認(rèn)BF=0之后,MPU才能訪問模
33、塊; 地址計(jì)數(shù)器(AC) AC地址計(jì)數(shù)器是DDRAM或者CGRAM的地址指針。隨著IR中指令碼的寫入,指令碼中攜帶的地址信息自動(dòng)送入AC中,并做出AC作為DDRAM的地址指針還是CGRAM的地址指針的選擇。 顯示數(shù)據(jù)寄存器(DDRAM) DDRAM存儲(chǔ)顯示字符的字符碼,其容量的大小決定著模塊最多可顯示的字符數(shù)目??刂破鲀?nèi)部有80字節(jié)的DDRAM緩沖區(qū),DDRAM地址與LCD顯示屏上的顯示位置的對(duì)應(yīng)關(guān)系如圖7.22所示。 字符發(fā)生器ROM 在CGROM中,模塊已經(jīng)以8位二進(jìn)制數(shù)的形式,生成了58點(diǎn)陣的字符字模組字符字模(一個(gè)字符對(duì)應(yīng)一組字模)。字符字模是與顯示字符點(diǎn)陣相對(duì)應(yīng)的88矩陣位圖數(shù)據(jù)(與
34、點(diǎn)陣行相對(duì)應(yīng)的矩陣行的高三位為“0”),同時(shí)每一組字符字模都有一個(gè)由其在CGROM中存放地址的高八位數(shù)據(jù)組成的字符碼對(duì)應(yīng)。 字符碼地址范圍為00HFFH,其中00H07H字符碼與用戶在CGRAM中生成的自定義圖形字符的字模組相對(duì)應(yīng)。 字符發(fā)生器RAM 在CGRAM中,用戶可以生成自定義圖形字符的字模組??梢陨?8點(diǎn)陣的字符字模8組,相對(duì)應(yīng)的字符碼從CGROM的00H0FFH范圍內(nèi)選擇。2. 1602LCD指令說明模塊向用戶提供了11條指令,大致可以分為四大類: 模塊功能設(shè)置,諸如:顯示格式、數(shù)據(jù)長(zhǎng)度等; 設(shè)置內(nèi)部RAM地址; 完成內(nèi)部RAM數(shù)據(jù)傳送; 完成其他功能。說明詳細(xì)見主教材264-2
35、66頁! 7.6.4 LCD1602與89C52單片機(jī)接口與編程LCD1602適配M6800系列MPU的操作時(shí)序,可直接與該系列MPU連接。由于80C51系列單片機(jī)的操作時(shí)序與M6800系列不同,可采用80C51的I/O模擬LCD1602的操作時(shí)序。其連接方法如圖7.23所示。圖7.23采用圖7. 23中接口電路將占用很多80C51寶貴的I/O口資源,將80C51的讀寫信號(hào)經(jīng)門電路變換后,可直接將LCD1602連到80C51的三總線上。如圖7. 24所示,是采用AT89C52、74HC00和74HC573組成的接口電路。圖中連接方法LCD1602的寄存器讀寫地址如下: uchar xdata
36、Lcd1602CmdPort _at_ 0 x8000;/寫IR寄存器,命令uchar xdata Lcd1602StatusPort _at_ 0 x8001;/讀IR寄存器,狀態(tài)uchar xdata Lcd1602WdataPort _at_ 0 x8002;/寫DR寄存器uchar xdata Lcd1602RdataPort _at_ 0 x8003;/讀DR寄存器【例7.8】 如圖7. 24所示電路,編寫程序順序?qū)崿F(xiàn):(1)LCD1602初始化;(2)在LCD1602顯示W(wǎng)elcome to scut!- By zhangqin;(3)然后在第2行循環(huán)顯示ASCII可打印字符。 7
37、.7 日歷時(shí)鐘接口芯片及應(yīng)用7.7.1 并行接口日歷時(shí)鐘芯片DS12887DS12887是內(nèi)置鋰電池的實(shí)時(shí)日歷時(shí)鐘芯片,它可以產(chǎn)生秒、分、時(shí)、星期、日、月及年等7個(gè)時(shí)標(biāo),并有供用戶使用的114B帶掉電保護(hù)的RAM,可以通過編程讀取和修改這些時(shí)標(biāo),也可以編程產(chǎn)生定時(shí)間隔時(shí)間中斷,使用十分方便。1. DS12887芯片的引腳2. 片內(nèi)結(jié)構(gòu)和寄存器DS12887的內(nèi)部有10B時(shí)標(biāo)寄存器、4B狀態(tài)寄存器、114B帶掉電保護(hù)的RAM。其地址分配如圖7.26所示。 1)時(shí)標(biāo)寄存器 10個(gè)時(shí)標(biāo)寄存器可用二進(jìn)制表示,也可用BCD碼表示。其功能和數(shù)值范圍如表7.7所示。2)寄存器0AH寄存器0AH的格式如圖7.
38、27所示。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新周期進(jìn)行標(biāo)志位,UIP = 1時(shí),芯片正處于或?qū)㈤_始新周期,此期間不允許讀寫時(shí)標(biāo)寄存器。DV2DV0:為010時(shí)晶振工作,其他組合時(shí)晶振停止。 RS3RS0:中斷周期時(shí)間和SQW輸出頻率選擇位。 3)寄存器0BH寄存器0BH中的格式如圖7.28所示。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SETPIEAIEUIESQWEDM24/12DSESET:為1時(shí)禁止更新。為0時(shí)正常。 PIE:為1時(shí)周期中斷允許。AIE:為1時(shí)警報(bào)中斷允許。UIE
39、:為1時(shí)更新結(jié)束中斷允許。SQWE:為1時(shí)方波輸出允許。DM:為0時(shí)時(shí)間為BCD碼,為1時(shí)為二進(jìn)制。24/12:為1時(shí)是24小時(shí)進(jìn)制。為0時(shí)是12小時(shí)進(jìn)制。DSE:置0。 4)寄存器0CH寄存器0CH的格式如圖7.29所示。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0IRQFPFAFUF0000IRQF:中斷申請(qǐng)標(biāo)志。PF:周期中斷標(biāo)志。AF:警報(bào)中斷標(biāo)志。UF:更新結(jié)束中斷標(biāo)志。5)寄存器0DH寄存器0DH格式如圖7.30所示。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0VRT0000000VRT:為0時(shí)表示內(nèi)部鋰電池耗盡。 3. DS12887與89
40、C52的接口電路圖7.31是89C52與DS12887的接口電路,DS12887的片選信號(hào)接P2.4,即P2.4 = 0時(shí),選中DS12887,設(shè)片內(nèi)時(shí)標(biāo)寄存器和掉電RAM的地址范圍是:0E400H0E47FH。時(shí)標(biāo)寄存器設(shè)置的步驟為:(1)寄存器B的SET位置1,芯片停止工作。(2)時(shí)標(biāo)寄存器置初值。秒、分、時(shí)、星期、年、月、日時(shí)標(biāo)寄存器的地址順序?yàn)椋篍400H、E402H、E404H、E406H、E407H、E408H、E409H。(3)讀寄存器C,以消除已有的中斷標(biāo)志。(4)讀寄存器D,使片內(nèi)寄存器和RAM數(shù)據(jù)有效。(5)寄存器B的SET位清0,啟動(dòng)DS12887開始工作。7.7.2 串
41、行接口日歷時(shí)鐘芯片DS1302串行接口的日歷時(shí)鐘芯片以其使用簡(jiǎn)單、接口容易、與微機(jī)連線少等特點(diǎn),在單片機(jī)應(yīng)用系統(tǒng),尤其是手持式信息設(shè)備中得到廣泛應(yīng)用。下面介紹在單片機(jī)應(yīng)用系統(tǒng)中廣為使用的串行接口實(shí)時(shí)時(shí)鐘芯片DSl302的特點(diǎn)和使用方法。1. DS1302特性和引腳說明DSl302內(nèi)部具有實(shí)時(shí)時(shí)鐘、日歷和用戶可用RAM,通過一個(gè)簡(jiǎn)單的串行接口與微機(jī)通信,可根據(jù)月份和閏年的情況自動(dòng)調(diào)整月份的結(jié)束日期,時(shí)鐘可由用戶決定是以24小時(shí)制式或12小時(shí)制式工作。芯片主要特性實(shí)時(shí)時(shí)鐘包括秒、分、小時(shí)、日、月、星期和年等信息。31B靜態(tài)RAM可供用戶使用。簡(jiǎn)單的3線串行I/O接口。2.5V5.5V的電壓工作范圍
42、。TTL/CMOS兼容(Vcc5V時(shí))。在2.5V工作時(shí),芯片電流小于300nA。8腳DIP或SOIC封裝??蛇x的涓流充電方式。工作電源和備份電源雙引腳輸入。備份電源可由超級(jí)電容(1F)替代。2. 基本控制操作1)命令字節(jié)命令字節(jié)的格式如圖所示 每次數(shù)據(jù)的傳輸都是由命令字節(jié)開始的,這里的最高有效位必須是1。D6是RAM(為1)或時(shí)鐘/日歷(為0)的標(biāo)識(shí)位。D1D5定義片內(nèi)寄存器的地址。最低有效位(D0)定義了寫操作(為0時(shí))或讀操作(為1時(shí))。命令字節(jié)的傳輸始終從最低有效位開始。2)數(shù)據(jù)的寫入或讀對(duì)芯片的所有寫入或讀出操作都是由命令字節(jié)為引導(dǎo)的。每次僅寫入或讀出1B數(shù)據(jù)的操作稱為單字節(jié)操作。每
43、次對(duì)時(shí)鐘/日歷的8B或31個(gè)RAM字節(jié)進(jìn)行全體寫入或讀出操作,稱其為多字節(jié)突發(fā)模式操作。 圖7.35 多字節(jié)突發(fā)模式操作格式圖7.34 單字節(jié)傳送操作格式 3)時(shí)鐘/日歷寄存器地址命令格式及功能定義訪問DS1302片內(nèi)各寄存器地址命令格式見主教材277頁表7.9所示。訪問DS1302片內(nèi)各寄存器數(shù)據(jù)格式見主教材277頁表7.10所示。時(shí)鐘/日歷寄存器共有秒、分、時(shí)、日、月、星期和年共7個(gè)寄存器。秒寄存器的最高位CH標(biāo)志位是時(shí)鐘的暫停標(biāo)志。當(dāng)這一位被置為邏輯1時(shí),時(shí)鐘振蕩電路停振,且DS1302進(jìn)入低功耗空閑狀態(tài),這時(shí)芯片消耗電流將小于l00nA。當(dāng)這一位被置為邏輯0時(shí),時(shí)鐘將工作。 控制寄存器
44、即寫保護(hù)寄存器,該寄存器的最高位是芯片的寫保護(hù)位,D0D6應(yīng)強(qiáng)迫寫0,且讀出時(shí)始終為0。對(duì)任何片內(nèi)時(shí)鐘/日歷寄存器或RAM,在寫操作之前,寫保護(hù)位必須是0,否則將不可寫入。因此,通過置寫保護(hù)位,可提高數(shù)據(jù)的安全性。涓流充電寄存器控制著DSl302的涓流充電特性。寄存器的D4D7決定是否具備充電性能,僅在1010編碼的條件下才具備充電性能,其他編碼組合不允許充電。D2和D3可以選擇在VCC2腳和VCC1腳之間串聯(lián)一個(gè)二極管還是兩個(gè)二極管。如果編碼是01,選擇一個(gè)二極管;如果編碼是10,選擇兩個(gè)二極管;其他編碼將不允許充電。該寄存器的D0和D1選擇與二極管相串聯(lián)的電阻值,其中編碼01為2k,10為
45、4k,11為8k,而00將不允許進(jìn)行充電。因此根據(jù)涓流充電寄存器的不同編程,可得到不同的充電電流。其充電電流具體計(jì)算公式如下: 式中,5.0V為VCC2腳所接入的工作電壓,VD為二極管正向壓降0.7V, R為寄存器0和1位編碼決定的電阻值,VE為VCC1腳所接入的電池電壓。 3. DS1302與89C52的接口電路圖7.36是89C52與DS1302的接口電路,DSl302的3條接口線可接到單片機(jī)的任何通用雙向I/O口上。圖7.36 89C52與DS1302的接口電路【例7.10】 編寫圖7.36所示的時(shí)鐘電路DS1302時(shí)鐘芯片驅(qū)動(dòng)程序。并在主程序中每隔1秒讀取時(shí)鐘信息送到串口輸出。在P1.
46、7增加一個(gè)按鈕,當(dāng)按鈕按下時(shí)間超過1S時(shí),時(shí)鐘被初始化為08年1月1日0點(diǎn)0分0秒周二。 7.8 單片機(jī)數(shù)據(jù)采集系統(tǒng)在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究的各行業(yè)中,常常利用PC或工控機(jī)對(duì)各種數(shù)據(jù)進(jìn)行采集如液位、溫度、壓力、頻率等物理量?,F(xiàn)實(shí)世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化為數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器)。A/D轉(zhuǎn)換器是單片機(jī)數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,按照和單片機(jī)系統(tǒng)的接口形式,可分為并行A/D轉(zhuǎn)換器和串行A/D轉(zhuǎn)換器。 7.8.1 并行A/D轉(zhuǎn)換器ADC08091. ADC0809的特性與引腳ADC0809是單片CMOS器件,是8位模/數(shù)轉(zhuǎn)換器,帶有使能控制端,可以和微機(jī)直接接口。片
47、內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對(duì)8路05V的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換。 ADC0809邏輯框圖如圖7.37所示。器件的核心部分是8位A / D轉(zhuǎn)換器,它由比較器、逐次逼近寄存器、D / A轉(zhuǎn)換器及控制和定時(shí)5部分組成。輸出具有TTL三態(tài)鎖存緩沖器,可直接連到單片機(jī)數(shù)據(jù)總線上。 八路模擬開關(guān)用于輸入IN0-IN7上八路模擬電壓。逐次逼近寄存器和比較器SAR在A/D轉(zhuǎn)換過程中存放暫態(tài)數(shù)字量,在A/D轉(zhuǎn)換完成后存放數(shù)字量,并可送到“三態(tài)輸出鎖存器”鎖存。 三態(tài)輸出鎖存器和控制電路 三態(tài)輸出鎖存器和控制電路用于鎖存A/D轉(zhuǎn)換完成后的數(shù)字量。CPU使OE引腳變成高電平就可以從“三態(tài)輸出鎖存器
48、”取走A/D轉(zhuǎn)換后的數(shù)字量??刂齐娐酚糜诳刂?ADC0809 的操作過程。 ADC0809引腳圖如圖7.38所示。ADC0809采用雙列直插式封裝, 共有28條引腳 IN0-IN7(8條):IN0-IN7為八路模擬電壓輸入線,用于輸入被轉(zhuǎn)換的模擬電壓。地址輸入和控制(4條),ALE為地址鎖存允許輸入線,高電平有效。 數(shù)字量輸出及控制線(11 條) 電源線及其它(5條) 在啟動(dòng)端(START)加啟動(dòng)脈沖(正脈沖),開始轉(zhuǎn)換。但是EOC信號(hào)是在START的下降沿10s后才變成無效的低電平。這就要求查詢EOC要在10s后才能開始查詢。轉(zhuǎn)換結(jié)束后,由OE信號(hào)產(chǎn)生輸出結(jié)果。如將啟動(dòng)端(START)與轉(zhuǎn)換
49、結(jié)束端(EOC)直接相連,轉(zhuǎn)換將是連續(xù)的,在用這種轉(zhuǎn)換方式時(shí),開始應(yīng)在外部加啟動(dòng)脈沖。2. ADC0809與89C52的接口電路ADC0809與單片機(jī)有多種連接方式,圖7.39是89C52與ADC0809的接口電路。該電路通過調(diào)節(jié)滑線變阻器,改變ADC0809的輸入電壓?!纠?.11】按圖7.39所示電路,設(shè)計(jì)PWM輸出控制電路,根據(jù)ADC0809 IN0的輸入調(diào)制PWM占空比。PWM從P3.7口輸出。7.8.2 串行A/D轉(zhuǎn)換器TLC2543 1. TLC2543的特性與引腳TLC2543是TI公司的TLC2543 12位串行A/D轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。由于是串
50、行輸入結(jié)構(gòu),能夠節(jié)省80C51系列單片機(jī)的I/O資源,而且價(jià)格適中。 2. TLC2543的工作過程TLC2543的工作過程分為兩個(gè)周期:I/O 周期和實(shí)際轉(zhuǎn)換周期。1)I/O周期 I/O周期由外部提供的I/O CLOCK定義,延續(xù)8、12或16個(gè)時(shí)鐘周期,決定于選定的輸出數(shù)據(jù)長(zhǎng)度。器件進(jìn)入I/O周期后同時(shí)進(jìn)行兩種操作。 (1)在I/O CLOCK的前8個(gè)脈沖的上升沿,以MSB前導(dǎo)方式從DATA INPUT端輸入8位數(shù)據(jù)流到輸入寄存器。其中前4位為模擬通道地址,控制14通道模擬多路器從11個(gè)模擬輸入和3個(gè)內(nèi)部自測(cè)電壓中,選通一路送到采樣保持電路,該電路從第4個(gè)I/O CLOCK脈沖的下降沿開始
51、,對(duì)所選信號(hào)進(jìn)行采樣,直到最后一個(gè)I/O CLOCK脈沖的下降沿。I/O周期的時(shí)鐘脈沖個(gè)數(shù)與輸出數(shù)據(jù)長(zhǎng)度(位數(shù))有關(guān),輸出數(shù)據(jù)長(zhǎng)度由輸入數(shù)據(jù)的D3、D2選擇為8、12或16位。當(dāng)工作于12或 16位時(shí),在前8個(gè)時(shí)鐘脈沖之后,DATA INPUT無效。 2)轉(zhuǎn)換周期 在I/O周期的最后一個(gè)I/O CLOCK脈沖下降沿之后,EOC變低,采樣值保持不變,轉(zhuǎn)換周期開始,片內(nèi)轉(zhuǎn)換器對(duì)采樣值進(jìn)行逐次逼近式A/D轉(zhuǎn)換,其工作由與I/O CLOCK同步的內(nèi)部時(shí)鐘控制。轉(zhuǎn)換完成后 EOC變高,轉(zhuǎn)換結(jié)果鎖存在輸出數(shù)據(jù)寄存器中,待下一個(gè)I/O周期輸出。I/O周期和轉(zhuǎn)換周期交替進(jìn)行,從而可以減小外部的數(shù)字噪聲對(duì)轉(zhuǎn)換精
52、度的影響。TLC2543的工作時(shí)序如圖7.41所示。3. TLC2543與89C52的接口電路圖7.42是89C52與TLC2543的接口電路,TLC2543的5條接口線可接到單片機(jī)的任何通用雙向I/O口上?!纠?.12】 按圖7.42所示電路,編寫采集11個(gè)輸入通道模擬輸入的C程序。7.9 I2C 總線接口電路EEPROM及應(yīng)用 I2C總線,是Inter Integrated Circuit BUS的縮寫,即內(nèi)部集成電路總線。I2C總線采用時(shí)鐘(SCL)和數(shù)據(jù)(SDA)兩根線進(jìn)行數(shù)據(jù)傳輸,接口十分簡(jiǎn)單。本文將以I2C 總線串行EEPROM為例進(jìn)行介紹。 7.9.1 串行EEPROM 電路CA
53、T24WCXX概述CAT24WCXX系列EEPROM提供標(biāo)準(zhǔn)的8腳DIP封裝和8腳表面安裝的SOIC封裝。CAT24WC01/02/04/08/16/32/64、CAT24WC128、CAT24WC256引腳排列圖分別為如圖7.43(a)、(b)、(c)所示,其引腳功能描述如表7.11所示。表7.11 引腳功能描述引 腳 名 稱功 能A0、A1、A2器件地址選擇SDA串行數(shù)據(jù)/地址SCL串行時(shí)鐘WP寫保護(hù)VCC1.8V6.0VVSS地7.9.2 串行EEPROM芯片的操作1. 器件尋址1)從器件地址位主器件通過發(fā)送一個(gè)起始信號(hào)啟動(dòng)發(fā)送過程,然后發(fā)送它所要尋址的從器件的地址。8位從器件地址的高4
54、位D7D4固定為1010(如圖7.45所示),接下來的3位D3D1(A2、A1、A0)為器件的片選地址位,或作為存儲(chǔ)器頁地址選擇位,用來定義哪個(gè)器件以及器件的哪個(gè)部分被主器件訪問,最多可以連接8個(gè)CAT24WC01/02、4個(gè)CAT24WC04、2個(gè)CAT24WC08、8個(gè)CAT24WC32/64、4個(gè)CAT24WC256器件到同一總線上,這些位必須與硬連線輸入腳A2、A1、A0相對(duì)應(yīng)。 2)應(yīng)答信號(hào)應(yīng)答時(shí)序圖如圖7.44所示。I2C總線數(shù)據(jù)傳送時(shí),每成功地傳送1B數(shù)據(jù)后,接收器都必須產(chǎn)生一個(gè)應(yīng)答信號(hào)。應(yīng)答的器件在第9個(gè)時(shí)鐘周期時(shí)將SDA線拉低,表示其已收到1B數(shù)據(jù)。CAT24WCXX在接收到
55、起始信號(hào)和從器件地址之后響應(yīng)一個(gè)應(yīng)答信號(hào),如果器件已選擇了寫操作,則在每接收1B之后響應(yīng)一個(gè)應(yīng)答信號(hào)。 2. 寫操作方式1)字節(jié)寫圖7.45 CAT24WC01/02/04/08/16字節(jié)寫時(shí)序圖 2)頁寫如圖7.46所示為CAT24WCXX頁寫時(shí)序圖。在頁寫模式下,CAT24WC01/02/04/08/16可一次寫入8/16/16/16/16B的數(shù)據(jù)。頁寫操作的啟動(dòng)和字節(jié)寫一樣,不同的是在于傳送了1B數(shù)據(jù)后并不產(chǎn)生停止信號(hào)。 圖7.46 CAT24WC01/02/04/08/16頁寫時(shí)序圖1)立即地址讀取如圖7.47所示為CAT24WCXX立即地址讀時(shí)序圖。CAT24WCXX的地址計(jì)數(shù)器內(nèi)容
56、為最后操作字節(jié)的地址加1。也就是說,如果上次讀/寫的操作地址為N,則立即讀的地址從地址N+1開始。 2)隨機(jī)地址讀取如圖7.48所示為CAT24WCXX隨機(jī)地址讀時(shí)序圖。隨機(jī)讀操作允許主器件對(duì)寄存器的任意字節(jié)進(jìn)行讀操作,主器件首先通過發(fā)送起始信號(hào)、從器件地址和它想讀取的字節(jié)數(shù)據(jù)的地址執(zhí)行一個(gè)偽寫操作。在CAT24WCXX應(yīng)答之后,主器件重新發(fā)送起始信號(hào)和從器件地址,此時(shí)R/W位置1, CAT24WCXX響應(yīng)并發(fā)送應(yīng)答信號(hào),然后輸出所要求的一個(gè)字節(jié)的數(shù)據(jù),主器件不發(fā)送應(yīng)答信號(hào)但產(chǎn)生一個(gè)停止信號(hào)。3)順序地址讀取如圖7.49為CAT24WCXX順序地址讀時(shí)序圖。順序讀操作可通過立即讀或選擇性讀操作
57、啟動(dòng)。在CAT24WCXX發(fā)送完1B數(shù)據(jù)后,主器件產(chǎn)生一個(gè)應(yīng)答信號(hào)來響應(yīng),告知CAT24WCXX主器件要求更多的數(shù)據(jù),對(duì)應(yīng)每個(gè)主機(jī)產(chǎn)生的應(yīng)答信號(hào)CAT24WCXX將發(fā)送1B數(shù)據(jù)。當(dāng)主器件不發(fā)送應(yīng)答信號(hào)而發(fā)送停止位時(shí)結(jié)束此操作。從CAT24WCXX輸出的數(shù)據(jù)按順序由N到N + 1輸出。 7.9.3 串行EEPROM芯片與89C52的接口與編程圖7.50是89C52與串行EEPROM CAT24WC16的接口電路,CAT24WC16的3條接口線可接到單片機(jī)的任何通用雙向I/O口上。 7.10 RS-232C和 RS-485/422通信接口單片機(jī)應(yīng)用系統(tǒng)與PC機(jī)之間的通信主要是采用異步串行通信方式,
58、通過RS-232C或RS-485/422標(biāo)準(zhǔn)接口實(shí)現(xiàn)。1)接口的信號(hào)內(nèi)容 實(shí)際上RS-232-C的25條引線中有許多是很少使用的,在計(jì)算機(jī)與終端的通信中一般只使用39條引線。目前COM1 和COM2使用的是9針D形連接器DB9,其引線的信號(hào)內(nèi)容如表7.12所示。9針串口(DB9)25針串口(DB25)針號(hào)功能說明縮寫針號(hào)功能說明縮寫1數(shù)據(jù)載波檢測(cè)DCD8數(shù)據(jù)載波檢測(cè)DCD2接收數(shù)據(jù)RXD3接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD2發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備DTR20數(shù)據(jù)終端準(zhǔn)備DTR5信號(hào)地GND7信號(hào)地GND6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR6數(shù)據(jù)準(zhǔn)備好DSR7請(qǐng)求發(fā)送RTS4請(qǐng)求發(fā)送RTS8清除發(fā)送CTS5清除發(fā)送CTS9振鈴指示DELL22振鈴指示DELL2)接口的電氣特性在RS-232C中任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系。即邏輯1,-5V-15V;邏輯0,+5V+15V。噪聲容限為2V,即要求接收器能識(shí)別低至+3V的信號(hào)作為邏輯0,高到-3V的信號(hào)作為邏輯1。3)接口的物理結(jié)構(gòu)RS-232C接口連接器一般使用型號(hào)為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端。一些設(shè)備與PC機(jī)連接的RS-232C接口,因?yàn)椴皇褂脤?duì)方的傳送控制信號(hào),只需3條接口線,即發(fā)送數(shù)據(jù)、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作總結(jié)之電大幼兒園實(shí)習(xí)總結(jié)
- 電工電子技術(shù)(第3版) 課件 4.2.1 三相異步電機(jī)啟動(dòng)控制電路
- 2024年住房金融項(xiàng)目資金需求報(bào)告
- 采購(gòu)過程合規(guī)性與紀(jì)律要求制度
- 《信息傳輸基礎(chǔ)》課件
- 《項(xiàng)目溝通培訓(xùn)》課件
- 公園有多寬課件
- 新年工作計(jì)劃(17篇)
- 感恩演講稿范文匯編(33篇)
- 幼兒園食品安全工作總結(jié)15篇
- 體育心理學(xué)(第三版)PPT全套教學(xué)課件
- 初中生物趣味知識(shí)競(jìng)賽PPT
- 2023年山東省魯信投資控股集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 旅游規(guī)劃與開發(fā)電子教案
- 辦公場(chǎng)所5S管理標(biāo)識(shí)標(biāo)準(zhǔn)辦公室5S管理內(nèi)容與定置標(biāo)準(zhǔn)
- 企業(yè)組織結(jié)構(gòu)的常見類型和其利弊
- 2023年八年級(jí)上冊(cè)語文教學(xué)活動(dòng) 八年級(jí)語文組活動(dòng)記錄優(yōu)秀(六篇)
- 危重病人的轉(zhuǎn)運(yùn)與交接課件
- 爆笑小品劇本《抗日》
- 房顫護(hù)理護(hù)理查房課件
- GB/T 21492-2019玻璃纖維增強(qiáng)塑料頂管
評(píng)論
0/150
提交評(píng)論