基于51單片機的智能干手器設(shè)計與制作_第1頁
基于51單片機的智能干手器設(shè)計與制作_第2頁
基于51單片機的智能干手器設(shè)計與制作_第3頁
基于51單片機的智能干手器設(shè)計與制作_第4頁
基于51單片機的智能干手器設(shè)計與制作_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

目錄

1設(shè)計意義..................................................................................................................2

2總體設(shè)計方案..........................................................................................................2

2.1產(chǎn)品功能分析及整體框圖設(shè)計....................................................................2

2.2主要部件的選型............................................................................................2

3硬件電路設(shè)計..........................................................................................................3

3.1硬件電路的設(shè)計原理.....................................................................................3

3.2硬件設(shè)計的系統(tǒng)框圖.....................................................................................4

3.3硬件電路的設(shè)計介紹.....................................................................................4

3.3.1單片機STC89C51介紹........................................................................4

3.3.2光電傳感器電路...................................................................................6

3.3.3液晶顯示電路......................................................................................7

3.3.4繼電器電路..........................................................................................9

3.3.5時鐘電路............................................................................................11

4電路原理圖及PCB板設(shè)計....................................................................................11

5軟件設(shè)計................................................................................................................13

5.1軟件設(shè)計介紹..............................................................................................13

5.2主程序的設(shè)計..............................................................................................13

6系統(tǒng)制作................................................................................................................14

7實物作品操作效果及指引圖.................................................................................14

7.1實物作品展示..............................................................................................14

7.2實物作品操作演示.......................................................................................15

8結(jié)論........................................................................................................................18

9附錄........................................................................................................................19

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

基于51單片機的智能干手器設(shè)計與制作

1設(shè)計意義

如今這年代我們?nèi)找嬷匾暯】?。我們通常用洗手控制細菌擴散,但是許多

人往往會忽視洗干凈手,使手變得干燥這一環(huán)節(jié),由此造成洗手效果下降,所

以,大家有必要重視洗手之后的干手環(huán)節(jié)。而且自動干手器不只是可以干手,

同時具備衛(wèi)生等性質(zhì),從而受到了大家的喜愛。

自動干手器屬高檔衛(wèi)生潔具,它能代替毛巾,紙巾,對于手部的晾曬。本

實用新型節(jié)能環(huán)保、人性化等優(yōu)勢,該設(shè)計以51單片機實現(xiàn)智能控制,采用51

單片機與紅外光電傳感器相結(jié)合,設(shè)計了一種干手器,該干手器具有能自動感

知人手接近與脫離,可通過液晶顯示目前的時間及干手器的運行時間,也可由

按鍵可進行開關(guān)選擇,輸出冷風(fēng)還是熱風(fēng),分別適應(yīng)各種溫度天氣。

本設(shè)計具有方案設(shè)計可行性,同樣有一定市場前景。對于自身來說,學(xué)習(xí)

這門學(xué)科能夠?qū)⒋髮W(xué)里學(xué)到的專業(yè)知識加以消化。

2總體設(shè)計方案

2.1產(chǎn)品功能分析及整體框圖設(shè)計

該設(shè)計是由紅外感應(yīng)傳感器來得到的印證,當(dāng)用手實現(xiàn)傳感器的輸出信號

的時候,發(fā)出的紅外線脈沖折射回來。紅外線能收=收到后轉(zhuǎn)化為電信號并放大,

所得方波信號變換到I/O口,為了實現(xiàn)人體信號獲取。當(dāng)單片機能察覺到人體

信號的時候,用軟件來控制顯示屏的倒計時間,并利用繼電器關(guān)閉控制風(fēng)扇開

關(guān),實現(xiàn)了智能干手器設(shè)計。

2.2主要部件的選型

主控芯片:STC89C51單片機被選為主控芯片,以確保系統(tǒng)的高效運行。其中

包括電源管理模塊和時鐘電路模塊。STC89C51是宏晶科技公司所推出的一款高

性能、低功耗的八位CMOS微處理器,其內(nèi)置8k在線編程Flash存儲器,為用

戶提供卓越的微處理器體驗。該單片機能夠?qū)崿F(xiàn)對電機轉(zhuǎn)速的控制以及對電流

