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

正文內(nèi)容

可編程作息時(shí)間控制器設(shè)計(jì)_單片機(jī)原理課程設(shè)計(jì)(留存版)

  

【正文】 =0。 //則調(diào)整時(shí)加 1 if(shi==24) shi=0。i++) write_date(table2[i])。)。)。//顯示清 0數(shù)據(jù)指針清 0 write_(0x80)。 19 shi=7。 //寫液晶的循環(huán)控制變量 aa=0。 lcden=0。 sbit LED2=P2^3。 uchar code Alarm_0[]= GBDS 。同時(shí) 整個(gè)延時(shí)又是非常重要的,在進(jìn)行按鍵設(shè)定時(shí)這個(gè)問(wèn)題就出現(xiàn)了,有時(shí)候按一下會(huì)會(huì)進(jìn)行幾個(gè)需要的操作,使得結(jié)果不符合我的要求,所以應(yīng)用剛開始編寫程序時(shí)不斷適當(dāng)增加延時(shí)使得程序漸漸符合要求。 lcden=0。} if(K4num==2) { shangke()。(shi==shi4)))amp。(shi==shi3)amp。(shi==shi2)amp。(shi==shi4)))amp。 fen1++。開始時(shí),光標(biāo)停留在分鐘上,當(dāng)再次按下 K1時(shí),光標(biāo)將會(huì)跳到小時(shí)并且小時(shí)位的時(shí)間將會(huì)加一,如果時(shí)位的數(shù)等于 24時(shí),則自動(dòng)清零,從零開始再往上加,如果按下 K2鍵按下則分鐘自動(dòng)加一 ,如果分鐘達(dá)到 60時(shí)則自動(dòng)清零,從零開始往上加,并通過(guò) LCD顯示出此時(shí)的狀態(tài)。 if(miao==60) {miao=0。 sbit K4=P1^3。 其他重要元件 圖 獨(dú)立式鍵盤 ( 1)獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡(jiǎn)單的按鍵向系統(tǒng)輸入信息。 IR 用于寄存指令碼,只能寫入不能讀出; DR 用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入 DDRAM和 CGRAM,或者暫存從 DDRAM和 CGRAM 讀出的數(shù)據(jù)。如想禁止 ALE的輸出可在 SFR8EH地址上置 0。并因此作為輸入時(shí), P2口的管腳被外部拉低,將輸出電流。程序執(zhí)行后工作指示燈 LED閃動(dòng),表示程序開始執(zhí)行,同時(shí) LCD顯示 揚(yáng)聲器 和燈閃 廣播 單片機(jī)AT89C51 按 鍵 2 顯示系統(tǒng)時(shí)間。 7.實(shí)驗(yàn)結(jié)果及其分析。 《單片機(jī)原理及應(yīng)用》是一門理論性、實(shí)用性和實(shí)踐性都很強(qiáng)的課程,課程設(shè)計(jì)環(huán)節(jié)應(yīng)占有更加重要的地位。 2.課程設(shè)計(jì)的要求。系統(tǒng)主要是由 時(shí) 間程序和鬧鐘程序所構(gòu)成, 由顯示模塊、時(shí)鐘模塊 以及鬧鐘模塊 三大部分組成。在 FIASH編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH進(jìn)行校驗(yàn)時(shí), P0 輸出原碼,此時(shí) P0外部必須被拉高。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地 址的地位字節(jié)。 XTAL2:來(lái)自反向振蕩器的輸出。 第 5腳: R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。發(fā)光二極管D1和 ,發(fā)光二極管和 ,按鍵 K1~K4分別與單片機(jī)的 ~,以實(shí)現(xiàn)按鍵的多功能使用。 系統(tǒng)時(shí)間校正 圖 系統(tǒng)時(shí)間校正流程圖 程序: TH0=(6553650000)/256。 if(K2==0) while(!K2)。 if(K1==0) while(!K1)。amp。amp。amp。amp。 if(K4num==5) 11 K4num=0。 R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。 5 實(shí)驗(yàn)與結(jié)果分析 實(shí)驗(yàn)的調(diào)試 設(shè)計(jì)要求:一個(gè)以單片機(jī)為核心的可編程作息時(shí)間控制器,能夠按照給定的時(shí)間模擬控制,實(shí)現(xiàn)廣播、上下課打鈴、燈光控制(屏幕顯示) ,同時(shí)具備日期和時(shí)鐘顯示。同時(shí)在李老師和夏老師的督促下能夠按時(shí)到達(dá)實(shí)驗(yàn)室,從而合理的 分配和合理使用了課程設(shè)計(jì)的時(shí)間。 sbit K3=P1^2。 lcden=0。 ge=date%10。 //發(fā)光二極管初始化 LED2=0。 //液晶使能端初始化 write_(0x38)。 39。i9。 } void time() //更改系統(tǒng)時(shí)間 {if( (K1num==0)amp。K1num==1) //判斷 K1按下 ,修改系統(tǒng)時(shí)間的小時(shí) { delay(5)。//若滿 60后將清零 write_sfm(12,fen)。 write_date(39。 //第一次按下光標(biāo)定位到分鐘位置 while(!K3)。 write_sfm(12,fen)。 //光標(biāo)定位到分鐘位置 K3num=1。 write_date(39。amp。K3num==0) //K2被按下時(shí)顯示定時(shí)時(shí)間 { delay(5)。 //顯示位置重新回到調(diào)節(jié)處 } } if(K2==0amp。 //光標(biāo)停止閃爍 flag1=1。 for(i=0。 write_(0x0f)。 shi3++。 if(K3==0) { K1num=0。 write_date(39。i9。K3num==1) //修改小時(shí),判斷 K1鍵按下, K3num=1,表示 K3按鍵按下,則此時(shí)修改的是鬧鐘時(shí)間的小時(shí) {delay(5)。 write_sfm(12,fen4)。 write_date(39。amp。} if(((fen!=fen1)amp。 write_(0x80+0x40)。} if((fen==fen2)amp。(shi==shi2)))amp。amp。(shi==shi4)amp。i15。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi3)。(shi==shi2)amp。amp。amp。 delay(100)。amp。 write_date(39。 //光標(biāo)定位到分鐘位置 K3num=1。 write_sfm(12,fen)。 //第一次按下光標(biāo)定位到分鐘位置 while(!K3)。 write_date(39。 write_sfm(12,fen3)。K3num==1) //修改小時(shí),判斷 K1鍵按下, K3num=1,表示 K3按鍵按下 ,則此時(shí)修改的是鬧鐘時(shí)間的小時(shí) { delay(5)。i9。 write_date(39。 if(K3==0) { K1num=0。 shi2++。 write_(0x0f)。 for(i=0。 //光標(biāo)停止閃爍 flag1=1。 //顯示位置重新回到調(diào)節(jié)處 } } if(K2==0amp。K3num==0) //K2被按下時(shí)顯示定時(shí)時(shí)間 { delay(5)。amp。 write_date(39。 //光標(biāo)定位到分鐘位置 K1num=1。 //關(guān)閉計(jì)數(shù)器 0 write_(0x0f)。 39。 //開總中斷 ET0=1。:39。 fen4=12。//控制鬧鐘響鬧開啟關(guān)閉的標(biāo)記 flag3=1。 delay(5)。y0。 uchar code Alarm_33[]= DK 。 雖然在這一周半的課程設(shè)計(jì)中每時(shí)每刻都讓我在思考我的課題,同時(shí)由于相關(guān)網(wǎng)絡(luò)資源的不足曾經(jīng)使我在用匯編語(yǔ)言還是應(yīng)用 c語(yǔ)言徘徊過(guò),但是當(dāng)我選擇其中一個(gè)時(shí)我就堅(jiān)持了下來(lái),并通過(guò)不斷地努力在不斷地更改程序,可以說(shuō)整個(gè)課程設(shè)計(jì)是非常的痛苦的,因?yàn)槲以?jīng)想放棄過(guò),但是我最終還是堅(jiān)持了下來(lái),并通過(guò)自己堅(jiān)持不懈的努力完成此次課題任務(wù)。 P3=date。}} 只有當(dāng)沒有一路鬧鐘響鬧時(shí)才會(huì)執(zhí)行此程序,因?yàn)樵隰[鐘響鬧時(shí) K4鍵將會(huì)作為鬧鐘的停止的功能鍵使用,所 以只有在沒有鬧鐘響鬧時(shí), K4鍵才會(huì)早為鬧鐘的更換,同時(shí)變量 K4num將作為 K4鍵所處的鬧鐘或者系統(tǒng)時(shí)間區(qū)別出來(lái),以實(shí)現(xiàn)邏輯上的合理。使得可編程時(shí)間控制器能夠在 10 響鈴時(shí)能夠顯示當(dāng)前的鬧鈴及時(shí)間,同時(shí)可以手動(dòng)關(guān)斷鬧鈴,并且當(dāng)鬧鈴關(guān)斷過(guò)后可以跳出當(dāng)前顯示返回到系統(tǒng)時(shí)間。amp。amp。amp。當(dāng)?shù)诙伟聪?K3鍵,則完成次鬧鐘的設(shè)定,并顯示之前的狀態(tài),如果繼續(xù)按 K4鍵則切換到下一路鬧鐘 ,也可以進(jìn)行上述的操作,或者返回系統(tǒng)時(shí)間界面。 write_sfm(9,shi1)。}} 7 首先初始化時(shí)定時(shí)器開始工作,當(dāng)計(jì)時(shí)時(shí)間到時(shí)進(jìn)入中斷服務(wù),由于方式 1沒有自動(dòng)裝初值的功能,因此需再次裝入初值,每一次所定的時(shí)間為 50ms,通過(guò)軟件 計(jì)數(shù)的方法,當(dāng)計(jì)數(shù)達(dá)到 20 次時(shí)剛好 1秒鐘,如果計(jì)數(shù)不到 20次,則再次給定時(shí)器裝入初值,直到計(jì)數(shù)達(dá)到 20次,把計(jì)數(shù)初值清零,并再次向計(jì)數(shù)器裝初值,重復(fù)執(zhí)行之前操作,同時(shí)分加一,并顯示,如果分為 60時(shí)則不顯示,先清零然后將時(shí)加一,再顯示分,如果時(shí)不是 24時(shí),則直接通過(guò) LCD顯示出來(lái),如果時(shí)剛好為 24時(shí),則現(xiàn)需要清零,然后在用 LCD顯示出來(lái)。 6 TH0=(6553650000)/256。當(dāng) I/O接口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。 LM016L 液 圖 LCD1602 引腳圖 晶模塊的引腳功能見表: 第 1腳: VSS為地電源。 EA/VPP:當(dāng) /EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。作為輸入,由于外部下拉為低電平, P3口將輸出電流( ILL)這是由于上拉的緣故。由于將多功能 8位 CPU和閃爍存儲(chǔ)器組合在單個(gè)芯 片中, ATMEL的 AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案 。 ( 3) 按照給定的時(shí)間模擬控制,實(shí)現(xiàn)廣播、上下課打鈴、燈光控制(屏幕顯示) ,同時(shí)具備日期和時(shí)鐘顯示。 3. 軟件設(shè)計(jì):根據(jù)已設(shè)計(jì)出的軟件系統(tǒng)框圖,用匯編語(yǔ)言或 C51編制出各功能模塊的子程序和整機(jī)軟件系統(tǒng)的主程序。 三、課程設(shè)計(jì)內(nèi)容 設(shè)計(jì)以 89C51單片機(jī)和外圍元器件構(gòu)成的單片機(jī)應(yīng)用系統(tǒng),并完成相應(yīng)的軟硬件調(diào)試?,F(xiàn)在是自動(dòng)化高度發(fā)達(dá)的時(shí)代,特別是電子類產(chǎn)品都是靠?jī)?nèi)部的控制電路來(lái)實(shí)現(xiàn)對(duì)產(chǎn)品的控制,達(dá)到自動(dòng)運(yùn)行的目的,這就需要我們這里要做的設(shè)計(jì)中的電器元件及電路的支持。 3 可編程作息時(shí)間控制器硬件電路及芯片介紹 系統(tǒng)主要是由 AT89C51單片機(jī)、 1602LCD液晶顯示器以及其他重要元件組成,按鍵作為系統(tǒng)的控制輸入端,可以進(jìn)行時(shí)間、 鬧鐘等內(nèi)容的設(shè)定,并通過(guò)液晶顯示器顯示出時(shí)間等內(nèi)容。 P2 口在 FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。 CGRAM 是為用戶編寫特殊字符留用的,它的容 4 量?jī)H 64 字節(jié)。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。 sbit LED2=P2^3。 if(shi==24) {shi=0。 write_sfm(12,fen1)。 write_sfm(9,shi)。(shi==shi1)amp。(shi==shi2)amp。(shi==shi3)))amp。flag3==0) 當(dāng)四個(gè)定時(shí)鬧鐘任意一路到達(dá)時(shí),在沒有按下響鈴終止鍵 K4時(shí), flag2都等于 1,此時(shí)鬧鐘響起,同時(shí)使得 flag3等于 0。} if(K4num==4) {dengkong()。 } 液晶寫命令函數(shù) void write_date(uchar date) {rs=1。首先我要自學(xué)相關(guān)的 c語(yǔ)言,同時(shí)我在網(wǎng)上找到了一些相關(guān)的資料學(xué)習(xí)了一下,并結(jié)合李老師對(duì)課題的分析,讓我對(duì)這個(gè)課題有了自己的思路。 uchar code Alarm_00[]= GB 。 for(x=z。 P3=date。 //K3按鍵被按下的標(biāo)記變量 K4num=0。 //初始化鬧鐘的時(shí)間 shi2=7。delay(10)。 //設(shè)置定時(shí)器 0為工作方式 1 TH0=(6553650000)/256。)。amp。amp。 //啟動(dòng)定時(shí)器使時(shí)鐘開始走 flag1=1。i9。 //光標(biāo)開始閃爍 write_(0x80+0x40+13)。 //則調(diào)整定時(shí)的時(shí)加 1 if(shi2==24) //若滿 24后將清零 shi1=0。 K3num=0。 39。i++) write_date(Alarm_1[i])。 if(K1==0) { write_(0x80+0x40+10)。 //每調(diào)節(jié)一次送液晶顯示一下 write_(0x80+0x40+13)。 39。 K3num=1。 //K2松開顯示當(dāng)前時(shí)間 write_sfm(9,shi)。 while(!K2)。:39。K3num==0) //判斷 K3首次被按下,則設(shè)置鬧鐘 {delay(5)。 if(K2==0) {write_sfm(12,fen4)。amp。//flag=1. write_sfm(12,fen)。(shi==shi1))||((fen==fen2)amp。 beep=0。amp。(shi==shi1)amp。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi2)。i9。amp。amp。(shi==shi3)))amp。 } if((fen==fen3)amp。amp。i++) write_date(Alarm_00[i])。amp。 flag3=0。 write_(0x80+0x40+15)。 { if(K3==0) //判斷 K3按下 { delay(5)。 while(!K1)。 //送去液晶顯示定時(shí)的分,時(shí) write_sfm(9,shi4)。}}} } void dengkong() //燈光控制 {if(K3num==0) {write_(0x80+0x4
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1