版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.第一章 緒論第一節(jié) 單片機(jī)單片機(jī)即單片機(jī)微型計(jì)算機(jī),是將計(jì)算機(jī)主機(jī)(cpu、內(nèi)存和i/o接口)集成在一小塊硅片上的微型機(jī)。第二節(jié) 單片機(jī)的歷史與現(xiàn)狀第一階段(19761978年):低性能單片機(jī)的探索階段。以intel公司的mcs-48為代表,采用了單片結(jié)構(gòu),即在一塊芯片內(nèi)含有8位cpu、定時(shí)/計(jì)數(shù)器、并行i/o口、ram和rom等。主要用于工業(yè)領(lǐng)域。第二階段(19781982年):高性能單片機(jī)階段,這一類單片機(jī)帶有串行i/o口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達(dá)到64k字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片機(jī)的應(yīng)用范圍較廣,并在不斷的改進(jìn)和發(fā)展。第三階段(19821990年):1
2、6位單片機(jī)階段。16位單片機(jī)除cpu為16位外,片內(nèi)ram和rom容量進(jìn)一步增大,實(shí)時(shí)處理能力更強(qiáng),體現(xiàn)了微控制器的特征。例如intel公司的mcs-96主振頻率為12m,片內(nèi)ram為232字節(jié),rom為8k字節(jié),中斷處理能力為8級(jí),片內(nèi)帶有10位a/d轉(zhuǎn)換器和高速輸入/輸出部件等。第四階段(1990年):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時(shí),向高速、強(qiáng)運(yùn)算能力、尋址范圍大以及小型廉價(jià)方面發(fā)展。第三節(jié) 單片機(jī)的應(yīng)用領(lǐng)域一、 單片機(jī)在儀器儀表中的應(yīng)用二、 單片機(jī)在機(jī)電一體化中的應(yīng)用三、 單片機(jī)在智能接口和多機(jī)系統(tǒng)中的應(yīng)用四、 單片機(jī)在生活中的應(yīng)用第二章 硬件結(jié)構(gòu)第一節(jié) mcs-5
3、1單片機(jī)及其演變特點(diǎn)(1)一個(gè)8位微處理器cpu。(2)數(shù)據(jù)存儲(chǔ)器ram和特殊功能寄存器sfr。(3)內(nèi)部程序存儲(chǔ)器rom。(4)兩個(gè)定時(shí)/計(jì)數(shù)器,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可用作定時(shí)器。(5)四個(gè)8位可編程的i/o(輸入/輸出)并行端口,每個(gè)端口既可做輸入,也可做輸出。(6)一個(gè)串行端口,用于數(shù)據(jù)的串行通信。(7)中斷控制系統(tǒng)。(8)內(nèi)部時(shí)鐘電路。第二節(jié) 80c51單片機(jī)的基本結(jié)構(gòu)1) 中央處理器(cpu)中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。mcs-51的cpu能處理8位二進(jìn)制數(shù)或代碼。2) 內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部ram)8051芯片中共有256個(gè)ram單元,但其中后128單元被專用
4、寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)稱內(nèi)部ram。3) 內(nèi)部程序存儲(chǔ)器(內(nèi)部rom)8051共有4 kb掩膜rom,用于存放程序、原始數(shù)據(jù)或表格,因此,稱之為程序存儲(chǔ)器,簡(jiǎn)稱內(nèi)部rom。4) 定時(shí)/計(jì)數(shù)器8051共有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。5) 并行i/o口mcs-51共有4個(gè)8位的i/o口(p0、p1、p2、p3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出。在實(shí)訓(xùn)中我們已經(jīng)使用了p1口,通過(guò)p1口連接8個(gè)發(fā)光二極管。第三節(jié) 80c51單片機(jī)的引腳功能 mc
5、s-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列請(qǐng)參見(jiàn)圖p0.0 p0.7: p0口8位雙向口線。p1.0 p1.7 :p1口8位雙向口線。p2.0 p2.7 :p2口8位雙向口線。p3.0 p3.7 :p3口8位雙向口線。 ale:地址鎖存控制信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ale用于控制把p0口輸出的低8位地址鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ale是以晶振1/6的固定頻率輸出的正脈沖,因此,可作為外部時(shí)鐘或外部定時(shí)脈沖使用。 psen:外部程序存儲(chǔ)器讀選通信號(hào)。在讀外部rom時(shí),psen有效(低電平),以實(shí)現(xiàn)外部rom單元的讀操作。 ea:訪問(wèn)程序存儲(chǔ)控制信號(hào)。當(dāng)信號(hào)為低電平時(shí)
6、,對(duì)rom的讀操作限定在外部程序存儲(chǔ)器;當(dāng)信號(hào)為高電平時(shí),對(duì)rom的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延至外部程序存儲(chǔ)器。 rst:復(fù)位信號(hào)。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。 xtal1和xtal2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。 vss:地線。 vcc:+5 v電源。 以上是mcs-51單片機(jī)芯片40條引腳的定義及簡(jiǎn)單功能說(shuō)明,讀者可以對(duì)照實(shí)訓(xùn)電路找到相應(yīng)引腳,在電路中查看每個(gè)引腳的連接使用。 p3口線的第二功能。p3的8條口線都定義有第二功能第四節(jié)
7、 存儲(chǔ)器結(jié)構(gòu)mcs-51單片機(jī)的芯片內(nèi)部有ram和rom兩類存儲(chǔ)器,即所謂的內(nèi)部ram和內(nèi)部rommcs-51內(nèi)部程序存儲(chǔ)器mcs-51的程序存儲(chǔ)器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4 kb的rom,8751片內(nèi)有4 kb的eprom,8031片內(nèi)無(wú)程序存儲(chǔ)器。 mcs-51的片外最多能擴(kuò)展64 kb程序存儲(chǔ)器,片內(nèi)外的rom是統(tǒng)一編址的。如端保持高電平,8051的程序計(jì)數(shù)器pc在0000h0fffh地址范圍內(nèi) (即前4 kb地址) 是執(zhí)行片內(nèi)rom中的程序,當(dāng)pc在1000hffffh地址范圍時(shí),自動(dòng)執(zhí)行片外程序存儲(chǔ)器中的程序;當(dāng)保持低電平時(shí),只能尋址外部程序存儲(chǔ)器,片外存儲(chǔ)器可以
8、從0000h開(kāi)始編址。mcs-51的程序存儲(chǔ)器中有些單元具有特殊功能,使用時(shí)應(yīng)予以注意。 其中一組特殊單元是0000h0002h。系統(tǒng)復(fù)位后,(pc)=0000h,單片機(jī)從0000h單元開(kāi)始取指令執(zhí)行程序。如果程序不從0000h單元開(kāi)始,應(yīng)在這三個(gè)單元中存放一條無(wú)條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。 還有一組特殊單元是0003h002ah,共40個(gè)單元。這40個(gè)單元被均勻地分為5段,作為5個(gè)中斷源的中斷地址區(qū)。其中:0003h000ah 外部中斷0中斷地址區(qū)000bh0012h 定時(shí)/計(jì)數(shù)器0中斷地址區(qū)0013h001ah 外部中斷1中斷地址區(qū)001bh0022h 定時(shí)/計(jì)數(shù)器1中斷地址
9、區(qū)0023h002ah 串行中斷地址區(qū)中斷響應(yīng)后,按中斷種類,自動(dòng)轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,8個(gè)單元難以存下一個(gè)完整的中斷服務(wù)程序,因此通常也是從中斷地址區(qū)首地址開(kāi)始存放一條無(wú)條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過(guò)中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)際入口地址。mcs-51內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器低128單元 8051的內(nèi)部ram共有256個(gè)單元,通常把這256個(gè)單元按其功能劃分為兩部分:低128單元(單元地址00h7fh)和高128單元(單元地址80hffh)。如圖所示為低128單元的配置圖。 寄存器區(qū) 8051共有4組寄存器,每組8
10、個(gè)寄存單元(各為8),各組都以r0r7作寄存單元編號(hào)。寄存器常用于存放操作數(shù)中間結(jié)果等。由于它們的功能及使用不作預(yù)先規(guī)定,因此稱之為通用寄存器,有時(shí)也叫工作寄存器。4組通用寄存器占據(jù)內(nèi)部ram的00h1fh單元地址。 在任一時(shí)刻,cpu只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱之為當(dāng)前寄存器組。到底是哪一組,由程序狀態(tài)字寄存器psw中rs1、rs0位的狀態(tài)組合來(lái)決定。 通用寄存器為cpu提供了就近存儲(chǔ)數(shù)據(jù)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用寄存器還能提高程序編制的靈活性,因此,在單片機(jī)的應(yīng)用編程中應(yīng)充分特殊功能寄存器通用ram區(qū)位尋址區(qū)00h1fh20h2fh30h7
11、fh80hffh80h88h90h98ha0ha8hb0hb8hd0he0hf0h特殊功能寄存器中位尋址外部rom內(nèi)部rom(ea=1)外部rom(ea=0)0000h0000h0fffh0fffh1000hffffh外 部ram(i/o口地址)0000hffffh內(nèi)部數(shù)據(jù)存儲(chǔ)器(a)外部數(shù)據(jù)存儲(chǔ)器(b)程序存儲(chǔ)器(c)工作寄存器區(qū)利用這些寄存器,以簡(jiǎn)化程序設(shè)計(jì),提高程序運(yùn)行速度。 位尋址區(qū) 內(nèi)部ram的20h2fh單元,既可作為一般ram單元使用,進(jìn)行字節(jié)操作,也可以對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱之為位尋址區(qū)。位尋址區(qū)共有16個(gè)ram單元,計(jì)128位,地址為00h7fh。mcs-51
12、具有布爾處理機(jī)功能,這個(gè)位尋址區(qū)可以構(gòu)成布爾處理機(jī)的存儲(chǔ)空間。這種位尋址能力是mcs-51的一個(gè)重要特點(diǎn)。 用戶ram區(qū) 在內(nèi)部ram低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下80個(gè)單元,這就是供用戶使用的一般ram區(qū),其單元地址為30h7fh。對(duì)用戶ram區(qū)的使用沒(méi)有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開(kāi)辟在此區(qū)中。 內(nèi)部數(shù)據(jù)存儲(chǔ)器高128單元 內(nèi)部ram的高128單元是供給專用寄存器使用的,其單元地址為80hffh。因這些寄存器的功能已作專門(mén)規(guī)定,故稱之為專用寄存器(special function register),也可稱為特殊功能寄存器。第五節(jié) 特殊功能
13、存儲(chǔ)器sfr8051共有21個(gè)專用寄存器,現(xiàn)把其中部分寄存器簡(jiǎn)單介紹如下:程序計(jì)數(shù)器(pcprogram counter)。在實(shí)訓(xùn)中,我們已經(jīng)知道pc是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64 kb。pc有自動(dòng)加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。pc沒(méi)有地址,是不可尋址的,因此用戶無(wú)法對(duì)它進(jìn)行讀寫(xiě),但可以通過(guò)轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在sfr(專用寄存器)之內(nèi),一般不計(jì)作專用寄存器。累加器(accaccumulator)。累加器為8位寄存器,是最常用的專用寄存器,功能較多,地位重要。它既可用于存放操作數(shù),也可用
14、來(lái)存放運(yùn)算的中間結(jié)果。mcs-51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。b寄存器。b寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時(shí),b存乘數(shù)。乘法操作后,乘積的高8位存于b中,除法運(yùn)算時(shí),b存除數(shù)。除法操作后,余數(shù)存于b中。此外,b寄存器也可作為一般數(shù)據(jù)寄存器使用。 程序狀態(tài)字(pswprogram status word)。程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序運(yùn)行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動(dòng)設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。psw的位狀態(tài)可以用專門(mén)指令進(jìn)行測(cè)試,也可以用指令讀出。一些條
15、件轉(zhuǎn)移指令將根據(jù)psw有些位的狀態(tài),進(jìn)行程序轉(zhuǎn)移。psw的各位定義如下:psw位地址d7hd6hd5hd4hd3hd2hd1hd0h字節(jié)地址 cy acf0rs1rs0ovf1p除psw.1位保留未用外,其余各位的定義及使用如下:cy(psw.7)進(jìn)位標(biāo)志位。cy是psw中最常用的標(biāo)志位。其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,在進(jìn)行加或減運(yùn)算時(shí),如果操作結(jié)果的最高位有進(jìn)位或借位時(shí),cy由硬件置“1”,否則清“0”;二是在位操作中,作累加位使用。位傳送、位與位或等位操作,操作位之一固定是進(jìn)位標(biāo)志位。ac(psw.6)輔助進(jìn)位標(biāo)志位。在進(jìn)行加減運(yùn)算中,當(dāng)?shù)?位向高4位進(jìn)位或借位時(shí),ac由硬件置“
16、1”,否則ac位被清“0”。在bcd碼調(diào)整中也要用到ac位狀態(tài)。f0(psw.5)用戶標(biāo)志位。這是一個(gè)供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用以控制程序的轉(zhuǎn)向。rs1和rs0(psw.4,psw.3)寄存器組選擇位。它們被用于選擇cpu當(dāng)前使用的通用寄存器組。通用寄存器共有4組,其對(duì)應(yīng)關(guān)系如下:00:0組 01:1組 10:2組 11:3組這兩個(gè)選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器組。但當(dāng)單片機(jī)上電或復(fù)位后,rs1 rs0=00。ov(psw.2)溢出標(biāo)志位。在帶符號(hào)數(shù)加減運(yùn)算中,ov=1表示加減運(yùn)算超出了累加器a所能表示的符號(hào)數(shù)有效范圍(-128 +127
17、),即產(chǎn)生了溢出,因此運(yùn)算結(jié)果是錯(cuò)誤的,否則,ov=0表示運(yùn)算正確,即無(wú)溢出產(chǎn)生。p(psw.0)奇偶標(biāo)志位。表明累加器a中內(nèi)容的奇偶性。如果a中有奇數(shù)個(gè)“1”,則p置“1”,否則置“0”。凡是改變累加器a中內(nèi)容的指令均會(huì)影響p標(biāo)志位。此標(biāo)志位對(duì)串行通信中的數(shù)據(jù)傳輸有重要的意義。在串行通信中常采用奇偶校驗(yàn)的辦法來(lái)校驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?shù)據(jù)指針(dptr)。數(shù)據(jù)指針為16位寄存器。編程時(shí),dptr既可以按16位寄存器使用,也可以按兩個(gè)8位寄存器分開(kāi)使用,即:dph dptr高位字節(jié),dpl dptr低位字節(jié)。dptr通常在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)作地址指針使用。由于外部數(shù)據(jù)存儲(chǔ)器的尋址范圍為64 k
18、b,故把dptr設(shè)計(jì)為16位。堆棧指針(spstack pointer)。堆棧是一個(gè)特殊的存儲(chǔ)區(qū),用來(lái)暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。由于mcs-51單片機(jī)的堆棧設(shè)在內(nèi)部ram中,因此sp是一個(gè)8位寄存器。系統(tǒng)復(fù)位后,sp的內(nèi)容為07h,從而復(fù)位后堆棧實(shí)際上是從08h單元開(kāi)始的。但08h1fh單元分別屬于工作寄存器13區(qū),如程序要用到這些區(qū),最好把sp值改為1fh或更大的值。對(duì)專用寄存器的字節(jié)尋址問(wèn)題作如下幾點(diǎn)說(shuō)明: (1)21個(gè)可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部ram高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。 (2)
19、 程序計(jì)數(shù)器pc不占據(jù)ram單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。 (3) 對(duì)專用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器。第六節(jié) 輸入輸出端口單片機(jī)芯片內(nèi)還有一項(xiàng)主要內(nèi)容就是并行i/o口。mcs-51共有4個(gè)8位的并行i/o口,分別記作p0、p1、p2、p3。每個(gè)口都包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。實(shí)際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址和位尋址功能。 在訪問(wèn)片外擴(kuò)展存儲(chǔ)器時(shí),低8位地址和數(shù)據(jù)由p0口分時(shí)傳送,高8位地址由p2口傳送。在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)口的每一位均可作為雙向的i/o端口使用。第七節(jié) 時(shí)鐘電路在mc
20、s-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳xtal1,其輸出端為引腳xtal2 。而在芯片的外部,xtal1和xtal2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘電路。xtal2xtal1mcs-51c1c2cysxtal2xtal1mcs-51+5vvssttl外部時(shí)鐘源1振蕩周期:為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源的周期。2時(shí)鐘周期:是振蕩源信號(hào)經(jīng)二分頻后形成的時(shí)鐘脈沖信號(hào)。 3機(jī)器周期:通常將完成一個(gè)基本操作所需的時(shí)間稱為機(jī)器周期。4指令周期:是指cpu執(zhí)行一條指令所需要的時(shí)間。一個(gè)指令周期通常含有14個(gè)機(jī)器周期。 p1p2s1p2振蕩周期時(shí)
21、鐘周期機(jī)器周期機(jī)器周期指令周期xtal2(osc)s2s3s4s5s6s1s2s4s5s3s6p1p1p1p1p1p1p1p1p1p1p1p2p2p2p2p2p2p2p2p2p2p2第八節(jié) 復(fù)位電路單片機(jī)復(fù)位是使cpu和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后pc=0000h,使單片機(jī)從第一個(gè)單元取指令。實(shí)訓(xùn)中已經(jīng)看出,無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位,所以我們必須弄清楚mcs-51型單片機(jī)復(fù)位的條件、復(fù)位電路和復(fù)位后狀態(tài)。 第三章 定時(shí)器/計(jì)數(shù)器第一節(jié) 概述實(shí)質(zhì)是計(jì)數(shù)器,脈沖每一次下降沿,計(jì)數(shù)寄存器數(shù)值將加1。計(jì)數(shù)的脈沖如
22、果來(lái)源于單片機(jī)內(nèi)部的晶振,由于其周期極為準(zhǔn)確,這時(shí)稱為定時(shí)器。計(jì)數(shù)的脈沖如果來(lái)源于單片機(jī)外部的引腳,由于其周期一般不準(zhǔn)確,這時(shí)稱為計(jì)數(shù)器。第二節(jié) 結(jié)構(gòu)和工作原理定時(shí)/計(jì)數(shù)器方式寄存器tmod(1) m1和m0:方式選擇位。(2) c/t :功能選擇位。時(shí),設(shè)置為定時(shí)器工作方式;時(shí),設(shè)置為計(jì)數(shù)器工作方式。(3) gate:門(mén)控位。當(dāng)gate=0時(shí),軟件控制位tr0或tr1置1即可啟動(dòng)定時(shí)器;當(dāng)gate=1時(shí),軟件控制位tr0或tr1須置1,同時(shí)還須(p3.2)或(p3.3)為高電平方可啟動(dòng)定時(shí)器,即允許外中斷、啟動(dòng)定時(shí)器。定時(shí)器/計(jì)數(shù)器控制寄存器tcon(1) tcon.7 tf1:定時(shí)器1溢出
23、標(biāo)志位。當(dāng)定時(shí)器1計(jì)滿數(shù)產(chǎn)生溢出時(shí),由硬件自動(dòng)置tf1=1。在中斷允許時(shí),向cpu發(fā)出定時(shí)器1的中斷請(qǐng)求,進(jìn)入中斷服務(wù)程序后,由硬件自動(dòng)清0。在中斷屏蔽時(shí),tf1可作查詢測(cè)試用,此時(shí)只能由軟件清0。(2) tcon.6 tr1:定時(shí)器1運(yùn)行控制位。由軟件置1或清0來(lái)啟動(dòng)或關(guān)閉定時(shí)器1。當(dāng)gate=1,且為高電平時(shí),tr1置1啟動(dòng)定時(shí)器1;當(dāng)gate=0時(shí),tr1置1即可啟動(dòng)定時(shí)器1。(3) tcon.5 tf0:定時(shí)器0溢出標(biāo)志位。其功能及操作情況同tf1。(4) tcon.4 tr0:定時(shí)器0運(yùn)行控制位。其功能及操作情況同tr1。(5) tcon.3 ie1:外部中斷1( )請(qǐng)求標(biāo)志位。(6
24、)tcon.2 it1:外部中斷1觸發(fā)方式選擇位。(7)tcon.1 ie0:外部中斷0 ( )請(qǐng)求標(biāo)志位。 (8) tcon.0 it0:外部中斷0觸發(fā)方式選擇位。 第三節(jié) 定時(shí)/計(jì)數(shù)器的工作方式1方式0方式0構(gòu)成一個(gè)13位定時(shí)/計(jì)數(shù)器。圖是定時(shí)器0在方式0時(shí)的邏輯電路結(jié)構(gòu),定時(shí)器1的結(jié)構(gòu)和操作與定時(shí)器0完全相同。2方式1定時(shí)器工作于方式1時(shí)。由圖可知,方式1構(gòu)成一個(gè)16位定時(shí)/計(jì)數(shù)器,其結(jié)構(gòu)與操作幾乎完全與方式0相同,惟一差別是二者計(jì)數(shù)位數(shù)不同。3方式2 定時(shí)/計(jì)數(shù)器工作于方式2時(shí),。由圖可知,方式2中,16位加法計(jì)數(shù)器的th0和tl0具有不同功能,其中,tl0是8位計(jì)數(shù)器,th0是重置初
25、值的8位緩沖器。4方式3定時(shí)/計(jì)數(shù)器工作于方式3時(shí),其邏輯結(jié)構(gòu)圖如圖所示。第四節(jié) 編程和使用1計(jì)數(shù)器初值的計(jì)算把計(jì)數(shù)器計(jì)滿為零所需要的計(jì)數(shù)值設(shè)定為c,計(jì)數(shù)初值設(shè)定為tc,由此可得到公式:tc=m-c式中,m為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)m為213;在方式1時(shí)m為216;在方式2和方式3時(shí)m為28。2定時(shí)器初值的計(jì)算在定時(shí)器模式下,計(jì)數(shù)器由單片機(jī)主脈沖經(jīng)12分頻后計(jì)數(shù)。因此,定時(shí)器定時(shí)時(shí)間t的公式:t=(m-tc)t計(jì)數(shù),上式也可寫(xiě)成:tc=m-t/ t計(jì)數(shù)。式中,m為模值,和定時(shí)器的工作方式有關(guān);t計(jì)數(shù)是單片機(jī)振蕩周期tclk的12倍;tc為定時(shí)器的定時(shí)初值。 第六章 中斷
26、系統(tǒng)第一節(jié) 概述中斷是通過(guò)硬件來(lái)改變cpu的運(yùn)行方向的。計(jì)算機(jī)在執(zhí)行程序的過(guò)程中,當(dāng)出現(xiàn)cpu以外的某種情況時(shí),由服務(wù)對(duì)象向cpu發(fā)出中斷請(qǐng)求信號(hào),要求cpu暫時(shí)中斷當(dāng)前程序的執(zhí)行而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理程序執(zhí)行完畢后,再繼續(xù)執(zhí)行原來(lái)被中斷的程序。這種程序在執(zhí)行過(guò)程中由于外界的原因而被中間打斷的情況稱為“中斷”。與中斷有關(guān)的寄存器有4個(gè),分別為中斷源寄存器tcon和scon、中斷允許控制寄存器ie和中斷優(yōu)先級(jí)控制寄存器ip;中斷源有5個(gè),分別為外部中斷0請(qǐng)求 、外部中斷1請(qǐng)求、定時(shí)器0溢出中斷請(qǐng)求tf0、定時(shí)器1溢出中斷請(qǐng)求tf1和串行中斷請(qǐng)求ri或ti。5個(gè)中斷源的排列順序由中斷優(yōu)先
27、級(jí)控制寄存器ip和順序查詢邏輯電路共同決定,5個(gè)中斷源分別對(duì)應(yīng)5個(gè)固定的中斷入口地址。 第二節(jié) 中斷源與中斷申請(qǐng)標(biāo)志中斷源(1)外部中斷0請(qǐng)求,由p3.2腳輸入。通過(guò)it0腳(tcon.0)來(lái)決定是低電平有效還是下跳變有效。一旦輸入信號(hào)有效,就向cpu申請(qǐng)中斷,并建立ie0標(biāo)志。(2)外部中斷1請(qǐng)求,由p3.3腳輸入。通過(guò)it1腳tcon.2)來(lái)決定是低電平有效還是下跳變有效。一旦輸入信號(hào)有效,就向cpu申請(qǐng)中斷,并建立ie1標(biāo)志。 (3)tf0:定時(shí)器t0溢出中斷請(qǐng)求。當(dāng)定時(shí)器0產(chǎn)生溢出時(shí),定時(shí)器0中斷請(qǐng)求標(biāo)志位(tcon.5)置位(由硬件自動(dòng)執(zhí)行),請(qǐng)求中斷處理。(4)tf1:定時(shí)器1溢出
28、中斷請(qǐng)求。當(dāng)定時(shí)器1產(chǎn)生溢出時(shí),定時(shí)器1中斷請(qǐng)求標(biāo)志位(tcon.7)置位(由硬件自動(dòng)執(zhí)行),請(qǐng)求中斷處理。(5) ri或ti:串行中斷請(qǐng)求。當(dāng)接收或發(fā)送完一串行幀時(shí),內(nèi)部串行口中斷請(qǐng)求標(biāo)志位ri(scon.0)或ti(scon.1)置位(由硬件自動(dòng)執(zhí)行),請(qǐng)求中斷。 中斷標(biāo)志tcon寄存器中的中斷標(biāo)志tcon為定時(shí)器0和定時(shí)器1的控制寄存器,同時(shí)也鎖存定時(shí)器0和定時(shí)器1的溢出中斷標(biāo)志及外部中斷和的中斷標(biāo)志等。與中斷有關(guān)位如下:(1) tcon.7 tf1:定時(shí)器1的溢出中斷標(biāo)志。t1被啟動(dòng)計(jì)數(shù)后,從初值做加1計(jì)數(shù),計(jì)滿溢出后由硬件置位tf1,同時(shí)向cpu發(fā)出中斷請(qǐng)求,此標(biāo)志一直保持到cpu響
29、應(yīng)中斷后才由硬件自動(dòng)清0。也可由軟件查詢?cè)摌?biāo)志,并由軟件清0。(2) tcon.5 tf0:定時(shí)器0溢出中斷標(biāo)志。其操作功能與tf1相同。(3) tcon.3 ie1:中斷標(biāo)志。ie1 = 1,外部中斷1向cpu申請(qǐng)中斷。(4) tcon.2 it1:中斷觸發(fā)方式控制位。當(dāng)it1 = 0時(shí),外部中斷1控制為電平觸發(fā)方式。(5) tcon.1 ie0:中斷標(biāo)志。其操作功能與ie1相同。(6) tcon.0 it0:中斷觸發(fā)方式控制位。其操作功能與it1相同。scon寄存器中的中斷標(biāo)志scon是串行口控制寄存器,其低兩位ti和ri鎖存串行口的發(fā)送中斷標(biāo)志和接收中斷標(biāo)志。(1) scon.1 ti:
30、串行發(fā)送中斷標(biāo)志。cpu將數(shù)據(jù)寫(xiě)入發(fā)送緩沖器sbuf時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一個(gè)串行幀,硬件將使ti置位。但cpu響應(yīng)中斷時(shí)并不清除ti,必須由軟件清除。第三節(jié) 中斷控制ie寄存器中斷的開(kāi)放和禁止標(biāo)志(1) ie.7 ea:總中斷允許控制位。ea = 1,開(kāi)放所有中斷,各中斷源的允許和禁止可通過(guò)相應(yīng)的中斷允許位單獨(dú)加以控制;ea = 0,禁止所有中斷。(2) ie.4 es:串行口中斷允許位。es = 1,允許串行口中斷;es = 0,禁止串行口中斷。(3) ie.3 et1:定時(shí)器1中斷允許位。et1 = 1,允許定時(shí)器1中斷;et1 = 0,禁止定時(shí)器1中斷。(4) ie.2 ex1:外部
31、中斷1()中斷允許位。ex1 = 1,允許外部中斷1中斷;ex1 = 0,禁止外部中斷1中斷。(5) ie.1 et0:定時(shí)器0中斷允許位。et0 = 1,允許定時(shí)器0中斷;et0 = 0,禁止定時(shí)器0中斷。(6) ie.0 ex0: 外部中斷0()中斷允許位。ex0 = 1,允許外部中斷0中斷;ex0 = 0,禁止外部中斷0中斷。 8051單片機(jī)系統(tǒng)復(fù)位后,ie中各中斷允許位均被清0,即禁止所有中斷。ip寄存器中斷優(yōu)先級(jí)標(biāo)志8051單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),每個(gè)中斷源都可以通過(guò)編程確定為高優(yōu)先級(jí)中斷或低 (1)ip.4 ps:串行口中斷優(yōu)先控制位。ps = 1,設(shè)定串行口為高優(yōu)先級(jí)中斷;ps
32、= 0,設(shè)定串行口為低優(yōu)先級(jí)中斷。(2)ip.3 pt1:定時(shí)器t1中斷優(yōu)先控制位。pt1 = 1,設(shè)定定時(shí)器t1中斷為高優(yōu)先級(jí)中斷;pt1 = 0,設(shè)定定時(shí)器t1中斷為低優(yōu)先級(jí)中斷。(3)ip.2 px1:外部中斷1中斷優(yōu)先控制位。px1 = 1,設(shè)定外部中斷1為高優(yōu)先級(jí)中斷;px1 = 0,設(shè)定外部中斷1為低優(yōu)先級(jí)中斷。 (4)ip.1 pt0:定時(shí)器t0中斷優(yōu)先控制位。pt0 = 1,設(shè)定定時(shí)器t0中斷為高優(yōu)先級(jí)中斷;pt0 = 0,設(shè)定定時(shí)器t0中斷為低優(yōu)先級(jí)中斷。(5)ip.0 px0:外部中斷0中斷優(yōu)先控制位。px0 = 1,設(shè)定外部中斷0為高優(yōu)先級(jí)中斷;px0 = 0,設(shè)定外部中
33、斷0為低優(yōu)先級(jí)中斷。當(dāng)系統(tǒng)復(fù)位后,ip低5位全部清0,所有中斷源均設(shè)定為低優(yōu)先級(jí)中斷。如果幾個(gè)同一優(yōu)先級(jí)的中斷源同時(shí)向cpu申請(qǐng)中斷,cpu 通過(guò)內(nèi)部硬件查詢邏輯,按自然優(yōu)先級(jí)順序確定先響應(yīng)哪個(gè)中斷請(qǐng)求。自然優(yōu)先級(jí)由硬件形成,排列如下:中斷源 同級(jí)自然優(yōu)先級(jí)外部中斷0 最高級(jí)定時(shí)器t0中斷外部中斷1定時(shí)器t1中斷串行口中斷 最低級(jí)第四節(jié) 中斷響應(yīng)中斷處理過(guò)程可分為中斷響應(yīng)、中斷處理和中斷返回三個(gè)階段。中斷響應(yīng) 中斷響應(yīng)是cpu對(duì)中斷源中斷請(qǐng)求的響應(yīng),包括保護(hù)斷點(diǎn)和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱矢量地址)。中斷響應(yīng)過(guò)程 中斷響應(yīng)過(guò)程包括保護(hù)斷點(diǎn)和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址。首先,
34、中斷系統(tǒng)通過(guò)硬件自動(dòng)生成長(zhǎng)調(diào)用指令(lacll),該指令將自動(dòng)把斷點(diǎn)地址壓入堆棧保護(hù)(不保護(hù)累加器a、狀態(tài)寄存器psw和其它寄存器的內(nèi)容),然后,將對(duì)應(yīng)的中斷入口地址裝入程序計(jì)數(shù)器pc(由硬件自動(dòng)執(zhí)行),使程序轉(zhuǎn)向該中斷入口地址,執(zhí)行中斷服務(wù)程序。mcs-51系列單片機(jī)各中斷源的入口地址由硬件事先設(shè)定,分配如下:中斷源 入口地址外部中斷0 0003h定時(shí)器t0中斷 000bh外部中斷1 0013h定時(shí)器t1中斷 001bh串行口中斷 0023h 使用時(shí),通常在這些中斷入口地址處存放一條絕對(duì)跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)程序的起始地址上去。中斷返回 中斷返回是指中斷服務(wù)完后,計(jì)算機(jī)返回
35、原來(lái)斷開(kāi)的位置(即斷點(diǎn)),繼續(xù)執(zhí)行原來(lái)的程序。中斷返回由中斷返回指令reti來(lái)實(shí)現(xiàn)。該指令的功能是把斷點(diǎn)地址從堆棧中彈出,送回到程序計(jì)數(shù)器pc,此外,還通知中斷系統(tǒng)已完成中斷處理,并同時(shí)清除優(yōu)先級(jí)狀態(tài)觸發(fā)器。特別要注意不能用“ret”指令代替“reti”指令。中斷請(qǐng)求的撤除cpu響應(yīng)中斷請(qǐng)求后即進(jìn)入中斷服務(wù)程序,在中斷返回前,應(yīng)撤除該中斷請(qǐng)求,否則,會(huì)重復(fù)引起中斷而導(dǎo)致錯(cuò)誤。mcs-51各中斷源中斷請(qǐng)求撤消的方法各不相同,分別為:1)定時(shí)器中斷請(qǐng)求的撤除 對(duì)于定時(shí)器0或1溢出中斷,cpu在響應(yīng)中斷后即由硬件自動(dòng)清除其中斷標(biāo)志位tf0或tf1,無(wú)需采取其它措施。2)串行口中斷請(qǐng)求的撤除 對(duì)于串行
36、口中斷,cpu在響應(yīng)中斷后,硬件不能自動(dòng)清除中斷請(qǐng)求標(biāo)志位ti、ri,必須在中斷服務(wù)程序中用軟件將其清除。3)外部中斷請(qǐng)求的撤除 外部中斷可分為邊沿觸發(fā)型和電平觸發(fā)型。 對(duì)于邊沿觸發(fā)的外部中斷0或1,cpu在響應(yīng)中斷后由硬件自動(dòng)清除其中斷標(biāo)志位ie0或ie1,無(wú)需采取其它措施。第四章 mcs_51與鍵盤(pán)、顯示器的接口設(shè)計(jì)第一節(jié) led接口原理常用的led顯示器有l(wèi)ed狀態(tài)顯示器(俗稱發(fā)光二極管)、led七段顯示器(俗稱數(shù)碼管)和led十六段顯示器。發(fā)光二極管可顯示兩種狀態(tài),用于系統(tǒng)狀態(tài)顯示;數(shù)碼管用于數(shù)字顯示;led十六段顯示器用于字符顯示。1. 數(shù)碼管簡(jiǎn)介2. 1) 數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個(gè)發(fā)
37、光二極管(以下簡(jiǎn)稱字段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字0 9、字符a f、h、l、p、r、u、y、符號(hào)“-”及小數(shù)點(diǎn)“.”。數(shù)碼管的外形結(jié)構(gòu)如下圖所示。數(shù)碼管又分為共陰極和共陽(yáng)極兩種結(jié)構(gòu)。2) 數(shù)碼管工作原理 共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起。通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接
38、在一起。通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。3) 數(shù)碼管字形編碼 要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。對(duì)照?qǐng)D7.10(a),字型碼各位定義為:數(shù)據(jù)線d0與a字段對(duì)應(yīng),d1與b字段對(duì)應(yīng),依此類推。如使用共陽(yáng)極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段亮,數(shù)據(jù)為1表示對(duì)應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段暗,數(shù)據(jù)為1表示對(duì)應(yīng)字段亮。如
39、要顯示“0”,共陽(yáng)極數(shù)碼管的字型編碼應(yīng)為:11000000b(即c0h);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111b(即3fh)。依此類推。2靜態(tài)顯示接口3. 靜態(tài)顯示是指數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管相互獨(dú)立,公共端恒定接地(共陰極)或接正電源(共陽(yáng)極)。每個(gè)數(shù)碼管的8個(gè)字段分別與一個(gè)8位i/o口地址相連,i/o口只要有段碼輸出,相應(yīng)字符即顯示出來(lái),并保持不變,直到i/o口輸出新的段碼。采用靜態(tài)顯示方式,較小的電流即可獲得較高的亮度,且占用cpu時(shí)間少,編程簡(jiǎn)單,顯示便于監(jiān)測(cè)和控制,但其占用的口線多,硬件電路復(fù)雜,成本高,只適合于顯示位
40、數(shù)較少的場(chǎng)合。3動(dòng)態(tài)顯示接口 動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。通常,各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)8位的i/o口控制;各位的位選線(公共陰極或陽(yáng)極)由另外的i/o口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示,必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼。依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符。雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺(jué)。采用動(dòng)態(tài)顯示方式比較節(jié)省i/o口,硬件電路也
41、較靜態(tài)顯示方式簡(jiǎn)單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時(shí),cpu要依次掃描,占用cpu較多的時(shí)間。第二節(jié) 鍵盤(pán)接口原理1 鍵的分類1 按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長(zhǎng)。目前,微機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵。 2輸入原理2 在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門(mén)的復(fù)位電路及專一的復(fù)位功能外,其它按鍵都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)的。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時(shí),計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過(guò)程。 對(duì)于一組
42、鍵或一個(gè)鍵盤(pán),總有一個(gè)接口電路與cpu相連。cpu可以采用查詢或中斷方式了解有無(wú)將鍵輸入,并檢查是哪一個(gè)鍵按下,將該鍵號(hào)送入累加器acc,然后通過(guò)跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序3按鍵結(jié)構(gòu)與特點(diǎn) 微機(jī)鍵盤(pán)通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。也就是說(shuō),它能提供標(biāo)準(zhǔn)的ttl邏輯電平,以便與通用數(shù)字系統(tǒng)的邏輯電平相容。 機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如下圖所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為510 ms。在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),
43、可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施。這一點(diǎn)可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。4. 按鍵編碼5. 一組按鍵或鍵盤(pán)都要通過(guò)i/o口線查詢按鍵的開(kāi)關(guān)狀態(tài)。根據(jù)鍵盤(pán)結(jié)構(gòu)的不同,采用不同的編碼。無(wú)論有無(wú)編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對(duì)應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的跳轉(zhuǎn)。5 制鍵盤(pán)程序6. 一個(gè)完善的鍵盤(pán)控制程序應(yīng)具備以下功能: (1) 檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。 (2) 有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。 (3) 準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足跳轉(zhuǎn)指令要求。獨(dú)立式按鍵 單片機(jī)控制系統(tǒng)中,往往
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度馬戲團(tuán)演出場(chǎng)地交通與物流服務(wù)合同4篇
- 主播帶貨服務(wù)合同書(shū)2024年標(biāo)準(zhǔn)格式版B版
- 二零二五版?;逢戇\(yùn)貨物運(yùn)輸及安全管理合同4篇
- 2025年度房地產(chǎn)公司銷售顧問(wèn)聘用合同簡(jiǎn)易版
- 二零二五年度綜合服務(wù)私人廠房租賃合同
- 2025版公司勞動(dòng)合同與員工培訓(xùn)計(jì)劃
- 2025年度版股東店面租賃合同(文化創(chuàng)意園區(qū))
- 二零二五年度私了后不追究責(zé)任合同解除及債務(wù)免除協(xié)議
- 2025年度數(shù)碼產(chǎn)品代理銷售合同范本4篇
- 二零二五年度短視頻校園文化活動(dòng)拍攝合同
- 2024年社區(qū)警務(wù)規(guī)范考試題庫(kù)
- 2024年食用牛脂項(xiàng)目可行性研究報(bào)告
- 消防安全隱患等級(jí)
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測(cè)技術(shù)規(guī)范
- 部編版一年級(jí)語(yǔ)文下冊(cè)第一單元大單元教學(xué)設(shè)計(jì)
- 《保單檢視專題》課件
- 北京地鐵13號(hào)線
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 職業(yè)衛(wèi)生法律法規(guī)和標(biāo)準(zhǔn)培訓(xùn)課件
- 高二下學(xué)期英語(yǔ)閱讀提升練習(xí)(二)
- 民事訴訟證據(jù)清單模板
評(píng)論
0/150
提交評(píng)論