電壓信號的檢測和處理,并且還能通過串口與上位機通訊來完成各種控制參數(shù)

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

的設(shè)定等工作。STC89C51,單片機的核心采用了MCS-51,內(nèi)核,該內(nèi)核與MCS-51,

完全兼容。然而,隨著單片機的升級,芯片具備了許多傳統(tǒng)51,單片機所不具

備的功能,例如該芯片還擁有4K的EEPROM存儲。當(dāng)需要使用掉電存儲數(shù)據(jù)時,

只需直接使用單片機內(nèi)部的存儲,無需在外接存儲芯片進行存儲。另外由于該

芯片有多種外設(shè)接口,因此還能夠?qū)崿F(xiàn)一些復(fù)雜的控制和管理功能。STC89C51

單片機是一款開發(fā)簡單、支持在線編程下載、成本低廉的理想之選。

顯示器件:采用LCD1602液晶顯示屏。LCD1602液晶又叫LCD1602字符型液

晶。液晶顯示功能強大,可以同時顯示出16*2即32個字符,可包括數(shù)字、字

母、符號、或者自定義字符。LCD1602液晶顯示器中的每一個字符都是由5*7的

點陣組成。LCD1602采用并行數(shù)據(jù)傳輸也可以采用串行數(shù)據(jù)傳輸,控制簡單,和

市面上的大多基于HD44780液晶的控制原理完全相同。

人機交互輸入器件:采用矩陣鍵盤作為輸入設(shè)備。矩陣鍵盤通過將按鍵的

兩端分別接到行線和列線上,然后將每一條行線和列線連接到單片機上,通過

程序算法進行讀取按下的是哪一個按鍵按下。這樣做雖然增加了程序算法的難

度,但是節(jié)約了單片機I/O口的使用。

3硬件電路設(shè)計

3.1硬件電路的設(shè)計原理

本產(chǎn)品利用51單片機完成整個控制流程并利用紅外感應(yīng)來對人體信號來收

集,進而可以獲得人體信號的采集。在單片機能探測人體信號時,利用軟件操

縱液晶顯示倒計時間和操縱繼電器關(guān)閉以達到切換負載以設(shè)計智能干手器產(chǎn)品。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.2硬件設(shè)計的系統(tǒng)框圖

系統(tǒng)的主要設(shè)計框圖如圖所示。

3.1硬件設(shè)計的系統(tǒng)框圖

3.3硬件電路的設(shè)計介紹

3.3.1單片機STC89C51介紹

STC89C51主要功能

主要功能特性

與MCS51兼容是指令系統(tǒng)4K可以重復(fù)擦寫FlashROM

32個雙向I/O口256x8bit內(nèi)部RAM

2個可編程定時器中斷時鐘頻率為0-24MHz

2個串行中斷可編程的UART串行通道

2個外部中斷源共6個中斷源

2個讀寫中斷口線3級加密位

低能耗空閑以及掉電模式軟件設(shè)置了睡眠功能與喚醒功能

U1

140

P10VCC

239

P11P00

338

P12P01

437

P13P02

536

P14P03

635

P15P04

734

P16P05

833

P17P06

932

RESETP07

1031

P30/RXDEA/VP

1130

P31/TXDALE/P

1229

P32/INT0PSEN

1328

P33/INT1P27

1427

P34/T0P26

1526

P35/T1P25

1625

P36WRP24

1724

P37/RDP23

1823

X2P22

1922

X1P21

2021

GNDP20

STC89C52

圖3.2STC89C51DIP封裝圖

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

單片機要求時鐘,復(fù)位等、電源和其他元件,能使單片機始終工作在安全

狀態(tài)。為了提高其安全性和穩(wěn)定性,必須要使用一種特殊結(jié)構(gòu)的芯片來完成這

些任務(wù)。把最小系統(tǒng)作為應(yīng)用系統(tǒng)中的一個主要組成部分,通過其存儲器的擴

展,A/D擴展等等,使得單片機能夠執(zhí)行更多復(fù)雜功能用。

由STC89C51單片機組成的最小系統(tǒng),操作方便,可靠性高。本文介紹了它

