freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的液體點(diǎn)滴控制系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-02-14 14:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 獲/重裝觸發(fā)和方向控制)(5)~,所在引腳為21~28。P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2是通過(guò)它的輸出緩沖器驅(qū)動(dòng)4個(gè)TTL的輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)其內(nèi)部的上拉電阻把端口變?yōu)楦唠娖?,P2口在這時(shí)候可以用作輸入口。P2作為輸入口使用時(shí),由于上拉電阻的原因,那些被外部有些引腳會(huì)有電流流過(guò)。在對(duì)Flash ROM編程以及程序校驗(yàn)期間,一些高位地址和控制信號(hào)也可以由P2口進(jìn)行接收。P3口可以作為一般的I/O口,這功能和其他I/O口的功能相同,不同的是還具有復(fù)用功能,P3口的復(fù)用功能如表42所示: 表42 P3口引腳的復(fù)用功能[4]引腳號(hào)功能串行輸入口即RXD串行輸出口即TXD外部中斷0外部中斷1定時(shí)器0的外部輸入即T0口定時(shí)器1的外部輸入即T1口外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通外部數(shù)據(jù)存儲(chǔ)器讀選通(6)RST即9引腳。起到復(fù)位輸入的作用。RST起作用是在當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)進(jìn)行復(fù)位,因此RST主要用來(lái)完成單片機(jī)的復(fù)位初始化操作。RST引腳復(fù)位高電平有效。(7)ALE即30引腳。ALE表示地址鎖存控制信號(hào),它是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。特例是,在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。(8)VPP即31引腳。訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏VPP電壓。(9)PSEN即29引腳。外部程序存儲(chǔ)器選通信號(hào)。當(dāng)STC89C52RC從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。(10)XTAL1即19引腳。它是振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。(11)XTAL2即18引腳。它是振蕩器反相放大器的輸入端。 單片機(jī)主機(jī)系統(tǒng)設(shè)計(jì)單片機(jī)主機(jī)系統(tǒng)電路主要由時(shí)鐘電路和復(fù)位電路構(gòu)成。如圖43所示。時(shí)鐘電路:采用內(nèi)部震蕩的方式,結(jié)構(gòu)簡(jiǎn)單,所得的時(shí)鐘信號(hào)穩(wěn)定,采用并聯(lián)諧振電路分別用電容C2和C3與單片機(jī)的XTAL1和XTAL2相連。復(fù)位電路:本設(shè)計(jì)采用的是手動(dòng)復(fù)位和上電復(fù)位組合方式,開(kāi)始時(shí)RST處于低電平而正常工作,當(dāng)按鍵按下的時(shí)候,開(kāi)關(guān)導(dǎo)通(是通過(guò)上電復(fù)位實(shí)現(xiàn),每次上電便進(jìn)行復(fù)位)這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下之后,電容開(kāi)始釋放之前充的電量。復(fù)位后系統(tǒng)將I/O口寄存器置為0FFH,堆棧指針SP置為07H,SBUF內(nèi)置為不定值,其余的寄存器全部清0。 圖43 單片機(jī)主機(jī)系統(tǒng)電路 按鍵輸入電路按鍵電路主要設(shè)計(jì)成4個(gè)按鈕,如圖44所示,按鈕的功能為:KSET按鈕:使系統(tǒng)進(jìn)入SET界面 KUP按鈕:設(shè)置異常報(bào)警的時(shí)間上調(diào) KDN按鈕:設(shè)置異常報(bào)警的時(shí)間下調(diào)KON按鈕:設(shè)置是否啟動(dòng)報(bào)警功能圖44 按鍵部分按鈕的實(shí)物圖如圖45所示: 圖45 按鈕 液晶顯示 LCD1602介紹LCD1602是工業(yè)字符型液晶,它能同時(shí)顯示32個(gè)字符,內(nèi)涵復(fù)位電路,可以進(jìn)行清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。LCD實(shí)物圖如圖46和47所示: 圖46 LCD1602實(shí)物圖正面 圖47 LCD1602實(shí)物圖反面LCD1602的引腳如圖48所示:圖48 LCD1602引腳圖由圖48所示,LCD1602有16個(gè)引腳,16個(gè)引腳各具有不同的功能,以下是16個(gè)引腳的不同功能:第1腳:VSS,是電源地第2腳:VCC,是5V電源正極第3腳:V0,為液晶顯示器對(duì)比度調(diào)整端,可以接正電源和地電源,分別得到對(duì)比度最低以及對(duì)比度最高。第4腳:RS為寄存器選擇,分為高電平和低電平,高電平時(shí)作為選擇數(shù)據(jù)寄存器,低電平時(shí)作為選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線,分為高電平和低電平,高電平和低電平分別表示讀和寫(xiě)操作。第6腳:E端,為使能信號(hào)端,高電平時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第7~14腳:D0~D7,為8位雙向數(shù)據(jù)傳輸端,用來(lái)傳輸顯示的數(shù)據(jù)。第15~16腳:空腳或背燈電源,15腳表示背光正極,16腳表示背光負(fù)極[5]。LCD1602顯示屏的內(nèi)部指令有11條,11條指令代表不同的功能,它的指令表如圖49所示: 圖49 LCD1602內(nèi)部指令表 指令1:清除顯示指令,返回00H指令2:復(fù)位光標(biāo)的指令,光標(biāo)返回到00H指令3:光標(biāo)以及顯示模式的設(shè)置(主要控制光標(biāo)以及顯示文字的移動(dòng)方向)指令4:表示顯示開(kāi)關(guān)控制。總共含有3個(gè)部分,D、C和B都有低電平和高電平之分,D、C和B分別表示控制整體顯示、控制光的開(kāi)關(guān)以及是否閃爍。高電平時(shí),D表示開(kāi)顯示,C表示開(kāi)光標(biāo),B表示閃爍。低電平時(shí)D表示關(guān)顯示,C表示關(guān)光標(biāo),B表示不閃爍。指令5:光標(biāo)以及顯示的移位(高低電平分別移動(dòng)文字及光標(biāo))指令6:設(shè)置功能的命令(也有高低電平之分)指令7:字符發(fā)生器隨機(jī)存儲(chǔ)器的地址設(shè)置指令8:雙倍數(shù)據(jù)速率的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器地址的設(shè)置指令9:顯示是否忙碌,高低平表示忙碌,低電平表示空閑,而且高電平時(shí)雙行顯示N,低電平時(shí)單行顯示F指令10:寫(xiě)入數(shù)據(jù)指令指令11:讀出數(shù)據(jù)指令 LCD1602與52單片機(jī)相連接 LCD模塊以及單片機(jī)模塊,分別如圖410,411所示: 圖410 LCD模塊 圖411 單片機(jī)與LCD相連部分 LCD1602顯示設(shè)計(jì) LCD內(nèi)部地址如表43所示: 表43 LCD1602內(nèi)部地址 滴速系統(tǒng)顯示電路(如圖412所示): LCD1602主要顯示液體滴速,累計(jì)滴數(shù),以及報(bào)警是否打開(kāi)。 圖412系統(tǒng)顯示電路 報(bào)警電路 報(bào)警電路采用蜂鳴器報(bào)警,如圖413所示,對(duì)異常狀況進(jìn)行報(bào)警。報(bào)警電路原理圖如圖414 圖413 蜂鳴器實(shí)物圖 圖414 報(bào)警電路原理圖圖中三極管主要是做驅(qū)動(dòng)用的。因?yàn)閱纹瑱C(jī)的IO口驅(qū)動(dòng)能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過(guò)三極管放大驅(qū)動(dòng)電流,從而可以讓蜂鳴器發(fā)出聲音,當(dāng)輸出為高電平,三極管導(dǎo)通,集電極電流通過(guò)蜂鳴器讓蜂鳴器發(fā)出聲音,當(dāng)輸出低電平時(shí),三極管截止,沒(méi)有電流流過(guò)蜂鳴器,所以就不會(huì)發(fā)出聲音。 光電傳感器電路本次設(shè)計(jì)主要采用的是型號(hào)為CX24的光電傳感器,該光電傳感器性能良好,因此適合用于該畢業(yè)設(shè)計(jì),CX24光電傳感器的特點(diǎn)是:(1)小型體積(2)2個(gè)傳感器可貼近安裝(3)防水效果好(4)超群的穿透力,可不受灰塵和污垢的影響(5)受外部光線的影響比較小CX24光電傳感器實(shí)物圖如圖415所示: 圖415 CX24光電傳感器實(shí)物圖光電傳感器與單片機(jī)相連原理圖如圖416所示: 圖416 光電傳感器與單片機(jī)相連原理圖光電傳感器主要與單片機(jī)的中斷口相連,當(dāng)一滴液體進(jìn)過(guò)光電傳感器便產(chǎn)生一次中斷,并送入到單片機(jī)的INT0口,便產(chǎn)生一次中斷然后開(kāi)始計(jì)算液體點(diǎn)滴的速度,每一次中斷就計(jì)算一次,如此循環(huán)下去。第五章 液體點(diǎn)滴速度監(jiān)控裝置系統(tǒng)軟件設(shè)計(jì)圖51是系統(tǒng)的主程序流程圖,該系統(tǒng)處于循環(huán)狀態(tài)同時(shí),然后通過(guò)單片機(jī)的定時(shí)器/計(jì)數(shù)器以及相關(guān)的內(nèi)部計(jì)算顯示當(dāng)前液滴的速度以及累計(jì)滴數(shù),通過(guò)判斷還可以對(duì)異常狀況實(shí)現(xiàn)報(bào)警處理。 圖51 系統(tǒng)主程序流程圖把初始的液滴速度、累計(jì)滴數(shù)設(shè)置為零,以及把報(bào)警設(shè)置為開(kāi)狀態(tài),把異常報(bào)警間隔設(shè)置為1000(單位為10ms) include uint32 ulCount = 0。 // 累計(jì)多少滴uint16 uiPPM = 0。 // 滴/minuint8 ucBuzzerOn = 1。 // 報(bào)警ONuint16 uiBuzzerTimer = 1000。硬件中斷又分為外部中斷和內(nèi)部中斷,外部中斷一般是指由計(jì)算機(jī)外部設(shè)備發(fā)出的中斷請(qǐng)求,比如:鍵盤(pán)的中斷、打印機(jī)的中斷、定時(shí)器的中斷等,通過(guò)光電傳感器以及定時(shí)器產(chǎn)生的外部中斷服務(wù)子程序流程圖,如圖52所示: 圖52 外部中斷服務(wù)子程序流程圖該外部中斷用來(lái)計(jì)算液體點(diǎn)滴的速度,以及累計(jì)滴數(shù),以及結(jié)果輸出等部分工作。中斷程序代碼如下:①初始化中斷代碼如下:void InterruptInit(uint8 ucInterrupt, uint8 ucType){ if (ucInterrupt == 0) { IT0 = ucType。 EX0 = 1。 } else if (ucInterrupt == 1){ IT1 = ucType。 EX1 = 1。 } EA = 1。}②關(guān)閉中斷程序代碼如下:void CloseInterrupt(uint8 ucInterrupt){ if (ucInterrupt == 0) { EX0 = 0。 } else if (ucInterrupt == 1) { EX1 = 0。 }}③計(jì)算速度代碼,以及滴數(shù)的代碼:void INT_0(void) interrupt 0 { ulCount++。 uiPPM = 6000 / GetTimerTick(0)。 SetTimerTick(0, 0)。 }④中斷次數(shù)計(jì)算的代碼如下:uint16 GetTimerTick(uint8 ucTimer){ if (ucTimer = 2) { uint16 tmp = uiTimerTick[ucTimer]。 while (tmp != uiTimerTick[ucTimer]){tmp = uiTimerTick[ucTimer]。} return tmp。 } else { return 0。 }} 其中中斷一次的時(shí)間為10ms。 按鍵程序本次設(shè)計(jì)的4個(gè)按鈕分別實(shí)現(xiàn)進(jìn)入設(shè)置界面、異常報(bào)警時(shí)間上調(diào)、異常報(bào)警時(shí)間下調(diào)、以及是否異常報(bào)警的功能。通過(guò)判斷按鍵值確認(rèn)不同的按鍵,按鍵的流程圖53如下所示:圖53 按鍵流程圖按鍵代碼如下。uint8 GetKey(uint8 type){ uint8 ucKeyValue = 0。 static uint8 s_ucFastKey = 0。 ucKeyValue = ScanKey()。 if (ucKeyValue == 0){s_ucFastKey = 0。 return 0。} KeyDelay1ms(10)。 ucKeyValue = ScanKey()。 if (ucKeyValue == 0){s_ucFastKey = 0。 return 0。} if BELL_ENABLE == 1 BELL_ON()。 KeyDelay1ms(10)。 BELL_OFF()。endif if (type == 0) { s_ucFastKey = ucKeyValue。 while (s_ucFastKey != 0) { s_ucFastKey = ScanKey()。 ucKeyValue |= s_ucFastKey。 } s_ucFastKey = 0。 return ucKeyValue。 } else { uint16 uiDelay = 0。 if (ucKeyValue != s_ucFastKey){s_ucFastKey = 0。} if (s_ucFastKey == 0) { uiDelay = 0。 while (ScanKey() != 0) { ucKeyValue |= ScanKey()。 KeyDelay1ms(1)。 uiDelay++。 if (uiDelay FAST_KEY_DEL
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1