新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)學(xué)習(xí)知識點(diǎn)全攻略(完結(jié)篇)(一)

單片機(jī)學(xué)習(xí)知識點(diǎn)全攻略(完結(jié)篇)(一)

作者: 時(shí)間:2012-11-14 來源:網(wǎng)絡(luò) 收藏
0px 0px; WORD-SPACING: 0px; FONT: 14px/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  共陰和共陽結(jié)構(gòu)的LED數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時(shí),對應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個(gè)筆劃段hgfedcba對應(yīng)于一個(gè)字節(jié)(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進(jìn)制碼就能表示欲顯示字符的字形代碼。例如,對于共陰LED數(shù)碼管顯示器,當(dāng)公共陰極接地(為零電平),而陽極hgfedcba各段為0111011時(shí),數(shù)碼管顯示器顯示“P”字符,即對于共陰極LED數(shù)碼管顯示器,“P”字符的字形碼是73H。如果是共陽LED數(shù)碼管顯示器,公共陽極接高電平,顯示“P”字符的字形代碼應(yīng)為10001100(8CH)。這里必須注意的是:很多產(chǎn)品為方便接線,常不按規(guī)則的辦法去對應(yīng)字段與位的關(guān)系,這個(gè)時(shí)候字形碼就必須根據(jù)接線來自行設(shè)計(jì)了,后面我們會給出一個(gè)例程。

  在應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)數(shù)碼管顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種辦法中CPU的開銷小。能供給單獨(dú)鎖存的I/O接口電路很多,這里以常用的串并轉(zhuǎn)換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。

  MCS-51單片機(jī)串行口方式押為移們寄存器方式,外接6片74LS164作為6位LED數(shù)碼管顯示器的靜態(tài)顯示接口,把8031的RXD作為數(shù)據(jù)輸出線,TXD作為移位時(shí)鐘脈沖。74LS164為TTL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個(gè)管腳按邏輯與運(yùn)算規(guī)律輸入信號,公一個(gè)輸入信號時(shí)可并接。T(第8腳)為時(shí)鐘輸入端,可連接到串行口的TXD端。每一個(gè)時(shí)鐘信號的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。R(第9腳)為復(fù)位端,當(dāng)R=0時(shí),移位寄存器各位復(fù)0,只有當(dāng)R=1時(shí),時(shí)鐘脈沖才起作用。Q1…Q8(第3-6和10-13管腳)并行輸出端分別接LED數(shù)碼管顯示器的hg---a各段對應(yīng)的管腳上。關(guān)于74LS164還能作如下的介紹:所謂時(shí)鐘脈沖端,其實(shí)就是需要高、低、高、低的脈沖,不管這個(gè)脈沖是怎么來的,比如,我們用根電線,一端接T,一端用手拿著,分別接高電平、低電平,那也是給出時(shí)鐘脈沖,在74LS164獲得時(shí)鐘脈沖的瞬間(再講清楚點(diǎn),是在脈沖的沿),如果數(shù)據(jù)輸入端(第1,2管腳)是高電平,則就會有一個(gè)1進(jìn)入到74LS164的內(nèi)部,如果數(shù)據(jù)輸入端是低電平,則就會有一個(gè)0進(jìn)入其內(nèi)部。在給出了8個(gè)脈沖后,最先進(jìn)入74LS164的第一個(gè)數(shù)據(jù)到達(dá)了最高位,然后再來一個(gè)脈沖會有什么發(fā)生呢?再來一個(gè)脈沖,第一個(gè)脈沖就會從最高位移出,就象車站排隊(duì)買票,欄桿就那么長,要從后面進(jìn)去一本人,前面必須要從前面走出去一本人才行。

  搞清了這一點(diǎn),下面讓我們來看電路,6片7LS164首尾相串,而時(shí)鐘端則接在一起,這樣,當(dāng)輸入8個(gè)脈沖時(shí),從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€(gè)8個(gè)脈沖到來后,這個(gè)數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)诹鶄€(gè)8個(gè)脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三、四、五片74LS164中。有個(gè)問題,在第一個(gè)脈沖到來時(shí),除了第一片74LS164中接收數(shù)據(jù)外,其他各片在干嗎呢?它們也在接收數(shù)據(jù),因?yàn)樗鼈兊臅r(shí)鐘端都是被接在一起的,可是數(shù)據(jù)還沒有送到其他各片呢,它們在接收什么數(shù)據(jù)呢?。。。。。。其實(shí)所謂數(shù)據(jù)不過是一種說法而已,實(shí)際就是電平的高低,當(dāng)?shù)谝粋€(gè)脈沖到來時(shí),第一片164固然是從單片機(jī)接收數(shù)據(jù)了,而其它各片也接到前一片的Q8上,而Q8是一根電線,在數(shù)字電路中它只可能有兩種狀態(tài):低電平或高電平,也就是“0”和“1”。所以它的下一片74LS164也相當(dāng)于是在接收數(shù)據(jù)啊。只是接收的全部是0或1而已。這個(gè)問題放在這兒說明,可能有朋友不屑一顧,而有的朋友可能還是不清楚,這實(shí)際上涉及到數(shù)的本質(zhì)的問題,如果不懂的,請仔細(xì)思考,并找一些數(shù)字電路的數(shù),理解164的工作原理,再來看這個(gè)問題,或者去看看我的另一篇文章《27課:關(guān)于單片機(jī)的一些基本概念》的文章。務(wù)必搞懂,搞懂了這一點(diǎn),你的級別就高過開始學(xué)習(xí)者,可謂入門者了。

  入口:把要顯示的數(shù)分別放在顯示緩沖區(qū)60H-65H共6個(gè)單元中,并且分別對應(yīng)各個(gè)數(shù)碼管LED0-LED5。

  出口:將預(yù)置在顯示緩沖區(qū)中的6個(gè)數(shù)成對應(yīng)的顯示字形碼,然后輸出到數(shù)碼管顯示器中顯示。

  單片機(jī)led顯示程序如下:

  DISP: MOV SCON,#00H ;初始化串行口方式0

  MOV R1,#06H ;顯示6位數(shù)

  MOV R0,#65H ;60H-65H為顯示緩沖區(qū)

  MOV DPTR,#SEGTAB ;字形表的入口地址



關(guān)鍵詞: 單片機(jī) 學(xué)習(xí)知識

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