在一個小功率的微型電機控制系統(tǒng)中的使用方法及軟硬件設(shè)計思想。

圖3.3單片機最小系統(tǒng)原理框圖

(1)時鐘電路

STC89C51單片機的生成模式主要分為兩種:其中之一就是外部時鐘方式,

其中之一就是內(nèi)部時鐘方式。前者由單片機控制其輸出端工作,后者則采取中

斷方式來完成。內(nèi)部時鐘方式如下圖可示。這種方式需要用芯片自身來提供定

時功能,而外部時鐘方式則可以使用單片機本身自帶的定時器。本單片機內(nèi)設(shè)

有振蕩電路,只需將晶振外接單片機XTAL2,XTAL1的引腳即可,于是成了自激

振蕩器,便在單片機中生成時鐘脈沖信號。如果用上述方法來產(chǎn)生內(nèi)部時鐘方

式的時鐘時,則需要使用電阻或電位器等元件組成振蕩器。下圖中電容C1、C2

功能用于快速起振,穩(wěn)定速率。

圖3.4STC89C51外部時鐘電路

(2)復(fù)位電路

復(fù)位操作是當(dāng)進行完單片機片內(nèi)電路初始化工作后,會使單片機在原定的

狀態(tài)下進行啟動。當(dāng)RST持續(xù)處于高電平時,要求在復(fù)位之后,能從復(fù)位狀態(tài)

中分離出來。

除上電復(fù)位外,有時還需要按鍵進行人工復(fù)位,脈沖式復(fù)位采用的是電阻

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

分壓電路。電平復(fù)位由RST端與Vcc連接完成。

按照這一要求,此處使用電平按鈕復(fù)位方式。通電后因電容而充電,使得RST

在一段時間內(nèi)保持高電平。單片機已經(jīng)處于工作中的時候,按下復(fù)位鍵,RST還

可以在一定時間內(nèi)保持高電平,由此達到上電和開關(guān)復(fù)位動作。一般我們會采

用電容值為10~30μF的,電阻值為10kΩ的。

圖3.5STC89C51復(fù)位電路

(3)STC89C51最小系統(tǒng)電路

圖3.6STC89C51單片機最小系統(tǒng)設(shè)計

3.3.2光電傳感器電路

通過將光強度的變化轉(zhuǎn)化為電信號的變化,光電開關(guān)得以實現(xiàn)對光強度的

控制。它可以用光電轉(zhuǎn)換元件作為傳感部件,也可以用光敏器件作傳感器,但

后者又比前者簡單得多。通常情況下,光電開關(guān)由發(fā)送器、接收器和三個組成

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

部分構(gòu)成,它們相互協(xié)作,共同實現(xiàn)開關(guān)的功能進行電路探測。

當(dāng)手伸向干手器下方時,光電開關(guān)檢測到紅外線脈沖被反射回來,隨后被

紅外接收管接收并轉(zhuǎn)化為電信號,隨后經(jīng)過運放進行信號放大,得到的方波信

號被輸送至單片機,從而實現(xiàn)對人體信號的采集。光電開關(guān)電路接口設(shè)計如下圖

3.5所示。

圖3.7光電開關(guān)電路接口設(shè)計

3.3.3液晶顯示電路

本設(shè)計中采用了LCD1602A作為顯示電路,LCD1602A為工業(yè)字符型液晶產(chǎn)品,

可同時顯示16x02(32字符)。它可以將圖像和文字信息進行疊加,具有很高的

實用價值。(16列2行)。由于它具有分辨率高、色彩豐富等優(yōu)點而被廣泛地

應(yīng)用于各種設(shè)備的控制系統(tǒng)上。在我們的日常生活中,液晶顯示器是一種廣為

人知的設(shè)備。它主要應(yīng)用于家庭和辦公室的各種儀表上。LCD1602實物圖如下所

示。

圖3.8LCD1602實物圖

(1)引腳說明:

第1腳:VSS為地電源。

第2腳:VDD接5V正電源。

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

第3腳:VL為液晶顯示器對比度調(diào)整端,接通正電源時,對比度最小,接

地后對比度最高,不能對比度過大。

