基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)_第1頁
基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)_第2頁
基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)_第3頁
基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)_第4頁
基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

南京郵電大學(xué)2021/2021學(xué)年第2學(xué)期軟件設(shè)計(jì)實(shí)驗(yàn)報(bào)告題目基于單片CPU的LCD顯示溫度控制器設(shè)計(jì)專業(yè)電子信息工程學(xué)號(hào)姓名指導(dǎo)老師實(shí)驗(yàn)日期2021年05月05日題目:基于CPU的LCD顯示溫度控制器設(shè)計(jì)一,實(shí)驗(yàn)?zāi)康暮鸵?,Proteus軟件的MCS51單片機(jī)仿真學(xué)習(xí)2,根據(jù)提供的參考工程,在proteus平臺(tái)自己重新設(shè)計(jì)實(shí)驗(yàn)電路所需要的電器原理圖,并在此基礎(chǔ)上編寫相對(duì)應(yīng)的程序,實(shí)現(xiàn)其功能,學(xué)習(xí)proteus軟件的使用,其中包括原理圖器件的選取,原理圖的電氣連接,程序的編寫編譯以及運(yùn)行,并能查出其錯(cuò)誤等。基本要求:用熱敏電阻或溫度傳感器作溫度探頭,通過AD轉(zhuǎn)換器變換,把溫度數(shù)據(jù)轉(zhuǎn)換成BCD碼在LCD上顯示。顯示精度±0。5℃能記錄和回放溫度參數(shù),記錄間隔可任意設(shè)定(1S到1h,步長1s)回放數(shù)據(jù)速度可設(shè)定畫出溫度變化曲線。發(fā)揮部分:1顯示精度提高到±0。1℃2顯示精度提高到±0。01℃3與實(shí)際溫度計(jì)溫度比較,找出溫度顯示誤差曲線,在報(bào)告中描出,并分析誤差來源4實(shí)現(xiàn)溫度自動(dòng)補(bǔ)賞二,實(shí)驗(yàn)儀器微型計(jì)算機(jī)三,實(shí)驗(yàn)原理溫度測量通??梢杂脙煞N方式來實(shí)現(xiàn),一種是用熱敏電阻之類的器件,由于感溫效應(yīng),熱敏電阻的阻值能夠隨溫度變化,當(dāng)熱敏電阻接入電路,測量過它的電流或其兩端的電壓就會(huì)隨溫度變化發(fā)生響應(yīng)的變化,在將溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)化后,發(fā)送到單片機(jī)進(jìn)行處理,通過顯示電路,就可以將被測溫度顯示出來。這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,其測溫電路比較麻煩。第二種方法是用溫度傳感器芯片。溫度傳感器芯片能把溫度信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),直接發(fā)送給單片機(jī),轉(zhuǎn)換后通過顯示電路既可以顯示。四,基本原件及其原理單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),是指在一塊芯片體上集成了中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM或EPROM、定時(shí)器/計(jì)數(shù)器、中斷控制器以及串行和并行I/O接口等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。目前,新型單片機(jī)內(nèi)還有A/D及D/A轉(zhuǎn)換器、高速輸入/輸出部件、DMA通道、浮點(diǎn)運(yùn)算等特殊功能部件。由于它的結(jié)構(gòu)和指令功能都是按工業(yè)控制設(shè)計(jì)要求設(shè)計(jì)的,特別適用于工業(yè)控制及其數(shù)據(jù)處理場合,因此,確切的稱謂是微控制器,單片機(jī)只是習(xí)慣稱呼。51單片機(jī)引腳圖如下:(1)單片機(jī)的特點(diǎn)1)有優(yōu)異的性能價(jià)值比。2)集成度高、體積小、有很高的可靠性。單片機(jī)把各個(gè)功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場環(huán)境易于采取措施,適合于惡劣環(huán)境下工作;也易于產(chǎn)品化。3)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有及其豐富的轉(zhuǎn)移指令、I/O口邏輯操作及位處理指令。一般來說,單片機(jī)的邏輯控制功能及運(yùn)行速度高于同意檔次的微機(jī)。4)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置都比較典型、規(guī)范,而且非常容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。(2)單片機(jī)并行I/O接口的擴(kuò)展單片機(jī)與外部交換信息是通過I/O接口電路來實(shí)現(xiàn)的。AT89C51單片機(jī)本身有4個(gè)8位的并行I/O口P0-P3,但實(shí)際使用時(shí)往往再增加些I/O口,以便與外部設(shè)備交換數(shù)據(jù)。AT89C51單片機(jī)外部RAM和擴(kuò)展I/O接口是統(tǒng)一編址的。用戶可以把外部64KBRAM空間的一部分作為擴(kuò)展I/O接口地址空間,每一個(gè)I/O接口相當(dāng)于一個(gè)RAM存儲(chǔ)單元,訪問外部RAM存儲(chǔ)單元就像訪問外部I/O接口,即用“MOVX”指令對(duì)擴(kuò)展I/O接口進(jìn)行輸入輸出操作。查詢式鍵盤的接口電路查詢式鍵盤屬于獨(dú)立式鍵盤,鍵盤的各個(gè)按鍵之間彼此是獨(dú)立的且是最簡單的鍵盤電路。每個(gè)鍵地接入一根數(shù)據(jù)輸入線。如圖所示。注意:由于每一個(gè)按鍵均需要一根I/O口線,當(dāng)鍵盤按鍵數(shù)量比較多時(shí),需要的I/O口線也較多,因此獨(dú)立式鍵盤只適合于按鍵較少的應(yīng)用場合。一般情況下,按鍵數(shù)等于占用I/O端口數(shù)。查詢式鍵盤的結(jié)構(gòu)圖如圖所示:P1.0P1.1P1.0P1.1查詢式鍵盤的接口電路查詢式鍵盤可以工作在多種方式下,中斷方式、程序查詢方式、定時(shí)查詢發(fā)送和中斷查詢方式。在中斷模式下,按鍵的數(shù)量受到外部中斷源的限制。在有特殊需要的場合,還可以借用內(nèi)部的定時(shí)器中斷。所以在這種模式下,按鍵的數(shù)目小于外部中斷源和單片機(jī)定時(shí)器數(shù)量之和。程序查詢和定時(shí)查詢類似,都是通過讀I/O狀態(tài),當(dāng)有鍵被按下時(shí)相應(yīng)的I/O口線變?yōu)榈碗娖?,而未被按下的鍵對(duì)應(yīng)的I/O口線保持為高電平,這樣通過讀I/O口狀態(tài)可判斷是否有鍵按下和哪一個(gè)鍵被按下。1602LCD的基本參數(shù)及引腳功能1602lcd分為帶背光和不帶背光兩種,其控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別。LM016L結(jié)構(gòu)圖溫度傳感器及其原理溫度傳感器是一種將溫度變化轉(zhuǎn)換為電量變化裝置。將溫度變化轉(zhuǎn)換為熱電勢變化的稱熱電偶傳感器。將溫度變化轉(zhuǎn)換為電阻變化的稱為熱電阻傳感器;金屬熱電阻式傳感器簡稱為熱電阻,半導(dǎo)體熱電阻式傳感器簡稱為熱敏電阻。溫度傳感在工業(yè)生產(chǎn)、科學(xué)研究、民用生活等許多領(lǐng)域得到廣泛應(yīng)用。電阻式傳感器廣泛被用于-200~960℃范圍內(nèi)的溫度。是利用導(dǎo)體或半導(dǎo)體的電阻隨溫度變化而變化的性質(zhì)而工作的,用儀表測量出熱電阻的阻值變化,從而得到與電阻值對(duì)應(yīng)的溫度值。電阻式傳感器分為金屬熱電阻傳感器和半導(dǎo)體熱電阻傳感器兩大類。前者稱為熱電阻,后者稱為熱敏電阻。對(duì)于熱敏電阻,需要了解以下幾點(diǎn):(1)測溫原理及特性NTC熱敏電阻研制的較早,也較成熟。最常見的是由金屬氧化物組成。根據(jù)不同的用途,NTC又可以分為兩大類。第一類用于測量溫度。它的電阻值與溫度之間呈負(fù)的指數(shù)關(guān)系。第二類為負(fù)的突變型,當(dāng)其溫度上升到某設(shè)定值時(shí),其電阻值突然下降,多用于各種電子電路中抑制浪涌電流,起保護(hù)作用。典型的PTC熱敏電阻通常是在鈦酸鋇陶瓷中加入施主雜質(zhì)以增大電阻溫度系數(shù)。(2)熱敏電阻的應(yīng)用熱敏電阻具有尺寸小、響應(yīng)速度快、阻值大、靈敏度高等特點(diǎn),因此它在許多領(lǐng)域被廣泛應(yīng)用。(3)熱敏電阻的溫度補(bǔ)償熱敏電阻可以在一定的溫度范圍內(nèi)對(duì)某些元件進(jìn)行溫度補(bǔ)償。熱敏電阻可以用于溫度控制:DS18B20溫度傳感器的作用是將溫度經(jīng)過熱敏電阻Rt轉(zhuǎn)換為電壓信號(hào)。在本課題中溫度范圍的計(jì)算原理:首先把A/D轉(zhuǎn)換中電位器旋鈕順時(shí)針旋到底,即模擬信號(hào)的輸入不衰減,選取兩個(gè)溫度狀態(tài)T1、T2,分別測量出其模擬輸出電壓V1、V2;根據(jù)0809的輸入范圍在0到5伏,即可計(jì)算出溫度極限。0伏時(shí)對(duì)應(yīng)的溫度TL:T1-(V1-0)(T2-T1)/(V2-V1)。5伏時(shí)對(duì)應(yīng)的溫度TH:T1-(V1-5)(T2-T1)/(V2-V1)本實(shí)驗(yàn)中近似計(jì)算TH為150攝氏度,TL為-50攝氏度。程序溫度的計(jì)算原理:首先用溫度范圍除以0到256(即每個(gè)十六進(jìn)制數(shù)的溫度增長率),然后乘以模擬轉(zhuǎn)換的數(shù)字量,即得到升高的溫度,在和最低溫度相加,就可以得到實(shí)際的溫度值。其公式為:TL+AX(TH-TL)/256TL:顯示的最低溫度TH:顯示的最高溫度AX:模擬電壓所轉(zhuǎn)換的數(shù)字量五,仿真軟件的使用1.Keil軟件的使用:首先正確安裝keil軟件—>打開keil—>project—>newUvisionproject—>為工程取名字,并選擇工程要保存的路徑,建議每個(gè)工程新建一個(gè)文件夾,方便文件管理—>出來一個(gè)對(duì)話框,是選擇芯片的,你根據(jù)你的芯片公司和型號(hào)來選擇就行了,比如:最常用的at89c52,點(diǎn)atmel,找到at89c52,點(diǎn)OK后會(huì)出來一個(gè)對(duì)話框,問你是否添加啟動(dòng)文件,點(diǎn)“是”—>這樣就建好了一個(gè)工程,點(diǎn)File菜單下New新建文件—>先保存文件,點(diǎn)保存按鈕后出來路徑框,取名字后綴是.c或者.h,點(diǎn)保存—>接下來在左邊project下把Target1點(diǎn)開,在SourceGroup1上右鍵,點(diǎn)擊AddFiletoGroup'SourceGroup1'—>在彈出的框中點(diǎn)剛剛保存的文件,然后點(diǎn)Add,關(guān)閉對(duì)話框,左邊project框中可以看到文件已經(jīng)添加—>在開始之前還是先來配置一下keil環(huán)境,點(diǎn)擊工具欄品字圖標(biāo)左邊像魔棒一樣的按鈕—>接下來的配置比較復(fù)雜,我用圖來解釋,Target項(xiàng)目下只改一個(gè)晶振的值,Output下要點(diǎn)擊生產(chǎn)HEX文件,Debug下左邊是keil仿真調(diào)試配置,右邊是程序下載到芯片調(diào)試配置,看你是怎么用了?!?gt;一切完工,可以編程調(diào)試了。2.proteus軟件的使用:新建文件,查找元件,并添加。畫好電路圖后,添加用keil生成的hex文件,即可運(yùn)行。六,實(shí)驗(yàn)數(shù)據(jù)實(shí)驗(yàn)原理圖:四張圖分別代表:實(shí)驗(yàn)連接圖(無鍵盤),實(shí)驗(yàn)連接圖(有鍵盤),溫度記錄控制圖1,溫度記錄控制圖2。1.實(shí)驗(yàn)連接圖(無鍵盤)2.實(shí)驗(yàn)連接圖(有鍵盤)3.溫度記錄控制圖1。4.溫度記錄控制圖2。置存儲(chǔ)取首址;顯示緩沖區(qū)首址(對(duì)應(yīng)字形碼);置串行輸出口即RXD,置時(shí)鐘輸出口即TXD;存入顯示數(shù)據(jù)。表頭地址;查表指令;段碼地址指針,顯示段碼字節(jié)數(shù);輸出子程序;取段碼;段碼左移則輸出一位段碼然后發(fā)送脈沖一位。顯示程序流程圖LCD顯示器流程圖如圖所示:A=1A=1 Y NA#80HAA#80HA0C0H調(diào)命令寫入子程序調(diào)命令寫入子程序調(diào)數(shù)據(jù)寫入子程序調(diào)數(shù)據(jù)寫入子程序返回返回(顯示子程序)顯示地址P0顯示數(shù)據(jù)P0 顯示地址P0顯示數(shù)據(jù)P0RS0RS0RS1清WR有效清WR有效清WR有效清WR有效調(diào)使能脈沖子程序調(diào)使能脈沖子程序調(diào)使能脈沖子程序調(diào)使能脈沖子程序返回返回返回返回(寫數(shù)據(jù)子程序)(寫命令子程序)A/D轉(zhuǎn)換子程序設(shè)計(jì)顯示緩沖器存放0AH,0DH,-,0XH,0XH;串行靜態(tài)顯示“AD–XX”XX表示0~F;A/D地址清零,啟動(dòng)A/D轉(zhuǎn)換器,延時(shí)等待轉(zhuǎn)換結(jié)果然后讀入結(jié)果送入數(shù)碼管顯示。累加器內(nèi)容存入B中,A的內(nèi)容高四位與低四位交換,A的內(nèi)容高四位清零,A/D轉(zhuǎn)換結(jié)果高位送入DBUF3中,取出A/D轉(zhuǎn)換后的結(jié)果,A的內(nèi)容高四位清零則結(jié)果低位送入DBF4中;串行靜態(tài)顯示“AD–XX”。靜態(tài)顯示子程序;顯示表頭地址;取段碼到TEMP中去顯示段碼地址指針讀出段碼字節(jié)數(shù);移位次數(shù)取段碼;段碼左移;輸出一位段碼;發(fā)送一個(gè)一位脈沖。A/D轉(zhuǎn)換流程圖A/D轉(zhuǎn)換流程圖如圖所示:初始初始啟動(dòng)A/D轉(zhuǎn)換A/D轉(zhuǎn)換完成?數(shù)據(jù)輸出延時(shí)開始結(jié)束查詢式鍵盤程序設(shè)計(jì)先初始化地址參數(shù),顯示緩沖區(qū)初始;輸入前,鎖存器置“1”;讀取鍵盤狀況;有鍵按下,若無鍵按下返回;延時(shí)去抖動(dòng);確有鍵按下則從鍵表中取鍵值然后相比較,若相等則等鍵釋放,延時(shí)去抖動(dòng)得鍵碼;若不相等,到繼續(xù)訪問鍵值表,鍵值不在鍵值中,即多鍵同時(shí)按下;然后鍵表值靜態(tài)顯示。查詢式鍵盤流程圖查詢式鍵盤流程圖如圖所示:顯示緩沖區(qū)初始顯示緩沖區(qū)初始LCD顯示有鍵輸入?讀取鍵值鍵值轉(zhuǎn)換為顯示數(shù)NY開始溫度傳感器設(shè)計(jì)溫度傳感器的程序設(shè)計(jì)輸入A/D端口地址;顯示溫度,將正負(fù)值區(qū)分顯示;顯示“–”號(hào)時(shí)求補(bǔ)碼;顯示“”時(shí)存入顯示內(nèi)容,讀入結(jié)果,計(jì)算溫度。其公式為:TL+AX(TH-TL)/256(TL:顯示的最低溫度TH:顯示的最高溫度AX:模擬電壓所轉(zhuǎn)換的數(shù)字量)溫度檢測的流程圖:溫度檢測流程圖如圖所示:A/D轉(zhuǎn)換A/D轉(zhuǎn)換溫度計(jì)算判斷正負(fù)顯示加“-”號(hào)溫度控制系統(tǒng)的總流程圖如圖所示:初始化溫度參數(shù)初始化溫度參數(shù)當(dāng)前溫度和設(shè)定溫度送顯示緩沖顯示溫度采樣當(dāng)前溫度鍵盤值是?當(dāng)前溫度與設(shè)定溫度比較不變讀鍵盤向上鍵向下鍵設(shè)定溫度加1設(shè)定溫度減1開始當(dāng)前溫度和設(shè)定溫度送顯示緩沖實(shí)驗(yàn)程序C語言代碼#include<AT89C51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodetab2[]="Temprature:";ucharcodetab3[]="";sbitDQ=P3^7;//定義DS18B20數(shù)據(jù)端口charcodetab[4][4]={{1,4,7,10},{2,5,8,0},{3,6,9,11},{12,13,14,15}};uchara,miao,shi,fen,tt,key1n,key3n,key2n,nian,yue,r,nianb,speak,wendu,wendu1,wendu3,miao1,shu,shu1,wendu4;unsignedcharcodedotcode[167]={0,6,12,19,25,31,37,44,50,56,62,69,75,81,87,94};sbitrs=P3^1;sbitrw=P3^2;sbiten=P3^3;//定義1602端口#defineyh0x80//第一行的初始位置#defineer0x80+0x40//第二行初始位置sfrDBPort=0x80;unsignedchartt,tt1;unsignedchart[2],*pt;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--)}//定義DQ引腳為P3.7/*ds18b20延遲子函數(shù)(晶振12MHz)*/voiddelay_18B20(unsignedinti){while(i--);}/*ds18b20初始化函數(shù)*/voidInit_DS18B20(void){unsignedcharx=0;DQ=1;//DQ復(fù)位delay_18B20(8);//稍做延時(shí)DQ=0;//單片機(jī)將DQ拉低delay_18B20(80);//精確延時(shí)大于480usDQ=1;//拉高總線delay_18B20(14);x=DQ;//稍做延時(shí)后如果x=0則初始化成功x=1則初始化失敗delay_18B20(20);}/*ds18b20讀一個(gè)字節(jié)*/unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號(hào)dat>>=1;DQ=1;//給脈沖信號(hào)if(DQ)dat|=0x80;delay_18B20(4);}return(dat);}/*ds18b20寫一個(gè)字節(jié)*/voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay_18B20(5);DQ=1;dat>>=1;}}/*讀取ds18b20當(dāng)前溫度*/unsignedchar*ReadTemperature(){unsignedchartt[2];Init_DS18B20();WriteOneChar(0xCC); //跳過讀序號(hào)列號(hào)的操作WriteOneChar(0x4E); ////寫入"寫暫存器"命令,修改TH和TL和分辯率配置寄存器//先寫TH,再寫TL,最后寫配置寄存器WriteOneChar(100); //寫入想設(shè)定的溫度報(bào)警上限WriteOneChar(4); //寫入想設(shè)定的溫度報(bào)警下限WriteOneChar(0x7f); //寫配置寄存器,格式為0R1R01,1111//R1R0=00分辨率婁9位,R1R0=11分辨率為12位delay_18B20(80);//thismessageisweryimportantInit_DS18B20();WriteOneChar(0xCC); //跳過讀序號(hào)列號(hào)的操作WriteOneChar(0x44); //啟動(dòng)溫度轉(zhuǎn)換delay_18B20(80);//thismessageisweryimportantInit_DS18B20();WriteOneChar(0xCC); //跳過讀序號(hào)列號(hào)的操作WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度delay_18B20(80);tt[0]=ReadOneChar(); //讀取溫度值低位tt[1]=ReadOneChar();return(tt);}voidcovert1(void) //將溫度轉(zhuǎn)換為LCD顯示的數(shù)據(jù){unsignedcharTH=110,TL=-20;unsignedcharx=0x00,y=0x00;pt=ReadTemperature();t[0]=*pt;pt++;t[1]=*pt;if(t[1]>0x07)//判斷正負(fù)溫度{wendu3=1; //0x2d為"-"的ASCII碼t[1]=~t[1]; /*下面幾句把負(fù)數(shù)的補(bǔ)碼*/t[0]=~t[0]; /*換算成絕對(duì)值*/x=t[0]+1; t[0]=x; if(x>255)t[1]++; }elsewendu3=0; //0xfe為變"+"的ASCII碼t[1]<<=4; //將高字節(jié)左移4位t[1]=t[1]&0x70; //取出高字節(jié)的3個(gè)有效數(shù)字位x=t[0]; //將t[0]暫存到X,因?yàn)槿⌒?shù)部分還要用到它x>>=4; //右移4位x=x&0x0f; //和前面兩句就是取出t[0]的高四位x=t[1]|x; //將高低字節(jié)的有效值的整數(shù)部分拼成一個(gè)字節(jié)wendu=x;t[0]=t[0]&0x0f; //取有效的兩位小數(shù)x=t[0];wendu1=dotcode[x]; //分離出百分位}unsignedcharLCD_Wait(void){rs=0;rw=1; delay(1);en=1; delay(1);// while(DBPort&0x80);//在用Proteus仿真時(shí),注意用屏蔽此語句,在調(diào)用GotoXY()時(shí),會(huì)進(jìn)入死循環(huán),//可能在寫該控制字時(shí),該模塊沒有返回寫入完備命令,即DBPort&0x80==0x80//實(shí)際硬件時(shí)打開此語句en=0;returnDBPort;}voidLCD_Write(bitstyle,unsignedcharinput){en=0;rs=style;rw=0; _nop_();DBPort=input; _nop_();//注意順序en=1; _nop_();//注意順序en=0; _nop_();LCD_Wait();}voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(0,0x80|x);if(y==1)LCD_Write(0,0x80+0x40+x);}//sbits4=P0^3;ucharnum,count,flag,flag1,flag2,flag3,s1num,j;voidkeyscan();write_1602com(ucharcom)//液晶寫入指令函數(shù){en=0;rs=0;//置為寫入命令rw=0;_nop_();P0=com;//送入數(shù)據(jù)_nop_();en=1;//拉高使能端_nop_();en=0;//完成高脈沖_nop_();LCD_Wait();}write_1602dat(uchardat){en=0;rs=1;//置為寫入數(shù)據(jù)rw=0;_nop_();P0=dat;//送入數(shù)據(jù)_nop_();en=1;_nop_();en=0;_nop_();LCD_Wait();}voidwrite_sfm(ucharadd,uchardat)//寫時(shí)分秒{uchargw,sw;gw=dat%10;sw=dat/10;write_1602com(add+er);write_1602dat(0x30+sw);write_1602dat(0x30+gw);}voidwrite_nyr(ucharadd,uchardat)//寫時(shí)分秒{uchargw,sw;gw=dat%10;sw=dat/10;write_1602com(add+yh);write_1602dat(0x30+sw);write_1602dat(0x30+gw);}voidwrite(ucharadd)//寫時(shí)分秒{write_1602com(add+yh);write_1602dat(58);}voidinit(){write_1602com(0x38);//設(shè)置液晶工作模式write_1602com(0x0c);//開顯示不顯示光標(biāo)write_1602com(0x06);//整屏不移動(dòng),指針加一write_1602com(0x01);write_1602com(yh);//字符寫入的位置for(a=0;a<16;a++){write_1602dat(tab3[a]);//delay(3);}write_1602com(er+2);for(a=0;a<16;a++){write_1602dat(tab2[a]);//delay(3);}}keys(){unsignedcharhang,lie,key;if(P3!=0x0f)delay(5);if(P3!=0x0f){switch(P3&0x0f){case0x0e:lie=0;break;case0x0d:lie=1;break;case0x0b:lie=2;break;case7:lie=3;break;}P3=0xf0;P3=0xf0;switch(P3&0xf0){case0xe0:hang=0;break;case0xd0:hang=1;break;case0xb0:hang=2;break;case0x70:hang=3;break;}P3=0x0f;while(P3!=0x0f)P1_1=1;P1_1=0;key=tab[hang][lie];elsekey=20;speak=0;return(key);}charkbscan()//鍵盤掃描{intkey;key=keys();if(key==10){key1n++;if(key1n==6)key1n=0;}if(key==12){key3n++;if(key3n==2)key3n=0;}if(key==11){key2n++;if(key2n==6)key2n=0;}while(key1n!=0){key=keys();if(key==10){key1n++;if(key1n==7)key1n=0;}switch(key1n){case1:TR1=0;//關(guān)閉定時(shí)器//TR1=0;write_1602com(er+0x02);//寫入光標(biāo)位置write_1602com(0x0f);//設(shè)置光標(biāo)為閃爍break;case2:write_1602com(er+3);//fen//write_1602com(0x0f);break;case3:write_1602com(er+5);//shi//write_1602com(0x0f);break;case4:write_1602com(er+6);//fen//write_1602com(0x0f)break;case5:write_1602com(er+8);//shi//write_1602com(0x0f);break;case6:write_1602com(er+9);//fen//write_1602com(0x0f);break;case0:write_1602com(0x0c);//設(shè)置光標(biāo)不閃爍TR1=1;//打開定時(shí)器break;}if(key<10){write_1602dat(0x30+key);switch(key1n){case1: shi=shi%10+key*10;break;case2:shi=shi/10*10+key;break;case3:fen=fen%10+key*10;break;case4:fen=fen/10*10+key;break;case5:miao=miao%10+key*10;break;case6:miao=miao/10*10+key;break;case0:write_1602com(0x0c);//設(shè)置光標(biāo)不閃爍TR1=1;//打開定時(shí)器break;}}while(key2n!=0){key=keys();speak=0;if(key==11){key2n++;if(key2n==4)key2n=0;}switch(key2n){case1:TR1=0;//關(guān)閉定時(shí)器//TR1=0;write_1602com(er+13);//寫入光標(biāo)位置write_1602com(0x0f);//設(shè)置光標(biāo)為閃爍break;case2:write_1602com(er+14);//fen//write_1602com(0x0f);break;case3:write_1602com(er+15);//shi//write_1602com(0x0f);break;case0:write_1602com(0x0c);//設(shè)置光標(biāo)不閃爍TR1=1;//打開定時(shí)器break;}if(key<10){write_1602dat(0x30+key);switch(key2n){case2: shu=shu%10+key*10;break;case3:shu=shu/10*10+key;break;case1:shu1=key*100;break;case0:write_1602com(0x0c);//設(shè)置光標(biāo)不閃爍TR1=1;//打開定時(shí)器break;}miao1=shu;r=1;}}}main(){nian=0;nianb=20;yue=0;miao1=1;init();TMOD=0x10;TH1=0xFF;TL1=0x0E0;EA=1;ET1=1;TR1=1;P1=0X00;covert1();P3=0X0F;while(1){kbscan();covert1();if(miao1==0)wendu4=wendu;write_sfm(8,miao);write_sfm(5,fen);write_sfm(2,shi);write_nyr(5,wendu);write_nyr(8,wendu1);if(key3n==1)write_nyr(12,wendu4);else{write_1602com(yh+12);//字符寫入的位置write_1602dat('');write_1602dat('');}}}voidtimer1()interrupt3{TH1=0x3c;TL1=0x0b0;tt++;if(tt==20){tt=0;miao++;if(r==1)miao1--;}if(miao==60){miao=0;fen++;}if(fen==60){fen=0;shi++;}}實(shí)驗(yàn)小結(jié):本次軟件設(shè)計(jì)實(shí)驗(yàn),維持了幾周時(shí)間。在這期間,有查閱過資料,雖然說只是51單片機(jī)的簡單應(yīng)用,但是對(duì)我們沒學(xué)過,沒接觸過單片機(jī)的同學(xué)來說還是有點(diǎn)難度的,在這期間,大家都很認(rèn)真,翻閱書本,還有在網(wǎng)絡(luò)上查閱資料,對(duì)proteus和keil軟件也有了進(jìn)一步了解,雖然實(shí)驗(yàn)要求做的不是很完美,但是對(duì)51單片機(jī)我們有了更深入的認(rèn)識(shí)。也非常感謝在這過程中老師的指導(dǎo)和同學(xué)之間的討論,最終可以做出溫度顯示實(shí)驗(yàn)。通過此次試驗(yàn),不僅僅學(xué)到了書本上的知識(shí),而且也學(xué)會(huì)小組之間互相討論,互相協(xié)作的良好習(xí)慣。相信在以后的學(xué)習(xí)過程中,我會(huì)更加努力。

