《單片機(jī)技術(shù)及 仿真與應(yīng)用》-9_第1頁
《單片機(jī)技術(shù)及 仿真與應(yīng)用》-9_第2頁
《單片機(jī)技術(shù)及 仿真與應(yīng)用》-9_第3頁
《單片機(jī)技術(shù)及 仿真與應(yīng)用》-9_第4頁
《單片機(jī)技術(shù)及 仿真與應(yīng)用》-9_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

9.1串行通信的概念通信是單片機(jī)的一個重要功能,在網(wǎng)絡(luò)日益普及的今天,隨著物聯(lián)網(wǎng)的出現(xiàn),單片機(jī)的通信功能越發(fā)受到人們的重視。計算機(jī)通信有兩種方式,并行方式和串行方式。并行方式一次可以傳輸多個字節(jié)的數(shù)據(jù),每個數(shù)據(jù)位占用一根數(shù)據(jù)線,如圖9.1所示。并行方式傳輸數(shù)據(jù)不要求固定的格式,通信控制簡單,傳輸速度快,這些是并行方式的優(yōu)點(diǎn)。但是并行方式需要使用較多的數(shù)據(jù)線,長距離通信時成本較高,并且抗干擾能力差,所以并行方式僅被使用在短距離的通信中,如:同一個機(jī)箱中各插板之間的數(shù)據(jù)傳輸,同一個插板上各部件之間的數(shù)據(jù)傳輸,集成電路內(nèi)部的數(shù)據(jù)總線。下一頁返回9.1串行通信的概念串行方式每次傳輸一個數(shù)據(jù)位,只需要一根數(shù)據(jù)線,如圖9.2所示。在發(fā)送數(shù)據(jù)時,先將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),也就是將數(shù)據(jù)字節(jié)轉(zhuǎn)換成一位一位的形式,依次在數(shù)據(jù)線上傳送。在接收數(shù)據(jù)時再將收到的串行數(shù)據(jù)重新轉(zhuǎn)換成并行數(shù)據(jù),進(jìn)行處理。串行方式使用的數(shù)據(jù)線較少,傳輸?shù)某杀据^低,比較適合于長距離的傳輸。但相對于并行方式,串行方式的傳輸控制要復(fù)雜一些。9.1.1串行通信的基本方式串行通信又分為同步和異步兩種方式。1.同步串行通信同步串行通信時,發(fā)送方的時鐘對接收方的時鐘直接控制,使雙方保持完全的同步。有兩種方法可實現(xiàn)這種控制,一種方法被稱為外同步,另一種方法被稱為自同步。上一頁下一頁返回9.1串行通信的概念外同步方式,在發(fā)送方和接收方之間提供一條獨(dú)立于數(shù)據(jù)線的時鐘信號線,用來從發(fā)送方向接收方發(fā)送時鐘信號,如圖9.3所示。發(fā)送方在每個比特周期都向接收方發(fā)送一個時鐘脈沖,這樣,通信雙方就可以使用相同的時鐘。時鐘信號在長距離傳輸時會發(fā)生失真,所以外同步方式只適用于短距離通信。自同步方式,利用特殊的編碼方式,使數(shù)據(jù)信號中包含時鐘信號。數(shù)據(jù)信號和時鐘信號同時在同一根數(shù)據(jù)線上傳輸,如圖9.4所示。曼徹斯特編碼就是一種自同步編碼,在曼徹斯特編碼中,用電壓跳變的相位不同來區(qū)分1和0,即用正的電壓跳變表示0,用負(fù)的電壓跳變表示1。因此,這種編碼也稱為相位編碼。由于跳變都發(fā)生在每一個碼元的中間,接收端可以方便地利用它作為位同步時鐘。上一頁下一頁返回9.1串行通信的概念在同步串行通信時,除了傳輸時鐘信號外,還需要標(biāo)識出數(shù)據(jù)塊的開始和結(jié)束。有兩種同步串行通信的格式,它們采用不同的方式標(biāo)識數(shù)據(jù)塊的開始和結(jié)束。這兩種格式分別是面第9章單片機(jī)的串行通信169向位的同步格式和面向字符的同步格式。面向位的同步格式,如圖9.5所示,以01111110作為數(shù)據(jù)塊的開始和結(jié)束標(biāo)志。如果在數(shù)據(jù)塊中連續(xù)出現(xiàn)了5個1,那么就在后面插入一個0,使得在數(shù)據(jù)塊中不會出現(xiàn)01111110。接收方會自動將數(shù)據(jù)塊中額外插入的0刪除,將數(shù)據(jù)恢復(fù)成原來的數(shù)據(jù)。上一頁下一頁返回9.1串行通信的概念2.異步串行通信異步串行通信是指通信雙方采用相同的時鐘,各自控制數(shù)據(jù)的發(fā)送和接收,如圖9.7所示。異步通信以字符為單位進(jìn)行傳輸,每次順序地傳輸一個字符的各個位,字符與字符之間可以有間隔,并且間隔的大小是任意的。在異步通信的時候,每個字符都按照起始位、數(shù)據(jù)位、校驗位、停止位的格式進(jìn)行傳輸,格式如圖9.8所示。其中起始位占1位,用低電平表示,然后是5~8位數(shù)據(jù)位,低位在前,高位在后,數(shù)據(jù)位后可帶一個奇偶校驗位,最后是停止位,用高電平表示,停止位可以是1位、1位半或2位。上一頁下一頁返回9.1串行通信的概念3.串行通信的制式串行通信根據(jù)其傳輸方向的不同分為三種制式:單工、半雙工、全雙工。單工指的是發(fā)送端僅能發(fā)送數(shù)據(jù),接收端僅能接收數(shù)據(jù),數(shù)據(jù)只能沿一個方向傳輸。半雙工指的是數(shù)據(jù)線的兩端各有一個發(fā)送器和一個接收器,兩端都能發(fā)送數(shù)據(jù)和接收數(shù)據(jù),但是不能同時發(fā)送或同時接收,在同一時刻,數(shù)據(jù)只能沿一個方向傳輸。全雙工指的是數(shù)據(jù)線的兩端可以同時發(fā)送或接收數(shù)據(jù)。4.錯誤校驗串行通信的目的是正確地傳輸數(shù)據(jù),所以需要對接收到的數(shù)據(jù)進(jìn)行校驗,檢查收到的數(shù)據(jù)是否是正確的,是否需要重新傳輸。常用的校驗方法有奇偶校驗、代碼和校驗及循環(huán)冗余碼校驗。上一頁下一頁返回9.1串行通信的概念奇偶校驗:在串行通信的時候,數(shù)據(jù)位的后面緊跟著一位檢驗位。如果使用奇校驗,那么數(shù)據(jù)位中的1的個數(shù)與校驗位1的個數(shù)之和應(yīng)為奇數(shù)。如果是偶校驗,那么數(shù)據(jù)位中1的個數(shù)與校驗位1的個數(shù)之和應(yīng)為偶數(shù)。在接收的時候,如果1的個數(shù)與校驗位的值一致,則說明傳輸正確,否則說明傳輸錯誤,需要重傳數(shù)據(jù)。奇偶校驗只能檢錯,不能糾錯。而且只能檢測1位誤碼,檢測出有錯后只能要求重發(fā),沒法糾正。代碼和校驗:發(fā)送端將數(shù)據(jù)塊中的字節(jié)求和,產(chǎn)生一個字節(jié)的校驗和,附在數(shù)據(jù)塊的末尾發(fā)送給接收端。接收端對數(shù)據(jù)塊中各字節(jié)求和,產(chǎn)生一個字節(jié)的校驗和,然后與發(fā)送端計算出的校驗和進(jìn)行比較,如果相同,則說明傳輸無誤,否則說明傳輸過程中出現(xiàn)了錯誤。上一頁下一頁返回9.1串行通信的概念循環(huán)冗余校驗:是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)或電腦文件等數(shù)據(jù)產(chǎn)生簡短固定位數(shù)校驗碼的一種散列函數(shù),主要用來檢測或校驗數(shù)據(jù)傳輸或者保存后可能出現(xiàn)的錯誤。生成的數(shù)字在傳輸或者存儲之前計算出來并且附加到數(shù)據(jù)后面,然后接收端進(jìn)行檢驗確定數(shù)據(jù)是否發(fā)生變化。一般來說,循環(huán)冗余校驗的值都是32位的整數(shù)。由于該方法易于采用二進(jìn)制的電腦硬件使用,容易進(jìn)行數(shù)學(xué)分析并且尤其善于檢測傳輸通道干擾引起的錯誤,因此廣泛應(yīng)用于磁盤信息的傳輸、存儲區(qū)的完整性校驗、同步通信等領(lǐng)域。9.1.2串行通信的波特率數(shù)據(jù)的傳輸速率可以用比特率表示。比特率是每秒鐘傳輸二進(jìn)制代碼的位數(shù),單位是:位/秒(bps)。上一頁下一頁返回9.1串行通信的概念如果串行傳輸?shù)淖址母袷綖椋眰€起始位、8個數(shù)據(jù)位、1個停止位,那么每傳輸一個字符就是10個比特,如果每秒傳輸240個字符,那么串行傳輸?shù)谋忍芈示褪牵保啊粒玻矗埃剑玻矗埃埃ǎ猓穑螅?。在?shù)據(jù)通信中也經(jīng)常用波特率表示數(shù)據(jù)的傳輸速率。波特率表示每秒鐘調(diào)制信號變化的次數(shù),并不一定會和比特率相等。如果一個調(diào)制信號只攜帶一個比特的數(shù)據(jù),那么波特率就和比特率相等。如果一個調(diào)制信號攜帶二個比特的數(shù)據(jù),那么波特率就會是比特率的2倍。9.1.3串行通信的標(biāo)準(zhǔn)接口RS-232也稱標(biāo)準(zhǔn)串口,是最常用的一種串行通信接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機(jī)終端生產(chǎn)廠家共同制定的用于串行通信的標(biāo)準(zhǔn)。上一頁下一頁返回9.1串行通信的概念它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有22根線,采用標(biāo)準(zhǔn)25芯D型插頭座(DB25),后來使用簡化為9芯D型插座(DB9),現(xiàn)在應(yīng)用中25芯插頭座已很少采用。串口有陰陽之分,9芯陽頭串口如圖9.9所示,上排從左到右分別是1號引腳至5號引腳,對應(yīng)的陰頭串口與之相反,從右到左分別是1號引腳至5號引腳。各引腳的功能定義見表9.1。9.1.4RS-232電平與TTL電平的轉(zhuǎn)換51系列單片機(jī)使用的是TTL電平,當(dāng)51系列單片機(jī)與計算機(jī)的RS-232串口相連的時候,由于兩者的電平不同,因此需要在兩者之間加一個電平轉(zhuǎn)換電路。上一頁下一頁返回9.1串行通信的概念圖9.10是一個典型的RS-232電平與TTL電平轉(zhuǎn)換電路,通過這個電路我們可以了解兩種電平之間的轉(zhuǎn)換過程。在圖9.10中,TXD和RXD接51單片機(jī),PCRXD和PCTXD接PC機(jī)的RS-232串口。當(dāng)TXD輸出低電平0時,Q3導(dǎo)通,于是PCRXD為高電平+3~+15V,PC讀取到0。目前在實現(xiàn)TTL電平與RS-232電平轉(zhuǎn)換的時候,通常使用MAX232等芯片,其內(nèi)部的電平轉(zhuǎn)換電路類似于圖9.10。MAX232芯片只需要一個+5V的電源供電,片載的電壓變換電路具有升壓和電壓極性反轉(zhuǎn)的能力,能夠產(chǎn)生RS-232所需要的+10V和-10V電壓。MAX232芯片功耗低,集成度高,片外只需接4個電容即可工作。上一頁下一頁返回9.1串行通信的概念MAX232芯片有16個引腳,其結(jié)構(gòu)和功能如圖9.11所示。這16個引腳分為三個部分:第一部分是電壓變換電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+10V和-10V兩個電壓,提供給RS-232串口。第二部分是數(shù)據(jù)轉(zhuǎn)換通道,由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。上一頁返回9.2串行通信的結(jié)構(gòu)及工作方式9.2.1串行通信的結(jié)構(gòu)51系列單片機(jī)有一個可編程的全雙工串行通信口,它可作為UART(通用異步收發(fā)器),也可作同步移位寄存器。其幀格式可為8位、10位或11位,并可以設(shè)置多種不同的波特率。通過引腳RXD(P3.0)和引腳TXD(P3.1)與外界進(jìn)行通信。其基本結(jié)構(gòu)如圖9.12所示。接收緩沖器是雙緩沖結(jié)構(gòu),在前一個字節(jié)從接收緩沖器讀出之前,就開始接收第二個字節(jié),第二個字節(jié)輸入至移位寄存器,若在第二個字節(jié)接收完畢而前一個字節(jié)未被讀走時,第二個字節(jié)就會被寫入接收緩沖器,覆蓋前一個字節(jié)的內(nèi)容。而發(fā)送數(shù)據(jù)時,發(fā)送的操作是CPU的主動行為,所以發(fā)送緩沖器中的數(shù)據(jù)不會丟失。下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式51單片機(jī)在開始使用串口通信前,需要先設(shè)置中斷允許寄存器IE,將EA和ES兩個中斷允許位置1。每當(dāng)串口發(fā)送完一個字符或接收完一個字符時,都會自動將TI或RI置1,進(jìn)入中斷處理程序。TI與RI都是串口控制寄存器SCON中的標(biāo)志位。SCON是一個與串口通信緊密相關(guān)的寄存器,如表9.2所示,各位功能如下:SM0和SM1:串行口工作方式選擇位??蛇x擇4種工作方式,如表9.3所示。在不同的工作方式下,波特率是不同的,其中方式0和方式2的波特率是固定的,取決于單片機(jī)的晶振頻率。而方式1和3的波特率由計數(shù)器T1的溢出率決定,隨著T1中初值的不同,溢出率也不一樣。上一頁下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式T1的溢出率就是T1的溢出頻率,也就是從裝入初值到溢出這段時間的倒數(shù)。如果在給T1裝入初值的時候,采用在中斷處理程序中裝入初值的方法,那么每次進(jìn)出中斷都會花費(fèi)少量的時間,積少成多就會影響計時的精確度。為了避免這種誤差,所以應(yīng)該采用計數(shù)器的工作方式2,將計數(shù)器T1當(dāng)作一個自動重裝初值的8位計數(shù)器來使用,將計算出來的初值放入TH1中,每次溢出時都自動將TH1中的初值裝入TL1中。表9.4中給出了串口工作于方式1、T1工作于方式2下波特率與初值的對照表:上一頁下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式9.2.2串行通信的工作方式51系列單片機(jī)的串口有四種工作方式,由SCON的SM0、SM1設(shè)定。當(dāng)串口工作于方式0時,串口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入輸出口。數(shù)據(jù)由RXD引腳輸入或輸出,同步移位脈沖由TXD引腳輸出。輸出時,對發(fā)送數(shù)據(jù)緩沖器SBUF寫入一個數(shù)據(jù),就開始了串口的發(fā)送過程。內(nèi)部的定時邏輯在SBUF寫入數(shù)據(jù)之后,經(jīng)過一個完整的機(jī)器周期,輸出移位寄存器中輸出位的內(nèi)容送RXD引腳輸出。同步移位脈沖由TXD引腳輸出,它使RXD引腳輸出的數(shù)據(jù)移入外部移位寄存器,如圖9.13(a)所示。當(dāng)數(shù)據(jù)的最高位D7移至輸出移位寄存器的輸出位時,再移位一次后就完成了一個字節(jié)的輸出,中斷標(biāo)志TI置1。在發(fā)送下一字節(jié)數(shù)據(jù)前,必須用軟件將TI清0。上一頁下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式輸入時,設(shè)置接收允許位REN為1,中斷標(biāo)志RI為0時,就會啟動串口接收過程。RXD引腳為串行輸入引腳,同步移位脈沖由TXD引腳輸出。當(dāng)接收完一幀數(shù)據(jù)后,由硬件將輸入移位寄存器中的內(nèi)容寫入SBUF,中斷標(biāo)志RI置1。如要再接收數(shù)據(jù),必須用軟件將RI清0。方式0不適合單片機(jī)之間的通信,因為通信雙方的TXD引腳都要輸出時序脈沖。所以方式0適合于單片機(jī)外接一個被動的串行設(shè)備,例如8位的串入并出移位寄存器74LS164。當(dāng)串口工作于方式1時,是10位的異步串行通信端口,其中8位數(shù)據(jù)位。從TXD引腳發(fā)送數(shù)據(jù),RXD引腳接收數(shù)據(jù)。上一頁下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式輸入時,用軟件置REN為1,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負(fù)跳變時,則說明接收到起始位,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。當(dāng)串口工作于方式2、3時,是11位的異步串行通信端口,其中9位數(shù)據(jù)位。第9位數(shù)據(jù)位是附加位,發(fā)送時是SCON中的TB8,接收時為RB8。兩種方式下的數(shù)據(jù)傳輸過程是一樣的,不同之處在于它們的波特率。在方式2下,波特率固定為晶振頻率的1/64或1/32,而在方式3下,波特率是可變的,由計數(shù)器T1的溢出率決定。上一頁下一頁返回9.2串行通信的結(jié)構(gòu)及工作方式輸出時,當(dāng)執(zhí)行寫SBUF指令時,就開始了串口發(fā)送過程。SCON的TB8位寫入移位寄存器的第9位,8位數(shù)據(jù)寫入SBUF。首先把起始位從TXD引腳輸出,其他位在移位寄存器中順次移位,停止位寫入移位寄存器的第9位。然后依次在TXD引腳上輸出8位數(shù)據(jù),低位在前,接下來是附加位TB8,最后是停止位。然后控制電路置位TI為1,請求中斷。輸入時,置位REN為1,接收器就開始以所選頻率的16倍速率開始取樣RXD引腳的電平狀態(tài),當(dāng)檢測到RXD引腳發(fā)生負(fù)跳變時,說明接收到起始位,將其移入輸入移位寄存器,開始接收這一幀數(shù)據(jù)。當(dāng)順次接收完一幀數(shù)據(jù)后,如果RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1,也就是說RB8=1),則將接收到的8位數(shù)據(jù)寫入SBUF,第9位數(shù)據(jù)位寫入RB8,置位RI為1,申請中斷。如果上述條件未被滿足,則接收到的數(shù)據(jù)被舍棄,不寫入SBUF,且不置位RI,繼續(xù)掃描RXD引腳,接收數(shù)據(jù)。上一頁返回9.3串行口的應(yīng)用在進(jìn)行串口通信的時候,有幾個相關(guān)的特殊寄存器需要進(jìn)行初始化設(shè)置,包括串口控制寄存器SCON、電源管理寄存器PCON、計數(shù)器T1和中斷允許寄存器IE。初始化的進(jìn)程如下:首先是設(shè)置串口的工作方式(也就是SCON中的SM0和SM1)。然后是設(shè)置串口通信的波特率,其步驟如下:(1)設(shè)置計數(shù)器T1工作于方式2(TMOD中對應(yīng)于T1的M1和M0)。(2)設(shè)置計數(shù)器T1的初值(TH1和TL1)。(3)設(shè)置波特率的倍頻位(PCON中的SMOD)。(4)啟動計數(shù)器T1(TCON中的TR1)。(5)最后是打開中斷(IE中的EA和ES)。下一頁返回9.3串行口的應(yīng)用9.3.2單片機(jī)與PC通信在51單片機(jī)與PC機(jī)進(jìn)行通信的時候,兩者之間需要增加一個電平轉(zhuǎn)換電路,將51單片機(jī)串口的TTL電平轉(zhuǎn)換成RS-232電平,然后再用串口線連接到PC機(jī)的串口上。如果是用開發(fā)板進(jìn)行學(xué)習(xí),那么只需要將編譯好的程序下載到開發(fā)板上,把開發(fā)板的串口與PC的串口用串口線連接起來即可。然后在PC機(jī)上運(yùn)行一個串口調(diào)試助手的小程序,就可以看到單片機(jī)與PC串口通信的現(xiàn)象。上一頁下一頁返回9.3串行口的應(yīng)用安裝好VSPD之后就可以添加虛擬串口,如圖9.16所示,Physicalports是PC機(jī)上的物理串口,設(shè)置端口一為COM4,端口二為COM3,然后單擊“添加端口”按鈕,就可以在Virtualports中看到添加的虛擬端口COM4和COM3,并且這兩個虛擬端口是相連的,也就是說從COM4發(fā)送的數(shù)據(jù)會被COM3收到,從COM3發(fā)送的數(shù)據(jù)會被COM4收到。在主函數(shù)中,首先是對于單片機(jī)的初始化,設(shè)置串口工作于方式1下,并允許串口接收數(shù)據(jù)。設(shè)置計數(shù)器T1工作于方式2下,自動重裝初值,初值為0xFD,也就是說,波特率為9600。while循環(huán)中的代碼用于將串口收到的數(shù)據(jù)發(fā)送出去。當(dāng)flag=1時,表示串口收到一個字符,且保存在了c中。上一頁下一頁返回9.3串行口的應(yīng)用串口中斷處理函數(shù)fun用于接收數(shù)據(jù)。如上所述,在主函數(shù)中發(fā)送數(shù)據(jù)不會進(jìn)入中斷處理程序,所以進(jìn)入串口中斷處理函數(shù)一定是因為接收到了一個數(shù)據(jù)。首先要將RI清0,然后將flag置1,表示收到數(shù)據(jù),最后將收到的字符暫存于變量c中。在串口調(diào)試助手中,每向單片機(jī)發(fā)送一個字符時,就會在接收窗口中顯示單片機(jī)發(fā)回的字符。依次發(fā)送9.3.3雙機(jī)通信可以將兩個51單片機(jī)連在一起,實現(xiàn)雙機(jī)通信。在進(jìn)行雙機(jī)通信的時候,根據(jù)雙機(jī)的距離不同,應(yīng)該選擇不同的連接方法。上一頁下一頁返回9.3串行口的應(yīng)用如果雙機(jī)的距離在5m以內(nèi),可以選擇將雙機(jī)的串口直接連在一起,用TTL電平通信。在使用TTL電平時,甲機(jī)的TXD要接到乙機(jī)的RXD,甲機(jī)的RXD要接到乙機(jī)的TXD。并且要將雙機(jī)的地線連接在一起,使雙機(jī)的高低電平一致,確保串口收發(fā)的信號能夠被正確識別。如果距離在5m以上,那么就要在雙機(jī)之間增加電平轉(zhuǎn)換電路,在發(fā)送端,將TTL電平轉(zhuǎn)換成RS-232電平,在接收端,將RS-232電平轉(zhuǎn)換成TTL電平。上一頁下一頁返回9.3串行口的應(yīng)用使用RS-232電平雙機(jī)通信的電路如圖9.20所示,需要進(jìn)行電平轉(zhuǎn)換,由單片機(jī)出來的TTL電平,經(jīng)過MAX232芯片的轉(zhuǎn)換,變成RS-232電平,然后使用交叉串口線連接雙機(jī)的RS-232串口即可。甲機(jī)的代碼如下:在上面的代碼中,數(shù)組seg中依次保存了共陰極數(shù)碼管顯示0~9的十六進(jìn)制編碼,位變量button為連接按鍵的引腳值,用于判斷按鍵何時被按下,當(dāng)按鍵被按下時,處于導(dǎo)通狀態(tài),引腳讀數(shù)為0。其他時候,引腳讀數(shù)為1。主函數(shù)中,

溫馨提示

  • 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

提交評論