第4腳:RS為寄存器選擇的,當(dāng)高電平時為數(shù)據(jù)寄存器、低電平時則為指

令寄存器。

第5腳:讀操作是高電平進行的,寫操作是以低電平進行的。除了閱讀命

令外,您可以對此數(shù)據(jù)進行其他處理。在RS與R/W一起是低電平的情況下,指

令可以是寫入的,也可以是地址顯示的,當(dāng)RS為低電平、R/W為高電平,能讀

出忙信號,當(dāng)RS為高電平R/W為低電平,可以寫數(shù)據(jù)。

第6腳:E端是使能端,當(dāng)E端從高電平轉(zhuǎn)換為低電平時,液晶模塊將執(zhí)行

命令。

第7~14腳:D0~D7為八位雙向數(shù)據(jù)線。

第15腳:背光源正極。

第16腳:背光源負極。

(2)顯存地址與顯示屏的對應(yīng)關(guān)系

圖3.91602內(nèi)部顯示地址

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

(3)LCD1602液晶顯示電路接口設(shè)計

圖3.10液晶顯示電路接口設(shè)計

3.3.4繼電器電路

(1)繼電器簡介

繼電器為電子控制器件如下圖所示。它有控制系統(tǒng)(又稱輸入回路)和被

控制系統(tǒng)(又稱輸出回路),經(jīng)常作用于自動控制電路中,它其實是用較小的

電流去控制較大的電流的一種“自動開關(guān)”。因而在電路中起到自動調(diào)節(jié),安

全保護和轉(zhuǎn)換電路的功能。

圖3.11繼電器原理圖

當(dāng)繼電器內(nèi)線圈的兩端接收到電壓時,線圈內(nèi)的電流便會穿過,從而引發(fā)

電磁效應(yīng)。此時,銜鐵會被電磁力所吸引,從而解決了返回彈簧產(chǎn)生拉力的問

題,并實現(xiàn)了吸合通過鐵芯的作用,實現(xiàn)了動態(tài)觸點與靜態(tài)觸點的吸合,從而

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

推動銜鐵的運動。當(dāng)線圈失去電源時,電磁吸力將隨之消失,而銜鐵則會受到

彈簧反作用力的影響,從而恢復(fù)到其原來的位置,同時動觸點和也會逐漸放松

靜態(tài)接觸點的初始狀態(tài)。通過吸合和釋放,以實現(xiàn)電路中導(dǎo)通和斷開的目的。

(2)繼電器接口電路設(shè)計

繼電器電路主要用來控制風(fēng)扇和加熱器,其電路接口設(shè)計如下圖3.12所示。

圖3.12繼電器接口電路圖

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.3.5時鐘電路

時鐘電路采用了DS1302時鐘芯片,DS1302是由美國DALLAS公司推出的具

有涓細電流充電能力的低功耗實時時鐘芯片。它可以對年、月、日、周、時、

分、秒進行計時,并且具有閏年補償?shù)榷喾N功能。DS1302時鐘電路接口設(shè)計如

下圖3.13所示。

圖3.13DS1302時鐘電路設(shè)計

4電路原理圖及PCB板設(shè)計

圖4.1原理圖

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4.2PCB板設(shè)計圖

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5軟件設(shè)計

5.1軟件設(shè)計介紹

本系統(tǒng)設(shè)計有一個主程序以及一個中斷程序,其中主函數(shù)包含了六個子函

數(shù)。

5.2主程序的設(shè)計

程序的主函數(shù)中包含方波初始化和紅外頻率檢測初始化程序,并根據(jù)標志

位Flag的狀態(tài)來執(zhí)行顯示倒計時、設(shè)置時間和按鍵的操作。

圖5.1主程序流程圖

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

6系統(tǒng)制作

單片機應(yīng)用開發(fā)可以劃分為如下4個過程:

(1)硬件系統(tǒng)的設(shè)計調(diào)試,比如電路的設(shè)計等

(2)應(yīng)用程序設(shè)計。比如程序的創(chuàng)意,使用軟件進行編寫。

(3)調(diào)試應(yīng)用。實現(xiàn)硬件在線調(diào)試,并且在調(diào)試期間不斷修改完善軟硬件。

