




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學單片機應用實習實習報告目錄摘 要IAbstractII1.任務要求及說明12. 硬件電路原理與設計32.1硬件電路原理32.1.1最小系統(tǒng)32.2數碼管顯示電路6圖4 數碼管顯示電路圖62.3串口通信電路72.4矩陣鍵盤電路83 軟件設計93.1軟件介紹93.1.1程序編寫軟件Keil93.1.2仿真軟件Proteus93.2軟件設計93.2.1 數碼管顯示設計103.2.2串行通信接收程序104. 仿真與調試124.1數據輸入與顯示仿真結果124.2數字移位和串口仿真結果135. 小結與體會146.參考文獻15附錄1:C語言源程序16附錄2:元件清單27附錄3:實物圖28摘 要單
2、片機最小系統(tǒng),無論對單片機初學人員還是開發(fā)人員都具有十分重要的意義,可以利用最小系統(tǒng)進行編程實現工業(yè)控制。單片機最小系統(tǒng)電路板在單片機開發(fā)市場和大學生電子設計方面十分流行。本次課程設計包括STC89S52單片機最小系統(tǒng)包括復位和時鐘電路及供電系統(tǒng)、4×4矩陣鍵盤、獨立6個8段LED數碼管顯示電路以及DS18B20溫度傳感器。利用相關設計軟件進行原理圖設計利用Keil軟件編程以及Proteus軟件仿真借此鞏固單片機應用、模擬電路、數字電路課程及學會各種工程軟件的使用。 關鍵字:單片機 最小系統(tǒng) 矩陣鍵盤 Protues keilAbstractMCU minimum system, r
3、egardless of the singlechip novice staff or staff development ,who can use minimum system program for industrial control,has very important sense. MCU minimum system board in the MCU develop market and college students electronic design is very popular. The curriculum design, including STC89S52MCU m
4、inimum system ( including a reset and clock circuit and power supply system ),4 x4 matrix keyboard, the independent 6 LED digital tube display circuit and a DS18B20 temperature sensor. Using circuit design software schematic design, using Keil software and Protues software simulation, we consolidate
5、 the MCU application, analog circuit, digital circuit course and learn all kinds of engineering software use. Key Words:MCU minimum system matrix keyboard Keil Protues1.任務要求及說明(1)鍵盤一個4X4的矩陣鍵盤,其中,10個按鍵是09數字鍵;另外6個是功能鍵,用于功能選擇和控制,如“數據輸入”、“數據顯示”、“串行通信”功能選擇鍵,以及“回車”、“清除”、控制鍵。(2)顯示電路由6個7段LED數碼管組成的顯示電路。(3)串口
6、串行通信利用51的串口實現串行通信接口電路。完成ISP下載電路的設計、焊接 完成系統(tǒng)軟件的設計,包括程序結構設計、流程圖繪制、程序設計,實現如下功能(1)功能選擇通過功能選擇鍵,使得單片機處于不同的工作狀態(tài)并通過LED顯示相應的內容;可選擇的功能包括:數據輸入;數據顯示;串口通信(2)數據輸入通過功能選擇鍵選擇“數據輸入”后,可分次輸入10個4位十進制數據,并將輸入的數據保存在內部RAM中。數據輸入要求:1) 第一步輸入序號09,表明輸入的是第幾個4位十進制數據;2) 第二步按下回車鍵,完成序號輸入;3) 第三步輸入最多4位的十進制數據;4) 第四步按下回車鍵,完成數據輸入;5) 重復第一步,
7、開始新數據的輸入;6) 輸入數據的顯示格式是:最左邊是序號,然后是空格,之后是從右到左的最多4位十進制數;7) 若在輸入過程中(第一步或第三步)出現錯誤,按“清除”鍵,重新從第一步開始輸入數據。或者,自己設計10個十進制數的輸入及顯示方式。(3)數據顯示通過功能選擇鍵選擇“數據顯示”后,可顯示之前輸入的10個4位十進制數據中的任一個,要求:1) 第一步輸入序號09,表明顯示的是第幾個4位十進制數據;2) 第二步顯示相應的數據;3) 重復第一步、第二步,顯示其他的數據;4) 數據的顯示格式是:最左邊是序號,然后是空格,之后是要顯示的數據,從右到左最多4位十進制數?;蛘?,自己設計數據的顯示方式。(
8、4)數據通信將兩個單片機最小系統(tǒng)通過串口連接起來,其中一個作為主系統(tǒng),另一個作為輔系統(tǒng)。當通過功能選擇鍵選擇“串行通信”后,當在主系統(tǒng)上按下數字鍵后主系統(tǒng)的LED按從左向右移東的方式顯示按鍵輸入的數字,同時輔系統(tǒng)的LED上顯示與主系統(tǒng)同樣的內容。(5)利用仿真軟件完成系統(tǒng)仿真工作(6)在單片機最小系統(tǒng)硬件上實現任務3中規(guī)定的功能2. 硬件電路原理與設計2.1硬件電路原理2.1.1最小系統(tǒng)單片機最小系統(tǒng)包括振蕩器電路,復位電路,單片機EA端接高電平(Vcc),P0口需要接上拉電阻(10K)。振蕩器電路選用12MHz晶振,兩個30pf電容,振蕩器電路接單片機XTAL1和XTAL2引腳。單片機最小系
9、統(tǒng)原理圖如下。圖1 單片機最小系統(tǒng)1、MCU控制器簡介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,2個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電
10、模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。2.復位電路單片機的置位和復位,都是為了把電路初始化到一個確定的狀態(tài),一般來說,單片機復位電路作用是把一個例如狀態(tài)機初始化到空狀態(tài),而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。單片機復位電路原理是在單片機的復位引腳RST上外接電阻和電容,實現上電復位。當復位電平持續(xù)兩個機器周期以上時復位有效。復位電平的持續(xù)時間必須大于單片機的兩個機器周期
11、。具體數值可以由RC電路計算出時間常數。復位電路由按鍵復位和上電復位兩部分組成。上電復位 STC89系列單片及為高電平復位,通常在復位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電回路保證單片機在上電時RST腳上有足夠時間的高電平進行復位,隨后回歸到低電平進入正常工作狀態(tài),這個電阻和電容的典型值為10K和10uF。按鍵復位按鍵復位就是在復位電容上并聯(lián)一個開關,當開關按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復位。電路圖如圖2所示圖2 按鍵復位電路3.振蕩電路單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全
12、稱叫晶體振蕩器,它結合單片機內部電路產生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使
13、用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環(huán)來提供。STC89C51使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機內部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在15pF至50pF之間。其電路原理圖如3所示。圖3 晶體振蕩電路2.2數碼管顯示電路LED數碼管顯示是利用半導體發(fā)光制成條形的發(fā)光二極管,封裝在一起組成數字或其他符號形狀。數碼管根據公共端不同,分為共陰極和共陽極兩種形式。根據設計需要,本次選用共陰極數碼管。由于一個數碼管不能實現多位數顯示,同時從節(jié)省I/O端口考慮,結合數電知識,利用兩片74
14、HC573擴展單片機的IO口,兩片74HC573的輸出分別接6位7段共陰數碼管的段選端和公共端。74HC573是8數據鎖存器。主要用于數碼管、按鍵等等的控制,其輸出受輸出允許端OE和鎖存允許端LE的控制,當LE為高時鎖存器輸出為高阻態(tài),當OE為低,LE也為低時,輸入端的信號輸出到輸出端。 圖4 數碼管顯示電路圖2.3串口通信電路串口是計算機上一種非常通用設備通信的協(xié)議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的通信協(xié)議;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協(xié)議也可以用
15、于獲取遠程采集設備的數據。串口通信的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數據的同時用另一根線接收數據。它很簡單并且能夠實現遠距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設備線總常不得超過20米,并且任意兩個設備間的長度不得超過2米;而對于串口而言,長度可達1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成:地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數據同時在另一根線上接收數據。其他線用于握手,但是不是必須的。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。單片機
16、使用的是TTL電平,而計算機使用的是RS-232電平,要實現把電腦中的程序能下載到單片機上,就需要實現RS-232電平與TTL電平之間的轉換。實現這一功能的芯片有很多,本次課設所使用的芯片為MAX232及電容元件構成RS232電平與TTL電平轉換的串行口電路。MAX232是電平轉換芯片。1970年,美國電氣學會規(guī)定“RS232”串口通信協(xié)議。規(guī)定邏輯“1”,-5 -15V;邏輯“0”,+5 +15V 。噪聲容限為2V。要實現利用串口與單片機進行通信,就要進行電平轉換,把標準轉化成單片機可以識別的。MAX220MAX249都是電平轉換芯片,本次設計中就使用MAX232。其電路原理圖如圖5所示。圖
17、5 串口電路圖2.4矩陣鍵盤電路矩陣鍵盤檢測的原理和方法:矩陣鍵盤每個按鍵兩端都與單片機I/O口相連,因此在檢測時需人為通過單片機I/O口送出低電平。檢測時,先送一列為低電平,其余幾列全為高電平(此時確定了列數),然后立即輪流檢測一次各行是否有低電平,若檢測到某一行為低電平(這是有確定了行數),則便可以確認當前被按下的鍵是哪一列哪一行,用同樣方法輪流送各列一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣既可檢測完所有的按鍵,當有鍵按下時便可判斷出按下的是哪一個鍵。其工作原理是從0列開始順序行掃描即該行輸出為0。每掃描一行讀入列線數據從0開始列檢查找該行輸出為0的列若無則順序掃描下一行并檢查其
18、各列若找到某列線為0則該列與檢查行交叉的按鍵為被按下的鍵。從0行0列開始順序將按鍵編號就可以按掃描的值得到按鍵的值。本設計使用的是4個獨立按鍵其功能設置為時間的顯示、時間的設置、溫度的顯示和數字頻率的顯示。此外還需要消除按鍵在閉合或斷開時的抖動。消抖的方法可采用消抖電路(RS觸發(fā)器時鎖電路硬件消除抖動),也可采用延時方式軟件消除抖動(延時后再重讀,以跳過抖動期),本設計采用軟件消抖方式。本設計中主要使用了獨立鍵盤,故電路圖中簡要的畫出了4*4的矩陣鍵盤,其電路原理圖如圖6所示 圖6 矩陣鍵盤原理圖3 軟件設計3.1軟件介紹3.1.1程序編寫軟件Keil Keil C51是美國Keil Soft
19、ware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。本次設計編程主要使用Keil軟件進行編程。3.1.2仿真軟件ProteusProtues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受
20、到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯。本次設計采用的是Proteus進行仿真。3.2軟件設計本次設計的要求是完成鍵盤掃描、單片機控制數碼管動態(tài)顯示數據、串口通信等功能,且有具有功能選擇鍵。選擇數據輸入時,可以輸入序號,再輸入相應的不超過四位的數據,再選擇數據顯
21、示功能,按下相應的序號按鍵就能顯示你所輸入的數據。串口通信時進行鍵盤掃描,當相應的按鍵被按下時,在主系統(tǒng)和輔系統(tǒng)的六位數碼管上同步依次顯示按鍵值,且后鍵入的數字在左端,之前鍵入的數字移向下一個數碼管。同時還設置了清零功能鍵,當該按鍵被按下時,所有的數碼管全部熄滅。故設計思想為首先進行各模塊的程序編寫,使其個模塊的程序能夠單獨運行成功。之后將各模塊設計成子函數,在主函數中進行調用,當功能鍵被按下時,執(zhí)行相應的子程序。3.2.1 數碼管顯示設計該程序分為鍵盤掃描和數碼管顯示兩部分,其程序流程圖如7所示:開始鍵盤掃描 NY是否有鍵按是否是切換數字顯示返回模式選擇Y 否 是 是 否圖7 數據輸入流程圖
22、3.2.2串行通信接收程序由于要實現兩個單片機之間的通信,在接收單片機上要寫與發(fā)送程序相對應的接收程 序,兩者應設定相同的波特率。對應的接收程序流程圖如圖8所示。T1初始化,啟動T1工作設定串行通信方式并設定允許接收RI=1接收數據清RI全部數據完全接收完結束圖8 接收程序流程圖4. 仿真與調試4.1數據輸入與顯示仿真結果 (a)(b)圖9 仿真電路總圖4.2數字移位和串口仿真結果(a)(b)圖10 數字移位與串口仿真圖5. 小結與體會 本次實習是對所學的單片機知識的一次綜合運用,本次設計要求完成鍵盤掃描顯示,數據輸入與數據顯示,串口通信等內容。首先,要求能夠熟練的運用Protues進行單片機
23、的仿真,由于以前沒用過這個軟件,仿真一開始就成了難題,這對于沒怎么用過這個軟件的我來說是一大挑戰(zhàn)。不過,通過一兩天的摸索,總算是把它的一些基本操作弄清楚了,最終也成功繪制出具有基本擴展電路的單片機系統(tǒng)。接下來是在Keil上進行程序的編寫, 但是又由于對單片機知識沒有很好的掌握,所以程序的編寫變成了整個實習的難處。不斷的查找資料,和同學討論最總才寫出了正確的程序,實現了要求的功能。 在本次實習中學到了很多,熟悉了Protues軟件的使用,程序的編寫也讓我對單片機的認識又加深了一步。通過本次實習讓我對以前所學知識有了一個更深刻的認識,學會了將所學的知識運用到實際中去,同時也讓我意識到了理論與實際的
24、差距,在實習中遇到了各種各樣的問題,往往看是簡單的一件事到實際去做的時候才發(fā)現有好多的東西沒考慮過。由于實驗中沒能實現串行通信的功能,讓我認識到自己知識的薄弱,讓我認識到自己還有很多不足,在以后的學習中,更加努力學習,彌補不足,讓自己的編程能力有所提高。6.參考文獻1 謝自美. 電子線路設計·實驗·測試(第三版).武漢:華中科技大學出版社2 李群芳. 單片微型計算機與接口技術(第3版).電子工業(yè)出版社,20083 劉教瑜. 單片機原理及應用.武漢理工大學出版社,20114 張東亮. 單片機原理與應用.人民郵電出版社,20095 郭天祥. 51單片機C語言教程.電子工業(yè)出版社
25、附錄1:C語言源程序發(fā)送機主程序:#include <reg52.h> /此文件中定義了51的一些特殊功能寄存器#define KEY_PORT P1 /鍵盤硬件接口#define DISPLAY_PORT1 P0 /數碼管硬件接口1#define DISPLAY_PORT2 P2 /數碼管硬件接口2unsigned char code table1=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/從左到右的數碼管 0 1 2 3 4 5 unsigned char code table2=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07
26、,0x7f,0x6f;/09unsigned char key;unsigned char key_temp6;unsigned char count=0;unsigned char fun3_flag=0;long num10;/用來裝載輸入的數據void delayms(unsigned int xms);void init_usart(void);void delay(unsigned char x);void keyscan(void);unsigned char keydown(void);void fun3_display(void);void send_data(void);un
27、signed char menu_select(void); void display(unsigned char data_order,int num);void display_data(void);void input_data(void);void main(void) unsigned char menu;init_usart(); while(1) menu=menu_select();/選擇功能 switch(menu) case 10: input_data(); break; case 11: display_data(); break; case 12: fun3_flag
28、=0;while(fun3_flag!=2) if(fun3_flag=1) fun3_display(); send_data(); break; default: break; /*發(fā)送數據*/void send_data(void) if(keydown() SBUF=key;/SUBF接受/發(fā)送緩沖器 while(TI=0);/當發(fā)送標志位為0,即未完成發(fā)送,則一直等待,直到發(fā)送完成 TI=0; /發(fā)送完成之后,將發(fā)送中斷標志TI置0 if(key=13) fun3_flag=2; else fun3_flag=1; if(key<10) key_temp(count+%6)=k
29、ey; if(count=7) count=1; /* 延時子程序*/void delayms(unsigned int xms) unsigned int i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-);void init_usart(void) SCON =0x50; /REN=1允許串行接受狀態(tài),串口工作模式2 TMOD|=0x20; /定時器工作方式2 PCON|=0x80; /波特率提高一倍 /TH1=0xFD; /baud*2 /* reload value 19200、數據位8、停止位1。效驗位無(11.0592) TH1=0xF3;
30、/ /baud*2 /* 波特率4800、數據位8、停止位1。效驗位無 (12M)TL1=0xF3; TR1=1; /開啟定時器1 ES=1; /開串口中斷 EA=1; /開總中斷 /IE=0x0; SBUF=16;/告訴從機準備接受了/* 延時子程序*/void delay(unsigned char x) unsigned char j; while(x-)!=0) for(j=0;j<125;j+) ; /*鍵掃描子程序*/ void keyscan(void) unsigned char temp;temp=KEY_PORT; /讀P1口 temp=temp&0x0F;
31、temp=(temp|0xF0); if(temp=1) key=0; else if(temp=2) key=1; else if(temp=4) key=2; else if(temp=8) key=3; else key=16; KEY_PORT=0xF0; /高四位輸入 delay(1);temp=KEY_PORT; /讀P1口 temp=temp&0xF0; temp=(temp>>4)|0xF0); if(temp=1) key=key+0; else if(temp=2) key=key+4; else if(temp=4) key=key+8; else i
32、f(temp=8) key=key+12; else key=16; /*判斷鍵是否按下*/ unsigned char keydown(void) unsigned char keydownflag=0;KEY_PORT=0x0F;if(KEY_PORT!=0x0F) delay(2);/延時消抖,防止誤判10-2 if(KEY_PORT!=0x0F) keyscan(); keydownflag=1; KEY_PORT=0x0F; while(KEY_PORT!=0x0F); /等待鍵釋放 return keydownflag; /*從機顯示函數,循環(huán)右移*/ void fun3_disp
33、lay(void) unsigned char i=0; for(i=0;i<count;i+) DISPLAY_PORT1 =table1i;/送位選數據 DISPLAY_PORT2 =table2key_tempi;/送段選數據delayms(3); /*功能選擇函數*/unsigned char menu_select(void) unsigned char menu_key_temp=100;while(1) if(keydown()/如果按鍵被按下 menu_key_temp=key;/讀取按鍵值if(menu_key_temp=10|menu_key_temp=11|menu
34、_key_temp=12)/如果按鍵值是功能選擇鍵,則退出循環(huán) break; return menu_key_temp;/返會功能選擇 void display(unsigned char data_order,int num) /*顯示序號*/ DISPLAY_PORT1 =table10;/送位選數據 DISPLAY_PORT2 =table2data_order;/送段選數據 delayms(2); /*顯示千位*/ DISPLAY_PORT1 =table12;/送位選數據 DISPLAY_PORT2 =table2num/1000;/送段選數據 delayms(3); /*顯示百位*
35、/ DISPLAY_PORT1 =table13;/送位選數據 DISPLAY_PORT2 =table2(num/100)%10;/送段選數據 delayms(3); /*顯示十位*/ DISPLAY_PORT1 =table14;/送位選數據 DISPLAY_PORT2 =table2(num/10)%10;/送段選數據 delayms(3); /*顯示個位*/ DISPLAY_PORT1 =table15;/送位選數據 DISPLAY_PORT2 =table2num%10;/送段選數據 delayms(3); /*根據鍵盤輸入的序號進行顯示*/ void display_data(vo
36、id) key=100;/給key隨便賦值一個 do keydown(); if(key<10) display(key,numkey); while(!(key=13);/如果是功能返回鍵則返回 /*數據輸入函數*/void input_data(void) unsigned char j=0;/表示每一個數據輸入了幾位 unsigned char i=0;/表示輸入了幾個數據 unsigned char data_key;/用來存按鍵值 unsigned char data_order=0;/用來存序號 unsigned char whileflag=1; long num_temp
37、=0; /*輸入序號*/ while(i<10) while(!keydown();/等待按鍵被按下(等待輸入序號) data_key=key;/讀取按鍵值(讀取序號) while(!keydown()&&(!(key=14|key=15|key=13);/等待按鍵再次被按下 if(key=14)/清除鍵 continue;/從此處退出循環(huán)并重新開始執(zhí)行循環(huán) if(key=15) data_order=data_key; /把序號保存起來 if(key=13) break; /*輸入數據*/ num_temp=0;/數據緩存值清零 key=100;/隨便給key賦值,以便
38、于下面的判斷 while(!(key=14|key=15|key=13) if(keydown() if(key<10&&j<4) /輸入數據如果超過4個,超過4個的部分無效 num_temp =num_temp*10 +key; j+; j=0; if(key=14)/清除鍵 continue;/從此處退出循環(huán)并重新開始執(zhí)行循環(huán) if(key=15) numdata_order=num_temp; if(key=13) break; / display(data_order,numdata_order); i+; do keydown(); /等待功能返回鍵 while(!(key=13);接收機主程序與中斷服務程序:#include <reg51.h> /此文件中定義了51的一些特殊功能寄存器/*宏定義*/#define DISPLAY_PORT1 P0 /數碼管硬件接口1 ,位選端接口#define DISPLAY_PORT2 P2 /數碼管硬件接口2 , 段選端接口/*全局變量*/bit Flag=0;/顯示開/關的標志位 unsigned char ReData6; /接收數據數組unsigned char ReTempData;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 修理廠試用期合同樣本
- 公司運營投資合同樣本
- 2025微型工廠租賃合同樣本
- 專業(yè)分包總價合同樣本
- 買賣公司車合同樣本
- 2025年土地買賣合同無效案例分析
- 代理車輛貸款合同范例
- kv制作合同標準文本
- 不簽用人合同標準文本
- 絲網合同樣本
- JT-T-1045-2016道路運輸企業(yè)車輛技術管理規(guī)范
- FZ/T 50009.1-1998三維卷曲滌綸短纖維線密度試驗方法單纖維長度測量法
- ManagementInformationSystem管理信息系統(tǒng)雙語教學課件
- 氣候類型氣溫降水分布圖
- 小學生飛機知識科普課件
- 交通運輸有限責任公司安全生產費用提取使用制度
- 德陽巴蜀文化介紹
- 三年級下冊數學課件-4.1 整體與部分 ▏滬教版 (23張PPT)
- 住 用 房 屋 租 金 計 算 表
- 7.4.2超幾何分布 課件(共14張PPT)
- 晶狀體相關的繼發(fā)性青光眼進展課件
評論
0/150
提交評論