咖啡店創(chuàng)業(yè)計(jì)劃書第一部分:背景在中國,人們?cè)絹碓綈酆瓤Х?。隨之而來的咖啡文化充滿生活的每個(gè)時(shí)刻。無論在家里、還是在辦公室或各種社交場合,人們都在品著咖啡??Х戎饾u與時(shí)尚、現(xiàn)代生活聯(lián)系在一齊。遍布各地的咖啡屋成為人們交談、聽音樂、休息的好地方,咖啡豐富著我們的生活,也縮短了你我之間的距離,咖啡逐漸發(fā)展為一種文化。隨著咖啡這一有著悠久歷史飲品的廣為人知,咖啡正在被越來越多的中國人所理解。第二部分:項(xiàng)目介紹第三部分:創(chuàng)業(yè)優(yōu)勢目前大學(xué)校園的這片市場還是空白,競爭壓力小。而且前期投資也不是很高,此刻國家鼓勵(lì)大學(xué)生畢業(yè)后自主創(chuàng)業(yè),有一系列的優(yōu)惠政策以及貸款支持。再者大學(xué)生往往對(duì)未來充滿期望,他們有著年輕的血液、蓬勃的朝氣,以及初生牛犢不怕虎的精神,而這些都是一個(gè)創(chuàng)業(yè)者就應(yīng)具備的素質(zhì)。大學(xué)生在學(xué)校里學(xué)到了很多理論性的東西,有著較高層次的技術(shù)優(yōu)勢,現(xiàn)代大學(xué)生有創(chuàng)新精神,有對(duì)傳統(tǒng)觀念和傳統(tǒng)行業(yè)挑戰(zhàn)的信心和欲望,而這種創(chuàng)新精神也往往造就了大學(xué)生創(chuàng)業(yè)的動(dòng)力源泉,成為成功創(chuàng)業(yè)的精神基礎(chǔ)。大學(xué)生創(chuàng)業(yè)的最大好處在于能提高自己的潛力、增長經(jīng)驗(yàn),以及學(xué)以致用;最大的誘人之處是透過成功創(chuàng)業(yè),能夠?qū)崿F(xiàn)自己的理想,證明自己的價(jià)值。第四部分:預(yù)算1、咖啡店店面費(fèi)用咖啡店店面是租賃建筑物。與建筑物業(yè)主經(jīng)過協(xié)商,以合同形式達(dá)成房屋租賃協(xié)議。協(xié)議資料包括房屋地址、面積、結(jié)構(gòu)、使用年限、租賃費(fèi)用、支付費(fèi)用方法等。租賃的優(yōu)點(diǎn)是投資少、回收期限短。預(yù)算10-15平米店面,啟動(dòng)費(fèi)用大約在9-12萬元。2、裝修設(shè)計(jì)費(fèi)用咖啡店的滿座率、桌面的周轉(zhuǎn)率以及氣候、節(jié)日等因素對(duì)收益影響較大。咖啡館的消費(fèi)卻相對(duì)較高,主要針對(duì)的也是學(xué)生人群,咖啡店布局、格調(diào)及采用何種材料和咖啡店效果圖、平面圖、施工圖的設(shè)計(jì)費(fèi)用,大約6000元左右3、裝修、裝飾費(fèi)用具體費(fèi)用包括以下幾種。(1)外墻裝飾費(fèi)用。包括招牌、墻面、裝飾費(fèi)用。(2)店內(nèi)裝修費(fèi)用。包括天花板、油漆、裝飾費(fèi)用,木工、等費(fèi)用。(3)其他裝修材料的費(fèi)用。玻璃、地板、燈具、人工費(fèi)用也應(yīng)計(jì)算在內(nèi)。整體預(yù)算按標(biāo)準(zhǔn)裝修費(fèi)用為360元/平米,裝修費(fèi)用共360*15=5400元。4、設(shè)備設(shè)施購買費(fèi)用具體設(shè)備主要有以下種類。(1)沙發(fā)、桌、椅、貨架。共計(jì)2250元(2)音響系統(tǒng)。共計(jì)450(3)吧臺(tái)所用的烹飪?cè)O(shè)備、儲(chǔ)存設(shè)備、洗滌設(shè)備、加工保溫設(shè)備。共計(jì)600(4)產(chǎn)品制造使用所需的吧臺(tái)、咖啡杯、沖茶器、各種小碟等。共計(jì)300凈水機(jī),采用美的品牌,這種凈水器每一天能生產(chǎn)12l純凈水,每一天銷售咖啡及其他飲料100至200杯,價(jià)格大約在人民幣1200元上下??Х葯C(jī),咖啡機(jī)選取的是電控半自動(dòng)咖啡機(jī),咖啡機(jī)的報(bào)價(jià)此刻就應(yīng)在人民幣350元左右,加上另外的附件也不會(huì)超過1200元。磨豆機(jī),價(jià)格在330―480元之間。冰砂機(jī),價(jià)格大約是400元一臺(tái),有點(diǎn)要說明的是,最好是買兩臺(tái),不然夏天也許會(huì)不夠用。制冰機(jī),從制冰量上來說,一般是要留有富余??钪票鶛C(jī)每一天的制冰量是12kg。價(jià)格稍高550元,質(zhì)量較好,所以能夠用很多年,這么算來也是比較合算的。5、首次備貨費(fèi)用包括購買常用物品及低值易耗品,吧臺(tái)用各種咖啡豆、奶、茶、水果、冰淇淋等的費(fèi)用。大約1000元6、開業(yè)費(fèi)用開業(yè)費(fèi)用主要包括以下幾種。(1)營業(yè)執(zhí)照辦理費(fèi)、登記費(fèi)、保險(xiǎn)費(fèi);預(yù)計(jì)3000元(2)營銷廣告費(fèi)用;預(yù)計(jì)450元7、周轉(zhuǎn)金開業(yè)初期,咖啡店要準(zhǔn)備必須量的流動(dòng)資金,主要用于咖啡店開業(yè)初期的正常運(yùn)營。預(yù)計(jì)2000元共計(jì): 120000+6000+5400+2250+450+600+300+1200+1200+480+400+550+1000+3000+450+2000=145280元第五部分:發(fā)展計(jì)劃1、營業(yè)額計(jì)劃那里的營業(yè)額是指咖啡店日常營業(yè)收入的多少。在擬定營業(yè)額目標(biāo)時(shí),必須要依據(jù)目前市場的狀況,再思考到咖啡店的經(jīng)營方向以及當(dāng)前的物價(jià)情形,予以綜合衡量。按照目前流動(dòng)人口以及人們對(duì)咖啡的喜好預(yù)計(jì)每一天的營業(yè)額為400-800,根據(jù)淡旺季的不同可能上下浮動(dòng)2、采購計(jì)劃依據(jù)擬訂的商品計(jì)劃,實(shí)際展開采購作業(yè)時(shí),為使采購資金得到有效運(yùn)用以及商品構(gòu)成達(dá)成平衡,務(wù)必針對(duì)設(shè)定的商品資料排定采購計(jì)劃。透過營業(yè)額計(jì)劃、商品計(jì)劃與采購計(jì)劃的確立,我們不難了解,一家咖啡店為了營業(yè)目標(biāo)的達(dá)成,同時(shí)有效地完成商品構(gòu)成與靈活地運(yùn)用采購資金,各項(xiàng)基本的計(jì)劃是不可或缺的。當(dāng)一家咖啡店設(shè)定了營業(yè)計(jì)劃、商品計(jì)劃及采購計(jì)劃之后,即可依照設(shè)定的采購金額進(jìn)行商品的采購。經(jīng)過進(jìn)貨手續(xù)檢驗(yàn)、標(biāo)價(jià)之后,即可寫在菜單上。之后務(wù)必思考的事情,就是如何有效地將這些商品銷售出去。3、人員計(jì)劃為了到達(dá)設(shè)定的經(jīng)營目標(biāo),經(jīng)營者務(wù)必對(duì)人員的任用與工作的分派有一個(gè)明確的計(jì)劃。有效利用人力資源,開展人員培訓(xùn),都是我們務(wù)必思考的。4、經(jīng)費(fèi)計(jì)劃經(jīng)營經(jīng)費(fèi)的分派是管理的重點(diǎn)工作。通常能夠?qū)⒖Х鹊杲?jīng)營經(jīng)費(fèi)分為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論