(4)系統(tǒng)離線運行檢查。開展全面檢查并根據(jù)所發(fā)生的問題對硬件,軟件或者

總體設(shè)計方案進行修改。

7實物作品操作效果及指引圖

7.1實物作品展示

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

7.2實物作品操作演示

1、接通電源后,液晶屏上顯示年月日時分秒,如下圖所示:

2、按下D1設(shè)置鍵可以調(diào)節(jié)日期以及時間,D2鍵是+,D3鍵是-。

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3、按下D4鍵,LED燈會跳轉(zhuǎn)到紅燈,也就意味著干手器吹的會是熱風(fēng),再摁一

下D4鍵,則會切換回綠燈表示干手器吹冷風(fēng)。

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

4、手放在傳感器的感觸范圍內(nèi),干手器開始運作,手離開三秒后自動停止運作,

當(dāng)手一直處于傳感器范圍內(nèi)則會在15秒停止一次

8結(jié)論

一學(xué)期下來,圓滿完成畢業(yè)設(shè)計規(guī)定的工作。在畢業(yè)設(shè)計中遇到了一些問

題,需要對其進行改進。在這段時間里,筆者搜集到很多有關(guān)紅外感應(yīng)及單片

機的信息,經(jīng)對比分析,得到了該設(shè)計方案。

該項目設(shè)計了一種自動感應(yīng)干手器,在硬件上,主要設(shè)計是液晶電路與單

片機控制電路的設(shè)計與制作,再利用外接負載,即可達到冷風(fēng)與熱風(fēng)之效果。

從而達到設(shè)計自動干手器。

該設(shè)計制造的以單片機為控制核心的干手器,可以實現(xiàn)對人手伸入和脫離

情況的自動識別,當(dāng)人手伸入干手機所能操作的區(qū)域,做手機工作每次15秒鐘。

干手后自動停止。通過液晶顯示干手機的當(dāng)前的時間信息,并且正在顯示本次

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

作業(yè)的倒計時時間。當(dāng)雙手伸開時,干手器會自動啟動吹風(fēng)模式。利用按鍵開

關(guān)來選擇輸出冷風(fēng)還是熱風(fēng),分別適應(yīng)各種溫度天氣。

通過畢業(yè)設(shè)計,不僅學(xué)習(xí)到許多新東西,并鞏固原有所學(xué),將學(xué)到的知識

貫穿始終,能很好地將硬件知識與軟件知識有機地融合,學(xué)習(xí)怎樣讓軟件和硬

件協(xié)同工作。同時也學(xué)習(xí)解決調(diào)試中出現(xiàn)的問題,驗證了電路可行性,這對于

他們今后的學(xué)習(xí),工作都是非常有益的。

9附錄

附錄1元器件清單

DescriptionCommentQuantity

電容10uF1

電容302

5MM黃色發(fā)光二極管LEDY1

5MM綠色發(fā)光二極管LEDG1

5MM紅色發(fā)光二極管LEDR1

3MM紅色發(fā)光二極管LED1

電源接口POWER1

2P接線端子電源接口2

排針CON22

三極管90122

電阻1K6

電阻2k1

電阻10k5

晶振32.7681

晶振12MHz1

電源開關(guān)SWITCH1

微動開關(guān)SW-PB5

時鐘芯片DS13021

單片機AT89C52/S521

繼電器JDQ-DC52

液晶LCM_16021

紐扣電池3V1

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄2原理圖

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄3PCB板圖

21

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄4實物作品

22

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄5程序源碼

#ifndef__MAIN_H__

#define__MAIN_H__

#include<reg52.h>

//IO設(shè)置

sbitHY=P2^0;//紅外采集

sbitJDQ=P3^5;//吹風(fēng)繼電器

sbitJDQ_J=P3^6;//加熱繼電器

sbitLED_L=P1^4;//冷風(fēng)

sbitLED_R=P1^5;//熱風(fēng)

#defineLCD1602_PORTP0

sbitLCD1602_RS=P2^5;

sbitLCD1602_RW=P2^6;

sbitLCD1602_EN=P2^7;

sbitkey1=P1^6;//時間設(shè)置鍵

