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

正文內(nèi)容

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

2022-08-21 11:34:06 本頁面
 

【正文】 可接收,輸出 4個(gè) TTL門電流,當(dāng) P2 3 口被寫“ 1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。在 FIASH編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH進(jìn)行校驗(yàn)時(shí), P0 輸出原碼,此時(shí) P0外部必須被拉高。由于將多功能 8位 CPU和閃爍存儲(chǔ)器組合在單個(gè)芯 片中, ATMEL的 AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案 。其中操作鍵 K1~ K4的功能分別為:設(shè)置限制的時(shí)間 /時(shí)的調(diào)整、顯示鬧鐘設(shè)置的時(shí)間 /分的調(diào)整、設(shè)置鬧鐘的時(shí)間 /設(shè)置完成、鬧鐘更換。 系統(tǒng)整體框圖 使用 AT89C51單片機(jī)結(jié)合字符型 LCD顯示器設(shè)計(jì)一個(gè)簡易的可編程作息時(shí)間控制器,若 LCD選擇有背光顯示的模塊,在夜晚或黑暗的場合中也可使用。系統(tǒng)主要是由 時(shí) 間程序和鬧鐘程序所構(gòu)成, 由顯示模塊、時(shí)鐘模塊 以及鬧鐘模塊 三大部分組成。 ( 3) 按照給定的時(shí)間模擬控制,實(shí)現(xiàn)廣播、上下課打鈴、燈光控制(屏幕顯示) ,同時(shí)具備日期和時(shí)鐘顯示。電子鐘采用采用單片機(jī)來完成 ,LCD顯示“時(shí)”,“分”, LED閃動(dòng)來做秒計(jì)數(shù),定時(shí)時(shí)間到能發(fā)出相應(yīng)的提示,從而能夠?qū)崿F(xiàn)作息時(shí)間控制。 6.電路設(shè)計(jì),軟件編程、調(diào)試中遇到的問題及分析解決方法。 2.課程設(shè)計(jì)的要求。 3. 軟件設(shè)計(jì):根據(jù)已設(shè)計(jì)出的軟件系統(tǒng)框圖,用匯編語言或 C51編制出各功能模塊的子程序和整機(jī)軟件系統(tǒng)的主程序。通過單片機(jī)硬件和軟件設(shè)計(jì)、調(diào)試、整理資料等環(huán)節(jié)的培訓(xùn),使學(xué)生初步掌握工程設(shè)計(jì)方法和組織實(shí)踐的基本技能,逐步熟悉開展科學(xué)實(shí)踐的程序和方法。 二、課程設(shè)計(jì)目的 課程設(shè)計(jì)是課程教學(xué)中的一項(xiàng)重要內(nèi)容,是達(dá)到教學(xué)目標(biāo)的重要環(huán)節(jié),是綜合性較強(qiáng)的實(shí)踐教學(xué)環(huán)節(jié),它對幫助學(xué)生全面牢固地掌握課堂教學(xué)內(nèi)容、培養(yǎng)學(xué)生的實(shí)踐和實(shí)際動(dòng)手能力、提高學(xué)生全面素質(zhì)具有很重要的意義。 《單片機(jī)原理及應(yīng)用》是一門理論性、實(shí)用性和實(shí)踐性都很強(qiáng)的課程,課程設(shè)計(jì)環(huán)節(jié)應(yīng)占有更加重要的地位。 三、課程設(shè)計(jì)內(nèi)容 設(shè)計(jì)以 89C51單片機(jī)和外圍元器件構(gòu)成的單片機(jī)應(yīng)用系統(tǒng),并完成相應(yīng)的軟硬件調(diào)試。 4. 調(diào)試:在單片機(jī) EDA仿真軟件環(huán)境 Proteus下進(jìn)行仿真設(shè)計(jì)并調(diào)試;或在單片機(jī)周立功實(shí)驗(yàn)箱上進(jìn)行相關(guān)設(shè)計(jì)并調(diào)試。 3.控制系統(tǒng)總框圖及系統(tǒng)工作原理。 7.實(shí)驗(yàn)結(jié)果及其分析。現(xiàn)在是自動(dòng)化高度發(fā)達(dá)的時(shí)代,特別是電子類產(chǎn)品都是靠內(nèi)部的控制電路來實(shí)現(xiàn)對產(chǎn)品的控制,達(dá)到自動(dòng)運(yùn)行的目的,這就需要我們這里要做的設(shè)計(jì)中的電器元件及電路的支持。 ( 4) 上機(jī)調(diào)試程序。其 中時(shí)鐘運(yùn)算模塊要對時(shí)、分、秒的數(shù)值進(jìn)行 操作 ,并且秒算到 60時(shí),要自己清零并向分進(jìn) 1;分算到 60時(shí),要自己清零并向時(shí)進(jìn) 1, 時(shí)算到 24時(shí),要清零 , 這樣,才 能 循環(huán)記時(shí)。程序執(zhí)行后工作指示燈 LED閃動(dòng),表示程序開始執(zhí)行,同時(shí) LCD顯示 揚(yáng)聲器 和燈閃 廣播 單片機(jī)AT89C51 按 鍵 2 顯示系統(tǒng)時(shí)間。 3 可編程作息時(shí)間控制器硬件電路及芯片介紹 系統(tǒng)主要是由 AT89C51單片機(jī)、 1602LCD液晶顯示器以及其他重要元件組成,按鍵作為系統(tǒng)的控制輸入端,可以進(jìn)行時(shí)間、 鬧鐘等內(nèi)容的設(shè)定,并通過液晶顯示器顯示出時(shí)間等內(nèi)容。 圖 AT89C51 引腳圖 引腳及其功能: P0口: P0口為一個(gè) 8位漏級(jí)開路雙 向 I/O口,每腳可吸收 8TTL門電流。 P1口: P1口是一個(gè)內(nèi)部提供上拉電阻的 8位雙向 I/O口, P1口緩沖器能接收輸出 4TTL門電流。并因此作為輸入時(shí), P2口的管腳被外部拉低,將輸出電流。 P2 口在 FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口也可作為 AT89C51的一些特殊功能口,如下所示: P3口管腳 備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時(shí)器 0外部輸入) T1(記時(shí)器 1外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。在 FLASH編程期間,此引腳用于輸入編程脈沖。如想禁止 ALE的輸出可在 SFR8EH地址上置 0。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。注意加密方式 1時(shí), /EA將內(nèi)部鎖定為 RESET;當(dāng) /EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。 K1按鍵, K2按鍵, 接 K3按鍵, K4按鍵, RS口, 口接 RW口, E口, D2陽極, D1陽極, R3, P3口的 8個(gè)口依次和 LCD的數(shù)據(jù)口 D0~D7. 1602LCD液晶顯示器 LM016L 液晶模塊采用 HD44780 控制器。 IR 用于寄存指令碼,只能寫入不能讀出; DR 用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入 DDRAM和 CGRAM,或者暫存從 DDRAM和 CGRAM 讀出的數(shù)據(jù)。 CGRAM 是為用戶編寫特殊字符留用的,它的容 4 量僅 64 字節(jié)。 第 2腳: VDD接 5V正 電源。當(dāng) RS和 R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS為低電平 R/W為高電平時(shí)可以讀忙信號(hào),當(dāng) RS為高電平 R/W為低電平時(shí)可以寫入數(shù)據(jù)。 其他重要元件 圖 獨(dú)立式鍵盤 ( 1)獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡單的按鍵向系統(tǒng)輸入信息。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。 ( 2) 蜂鳴器:將蜂鳴器的一端電源,另一端接至晶閘管集電極,當(dāng)需要鬧鐘響時(shí), 的電平使得晶閘管導(dǎo)通,從而使得蜂鳴器發(fā)出聲響。 4 可編程作息時(shí)間控制器軟件編程設(shè)計(jì) 可編程作息時(shí)間控制器軟件編程主要包括系統(tǒng)初始化、系統(tǒng)時(shí)間校正、系統(tǒng)時(shí)間設(shè)定、作息時(shí)間設(shè)定、響鈴處理、邏輯控制以及 1602LCD液晶顯示 ,整個(gè)程序中響鈴的合理處理以及顯示部分是核心部分,只有處理好鬧鐘的及時(shí)響應(yīng)才會(huì)使得整個(gè)可編程作息時(shí)間控制器按照預(yù)定的設(shè)計(jì)進(jìn)行工作,同時(shí)各個(gè)模塊邏輯上合理分配又將是整個(gè)功能實(shí)現(xiàn)的基礎(chǔ)。 sbit K4=P1^3。 sbit LED2=P2^3。 TL0=(6553650000)%256。 TL0=(6553650000)%256。 if(miao==60) {miao=0。 if(shi==24) {shi=0。 系統(tǒng)時(shí)間設(shè)定 圖 改變小時(shí)流程圖 圖 改變分鐘流程圖 程序: if(K1==0) while(!K1) TR0=0。 fen++。開始時(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)清零,從零開始往上加,并通過 LCD顯示出此時(shí)的狀態(tài)。 write_sfm(12,fen1)。 while(!K2)。 shi1++。 fen1++。 write_sfm(9,shi)。 響鈴處理 圖 響鈴處 理流程圖 程序: if((((fen==fen1)amp。(shi==shi2))||((fen==fen3)amp。(shi==shi4)))amp。(shi==shi1)amp。(shi==shi1)amp。(shi==shi1)))amp。(shi==shi2)amp。(shi==shi2)amp。(shi==shi2)))amp。(shi==shi3)amp。(shi==shi3)amp。(shi==shi3)))amp。(shi==shi4)amp。(shi==shi4)amp。(shi==shi4)))amp。flag3==0) 當(dāng)四個(gè)定時(shí)鬧鐘任意一路到達(dá)時(shí),在沒有按下響鈴終止鍵 K4時(shí), flag2都等于 1,此時(shí)鬧鐘響起,同時(shí)使得 flag3等于 0。 邏輯控制 圖 邏輯控制流程圖 程序: while(1) {if((K4==0)amp。 if(K4num==0) {time()。} if(K4num==2) { shangke()。} if(K4num==4) {dengkong()。系統(tǒng)剛啟動(dòng)時(shí),按鍵 K4處于系統(tǒng)時(shí)間狀態(tài),在此狀態(tài)下可以利用之前所介紹的功能進(jìn)行所需要的修改,當(dāng)?shù)谝淮伟聪?K4鍵時(shí),就會(huì)進(jìn)入廣播定時(shí)的控制口,此時(shí)可以根據(jù)需要修改所要定的時(shí)間,并可以顯示自己所定的鬧鐘時(shí)間,再次按下 K4鍵時(shí),將會(huì)進(jìn)入上課定時(shí)的鬧鐘,和之前的鬧鐘一樣,可以進(jìn)行相同的操作,當(dāng)再次按下 K4 鍵時(shí)將進(jìn)入下課鬧鈴狀態(tài),然后將要進(jìn)入的的是燈光控制定時(shí),此時(shí) Knum4為 4,當(dāng)再次 按下 K4鍵時(shí),將經(jīng)過判斷清零,重新開始,以此來實(shí)現(xiàn)按鍵 K4可以更換鬧鐘的功能,同時(shí)更改鬧鐘時(shí)間的功能。當(dāng) RS和 R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS為低電平 R/W為高電平時(shí)可以讀忙信號(hào),當(dāng) RS為高電平 R/W為低電平時(shí)可以寫入數(shù)據(jù)。 lcden=0。 } 液晶寫命令函數(shù) void write_date(uchar date) {rs=1。 lcden=1。 12 首先運(yùn)用 Keil軟件編輯程序,按上圖要生成目標(biāo)代碼文件,不斷地調(diào)試程 序。同時(shí) 整個(gè)延時(shí)又是非常重要的,在進(jìn)行按鍵設(shè)定時(shí)這個(gè)問題就出現(xiàn)了,有時(shí)候按一下會(huì)會(huì)進(jìn)行幾個(gè)需要的操作,使得結(jié)果不符合我的要求,所以應(yīng)用剛開始編寫程序時(shí)不斷適當(dāng)增加延時(shí)使得程序漸漸符合要求。首先我要自學(xué)相關(guān)的 c語言,同時(shí)我在網(wǎng)上找到了一些相關(guān)的資料學(xué)習(xí)了一下,并結(jié)合李老師對課題的分析,讓我對這個(gè)課題有了自己的思路。雖然整個(gè)課程設(shè)計(jì)的過程有點(diǎn)痛苦,但是當(dāng)我看到自己的最終成果時(shí)還是很開心,因?yàn)槲?這幾天的努力沒有白白浪費(fèi),培養(yǎng)了我獨(dú)立思考的能力,提高我的自學(xué)以及應(yīng)用能力,這將是我以后學(xué)習(xí)生活的非常寶貴的經(jīng)歷。 最后,我要非常感謝李老師和夏老師在課程設(shè)計(jì)中提供的幫助,以及李老師最后對我課程設(shè)計(jì)結(jié)果的肯定。 uchar code Alarm_0[]= GBDS 。 uchar code Alarm_00[]= GB 。 uchar code deng[]= LIGHTING 。 sbit K4=P1^3。 sbit LED2=P2^3。 for(x=z。y) 。 P3=。 lcden=0。 P3=date。 lcden=0。 write_(0x80+0x40+add)。 //寫液晶的循環(huán)控制變量 aa=0。 //K3按鍵被按下的標(biāo)記變量 K4num=0。//控制鬧鐘響起時(shí),按下 K4停止鬧鐘響鬧的標(biāo)記 flag4=1。 //廣播初始化 rw=0。 19 shi=7。 //初始化鬧鐘的時(shí)間 shi2=7。 //初始化鬧鐘的時(shí)間 shi4=7。 //1602液晶初始化,設(shè)置 16*2顯示。//顯示清 0數(shù)據(jù)指針清 0 write_(0x80)。delay(10)。)。)。)。 //設(shè)置定時(shí)器 0為工作方式 1 TH0=(6553650000)/256。 //開定時(shí)器 0中斷 TR0=1。i++) write_date(table2[i])。)。)。)。amp。i++) write_date(table2[i])。amp。 //光標(biāo)開始閃 爍 write_(0x80+0x40+13)。 if(K1==0) {write_(0x80+0x40+10)。 //則調(diào)整時(shí)加 1 if(shi==24) shi=0。amp。 while(!K2)。 //每調(diào)節(jié)一次送液晶顯示 write_(0x80+0x40+13)。 K1num=0。 //啟動(dòng)定時(shí)器使時(shí)鐘開始走 flag1=1。:39。 39。 39。i9。K3num==0) //判斷 K3首次被按下,則設(shè)置鬧鐘 {delay(5)。 K3num=1。i++) write_date(Alarm_0[i])。 //光標(biāo)開始閃爍 write_(0x80+0x40+13)。 if(K2==0) { write_sfm(12,fen1)。 //K2松開顯示當(dāng)前時(shí)間 write_sfm(9,shi)。 if(K1==0) { write_(0x80+0x40+10)。 //則調(diào)整定時(shí)的時(shí)加 1 if(shi2==24) //若滿 24后將清零 shi1=0。amp。 while(!K2)。//每調(diào)節(jié)一次送液晶顯示 write_(0x80+0x40+13)。 K3num=0。 //flag=液晶顯示的系統(tǒng)時(shí)間值, flag=0,則為修改鬧鐘時(shí)間時(shí),屏幕顯示的是修改鬧鐘時(shí)間的值 write_sfm(12,fen)。:39。 39。 39。i9。K3num==0) //判斷 K3首次被按下,則設(shè)置鬧鐘 { delay(5)。 K3num=1。i++) write_date(Alarm_1[i])。 //光標(biāo)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1