sbitkey2=P1^7;//加鍵

sbitkey3=P3^2;//減鍵

sbitkey4=P1^0;//加熱切換

//函數(shù)或者變量聲明

externvoidDelay_ms(unsignedintn);

externvoidGet_Maopi();

externvoidGet_Weight();

#endif

#include<reg52.h>

#include<intrins.h>

#include<string.h>

#include"main.h"

#include"LCD1602.h"

#defineucharunsignedchar

#defineuintunsignedint

charcount,miao_count,miao_tingzhi;//計時變量

ucharflag_led;

#include"wannianli.h"

//鍵盤處理變量

//****************************************************

//主函數(shù)

//****************************************************

23

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

voidmain()

{

Init_LCD1602();//初始化LCD1602

TH0=0x4c;

TL0=0x00;

TMOD=0x21;

ET0=1;

TR0=0;

EA=1;

//Ds1302Init();

while(1)

{

keyscan();

if(key4==0)

{

delay(20);

if(key4==0)

{

flag_led=!flag_led;

while(key4==0);

}

}

if(flag_led)

{

LED_L=1;

LED_R=0;

}

else

{

LED_L=0;

LED_R=1;

}

if(JDQ==0)

{

if(flag_led)

JDQ_J=0;

else

JDQ_J=1;

}

else

JDQ_J=1;

if(keynum==0)

24

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

{

if(HY==0)

{

delay(20);

if(HY==0)

{

miao_tingzhi=miao_count;

TR0=1;

JDQ=0;

}

}

elseif(HY==1&&JDQ==0)

{

if(miao_count-miao_tingzhi>3)

{

miao_count=0;

JDQ=1;

TR0=0;

count=0;

miao_count=0;

}

}

display();

}

}

}

voidTimer0()interrupt1

{

TH0=0x4c;

TL0=0x00;//50ms

count++;

if(count>=20)

{

miao_count++;

if(miao_count>=15)

{

miao_count=0;

JDQ=1;

TR0=0;

}

count=0;

25

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

}

}

//****************************************************

//MS延時函數(shù)(12M晶振下測試)

//****************************************************

voidDelay_ms(unsignedintn)

{

unsignedinti,j;

for(i=0;i<n;i++)

for(j=0;j<123;j++);

}

Keyboard.c程序

#include"keyboard.h"

externbitbdataflag_key;

//按鍵掃描函數(shù):

//功能;只掃描一個按鍵,按鍵為號小優(yōu)先

//返回鍵值:

//12310//10:清零重量,兼去皮功能

//45611//11:清除單價

//78912//12:顯示數(shù)值偏大調(diào)節(jié)按鍵

//1401513//14:無功能(用于擴展)15:小數(shù)點13:

顯示數(shù)值偏小調(diào)節(jié)按鍵

unsignedcharGetkeyboard(void)

{

unsignedcharnumber=0;

unsignedchari;

//行輸入低電平

ROW1=ROW2=ROW3=ROW4=0;

//如果列輸出不全為高,則說明有鍵按下

if(((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1))&&flag_key==1)

{

//輸入0111

flag_key=0;

ROW1=0;

ROW2=ROW3=ROW4=1;

for(i=0;i<20;i++);

if(COL1==0)return1;//7

elseif(COL2==0)return2;//8

elseif(COL3==0)return3;//9

elseif(COL4==0)return10;//10

//輸入1011

26

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

ROW2=0;

ROW1=ROW3=ROW4=1;

for(i=0;i<20;i++);

if(COL1==0)return4;//4

elseif(COL2==0)return5;//5

elseif(COL3==0)return6;//6

elseif(COL4==0)return11;//11

//輸入1101

ROW3=0;

ROW1=ROW2=ROW4=1;

for(i=0;i<20;i++);

if(COL1==0)return7;//1

elseif(COL2==0)return8;//2

elseif(COL3==0)return9;//3

elseif(COL4==0)return12;//12

//輸入0111

ROW4=0;

ROW1=ROW2=ROW3=1;

for(i=0;i<20;i++);

if(COL1==0)return14;

elseif(COL2==0)return0;

elseif(COL3==0)return15;

elseif

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論