




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.微處理器與接口課程設(shè)計(jì)設(shè)計(jì)題目:可編程作息時(shí)間控制器學(xué) 院:年 級(jí):專 業(yè):姓 名:學(xué) 號(hào):指導(dǎo)教師:張明波 王積翔 2015 年 12 月 15 日:電子技術(shù)課程設(shè)計(jì)目錄1.1 前言21.2設(shè)計(jì)內(nèi)容及意義12.原理及工作過程說明43.1系統(tǒng)電路圖63.2詳細(xì)設(shè)計(jì)73.31602LCD液晶顯示器74,心得與問題85,具體程序10參考文獻(xiàn)321.1 前言本課程既是一門專業(yè)基礎(chǔ)課,又是一門實(shí)踐性很強(qiáng)的課程,對(duì)培養(yǎng)學(xué)生解決工程問題的能力和其他后續(xù)課程的教學(xué)都具有重要意義。課程目標(biāo)是通過理論和實(shí)驗(yàn)學(xué)習(xí),使學(xué)生掌握單片機(jī)的工作原理、基本接口技術(shù)和使用單片機(jī)構(gòu)成應(yīng)用系統(tǒng)的基本方法、設(shè)計(jì)原理。為本課程實(shí)踐
2、環(huán)節(jié)打下基礎(chǔ),為傳感器與檢測(cè)技術(shù)、PLC,機(jī)電傳動(dòng)與控制、機(jī)電一體化系統(tǒng)設(shè)計(jì)等課程創(chuàng)造條件,為學(xué)生從事機(jī)電一體化專業(yè)技術(shù)工作打下基礎(chǔ)。 本課程的教學(xué),要求學(xué)生先行學(xué)習(xí)C語言程序設(shè)計(jì)、電子技術(shù)基礎(chǔ)等,同時(shí)掌握程序編制與接口電路設(shè)計(jì)的基本知識(shí),著力培養(yǎng)和提高學(xué)生運(yùn)用各項(xiàng)基本理論和方法解決實(shí)際問題的分析能力和動(dòng)手能力,增強(qiáng)學(xué)生工程素質(zhì)和創(chuàng)新能力。1.2 設(shè)計(jì)內(nèi)容及意義實(shí)驗(yàn)名稱: 可編程作息時(shí)間控制器 實(shí)驗(yàn)要求:本項(xiàng)目利用單片機(jī)定時(shí)計(jì)數(shù)器及LCD接口實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘顯示,并具有可調(diào)整的上下課打鈴,燈光控制等功能的作息時(shí)間控制器。實(shí)驗(yàn)涉及內(nèi)容:定時(shí)器實(shí)驗(yàn),LCD顯示實(shí)驗(yàn),8279鍵盤顯示接口實(shí)驗(yàn) 具體原理說
3、明:1·定時(shí)器部分:定時(shí)器/計(jì)數(shù)器的工作原理計(jì)數(shù)器輸入的計(jì)數(shù)脈沖源系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后產(chǎn)生;T0或T1引腳輸入的外部脈沖源。計(jì)數(shù)過程每來一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1(即FFFFH)時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)器/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)器/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。定時(shí)應(yīng)用用作定時(shí)器:此時(shí)設(shè)置為定時(shí)器模式,加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期T
4、cy就是定時(shí)時(shí)間t 。計(jì)數(shù)運(yùn)用用作計(jì)數(shù)器:此時(shí)設(shè)置為計(jì)數(shù)器模式,外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。每來一個(gè)外部脈沖,計(jì)數(shù)器加1。但單片機(jī)對(duì)外部脈沖有基本要求:脈沖的高低電平持續(xù)時(shí)間都必須大于1個(gè)機(jī)器周期。2.LCD顯示;液晶顯示器(LCD)是一種功耗極低的顯示器件,它廣泛應(yīng)用于便攜式電子產(chǎn)品中,它不僅省電,而且能夠顯示大量的信息,如文字、曲線、圖形等,其顯示界面較之?dāng)?shù)碼管有了質(zhì)的提高。近年來液晶顯示技術(shù)發(fā)展很快,LCD顯示器已經(jīng)成為僅次于顯象管的第二大顯示產(chǎn)業(yè)。LCD顯示器由于類型、用途不同,其性能、結(jié)構(gòu)不可能完全相同,但其基本形態(tài)和結(jié)構(gòu)卻是大同小異,通常可將LCD為筆段型、字符型
5、和點(diǎn)陣圖形型3.8279鍵盤顯示接口:INTEL 8279是一種可編程鍵盤、顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時(shí),它提供自動(dòng)掃描,能與按鍵或傳感器組成的矩陣相連,接受輸入信息,它能自動(dòng)消除開關(guān)抖動(dòng)并能對(duì)多鍵同時(shí)按下提供保護(hù)。顯示輸出時(shí),它有一個(gè)16*8位顯示RAM,其內(nèi)容通過自動(dòng)掃描,可由8或16位LED數(shù)碼管顯示。2.原理及工作過程說明制作一個(gè)可編程作息時(shí)間控制器鬧鐘,當(dāng)4路鬧鐘中的任一路到時(shí),均會(huì)點(diǎn)亮燈、打鈴。如有需求,可對(duì)程序進(jìn)行調(diào)整,增加鬧鐘的路數(shù)及到時(shí)后的處理方式。定時(shí)鬧鐘的基本功能如下。(1)顯示時(shí)鐘時(shí)間,格式為“時(shí)時(shí):分分”,并可重新設(shè)置。(2)顯示鬧鈴
6、時(shí)間,格式為“時(shí)時(shí):分分”,且顯示閃爍以便與時(shí)鐘時(shí)間相區(qū)分。鬧鈴時(shí)間可重新設(shè)置。(3)程序執(zhí)行后工作指示燈LED閃爍,表示時(shí)鐘工作為時(shí)鐘顯示模式LCD顯示的初始時(shí)間為“23:58”。按下K2,閃爍顯示的“00:00”為鬧鈴的時(shí)間,單擊K3又返回時(shí)鐘顯示模式。時(shí)鐘從“23:58”開始計(jì)時(shí),定時(shí)時(shí)間“00:00”到時(shí),繼電器開關(guān)接通,控制電器的開啟,且可發(fā)出聲響(可控)。時(shí)鐘與鬧鈴時(shí)問的設(shè)置可通過4個(gè)功能按鍵KlK4實(shí)現(xiàn),具體說明如下。(1)時(shí)鐘時(shí)間的設(shè)置:首先單擊Kl進(jìn)入時(shí)鐘設(shè)置模式。此時(shí)每單擊一下Kl,則小時(shí)增l,單擊一下K2,則分鐘增1,再單擊K3則設(shè)置完成,返回時(shí)鐘顯示模式。此時(shí)小時(shí)和分鐘
7、均已發(fā)生變化。(2)鬧鈴的時(shí)間設(shè)置:首先單擊,K3進(jìn)入鬧鈴的設(shè)置模式。此時(shí)每單擊一下Kl,則小時(shí)增1,單擊一下K2,則分鐘增l,最后單擊K3則設(shè)置完成,返回鬧鈴顯示模式。此時(shí)鬧鈴的小時(shí)和分鐘均已發(fā)生變化。(3) K4的功能:鬧鐘更換。(4) K2單獨(dú)的功能:顯示鬧鈴時(shí)間。3.1系統(tǒng)電路圖實(shí)際圖3.2詳細(xì)設(shè)計(jì)程序部分主要采用了程序結(jié)構(gòu)的模塊化設(shè)計(jì),避免了一些函數(shù)的不必要的重復(fù)書寫,使程序變得單間易懂。程序在執(zhí)行時(shí),主程序要須通過調(diào)用子函數(shù)就可完成相應(yīng)的功能 。主程序流程圖如下鬧鈴2時(shí)間到?定時(shí)計(jì)數(shù)器時(shí)間顯示日期顯示鬧鈴4時(shí)間到?鬧鈴3時(shí)間到?鬧鈴1時(shí)間到?3.3 1602LCD液晶顯示器4 問題
8、及心得:?jiǎn)栴}:由于準(zhǔn)備的不夠充分對(duì)于燈光的控制并沒有完美實(shí)現(xiàn)。心得:通過自己的不懈努力,我終于完成了設(shè)計(jì)的任務(wù)要求。功能上基本達(dá)標(biāo):時(shí)鐘的顯示,日期顯示,調(diào)時(shí)功能、校時(shí)功能、上課下課功能。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計(jì)但通過這次設(shè)計(jì)我學(xué)會(huì)了很多東西,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個(gè)程序并不是一件簡(jiǎn)單的事,比如寫一個(gè)程序看其功能很少認(rèn)為編寫程序簡(jiǎn)單,但到編程的時(shí)候才發(fā)現(xiàn)一些細(xì)微的知識(shí)或低級(jí)錯(cuò)誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談
9、不上掌握。從這次的課程設(shè)計(jì)中,我們真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,程序只有在經(jīng)常的練習(xí)的過程中才能提高,我想這就是我在這次課程設(shè)計(jì)中的最大收獲。5具體程序圖:#include <REG51.h>#include <absacc.h>#define uint unsigned int#define uchar unsigned char#define CON8279 0xCFE9#define DATA8279 0xCFE8#define s_site_x 6#define s_site_y 0/y為所在列#define
10、 m_site_x 3#define m_site_y 0/y為所在列#define h_site_x 0#define h_site_y 0/y為所在列static uchar hour,min,scond; /計(jì)時(shí)時(shí)間static uchar s_hour,s_min,s_scond;/上課時(shí)間設(shè)置static uchar s_hour2,s_min2,s_scond2;/下課時(shí)間設(shè)置static uchar set_ok;/設(shè)置標(biāo)志位static uchar set_ok2;uchar count = 0;/用于記錄定時(shí)器進(jìn)入中斷次數(shù),以實(shí)現(xiàn)長(zhǎng)時(shí)間定時(shí)uchar code keyval=
11、0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x11,0x12,0x13,0x18,0x19,0x1a,0x1b;uchar code SEG=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;uchar key;sbit BUSY = P34;sbit STOBE = P35;void init();void scan_tim();void delay(uint tem);void KbD
12、isInit();uchar ReadKey();void Display(uchar y);void time0_init();void send(uint tem);void lcd_init();void lcd_disp_ascii(uint x,uint y,uchar dat);void disp_time(uint x,uint y,uchar s);void init()/初始化set_ok = 0;/允許設(shè)定時(shí)間set_ok2 = 0 ;hour = 12;/設(shè)定時(shí)鐘初值min = 0;scond = 0;s_hour =12;/設(shè)定鬧鐘初值s_min = 0;s_scond
13、= 0;s_hour2 =12;/設(shè)定鬧鐘初值s_min2 = 0;s_scond2= 0;lcd_init();KbDisInit();disp_time(s_site_x,s_site_y,scond);disp_time(m_site_x,m_site_y,min);disp_time(h_site_x,h_site_y,hour);disp_time(s_site_x+8,s_site_y+17,scond);disp_time(m_site_x+8,m_site_y+17,min);disp_time(h_site_x+8,h_site_y+17,hour);disp_time(s_
14、site_x+8,s_site_y+25,scond);disp_time(m_site_x+8,m_site_y+25,min);disp_time(h_site_x+8,h_site_y+25,hour);lcd_disp_ascii(2,0,58);lcd_disp_ascii(5,0,58);time0_init();uchar ReadKey()if(XBYTE0xCFE9&0x07)XBYTE0xCFE9=0x40;key=XBYTE0xCFE8;return 0;void Display(uchar y)XBYTE0xCFE9=0x80;XBYTE0xCFE8=SEGy;
15、void lcd_disp_ascii(uint x,uint y,uchar dat) / send(0xf1);send(x);send(y);send(dat);void lcd_disp_hanzhi(uint x,uint y,uchar dat1,uchar dat2) / send(0xf0);send(x);send(y);send(dat1);send(dat2);void disp_time(uint x,uint y,uchar s)/X為行 Y為列 s要顯示的時(shí)間(s,m,h對(duì)應(yīng)的x,y要區(qū)分)uchar i,j; i = s/10 + 48;j = s%10 + 48
16、;lcd_disp_ascii(x+1,y,j);lcd_disp_ascii(x,y,i);void nokey()void k0()s_scond += 5 ;/秒加1 if(s_scond = 60)s_scond = 0;disp_time( s_site_x+8 ,s_site_y+17,s_scond);delay(10);delay(10);void k1()s_min += 5;/分加1if (s_min = 60)s_min = 0;disp_time( m_site_x+8 ,m_site_y+17,s_min);void k2()s_hour+;/時(shí)加1if (s_hou
17、r = 12)s_hour = 0;disp_time( h_site_x+8 ,h_site_y+17,s_hour);void k3()s_scond2 += 5 ;/秒加1 if(s_scond2 = 60)s_scond2 = 0;disp_time( s_site_x+8 ,s_site_y+25,s_scond2);void k4()s_min2 += 5;/分加1if (s_min2 = 60)s_min2 = 0;disp_time( m_site_x+8 ,m_site_y+25,s_min2);void k5()s_hour2+;/時(shí)加1if (s_hour2 = 12)s
18、_hour2 = 0;disp_time( h_site_x+8 ,h_site_y+25,s_hour2);void k6()/確定 set_ok = 1 ;set_ok2 = 1 ;void k7()/取消 set_ok = 0 ;set_ok2 = 0 ;/code void (code * keyproctab)() = nokey,k0,k1,k2,k3,k4,k5,k6,k7 ;/讀取鍵值并執(zhí)行對(duì)應(yīng)函數(shù)void send(uint tem)while(BUSY);P1 = tem;STOBE = 1;while(!BUSY);STOBE = 0;void key_work()if(
19、key = 0) k0();if(key = 1) k1();if(key = 2) k2();if(key = 3) k3();if(key = 4) k4();if(key = 5) k5();if(key = 6) k6();if(key = 7) k7();void main()init();/全部功能初始化lcd_disp_hanzhi(4,0,33,85);lcd_disp_hanzhi(5,0,28,50);lcd_disp_hanzhi(6,0,19,41);/lcd_disp_hanzhi(7,0,28,68);while(1)if(XBYTE0xCFE9&0x07)
20、ReadKey();key=key-192;Display(key);/( * keyproctabReadKey()();/執(zhí)行按鍵對(duì)應(yīng)的功能key_work();delay(10);void Time0(void) interrupt 1 using 0/中斷函數(shù)服務(wù)子程序count+;if(count >= 20)scan_tim();/一秒時(shí)間到/顯示時(shí)間count = 0;TH0=(65536-46083)/256;TL0=(65536-46083)%256;void scan_tim()/時(shí)間記錄函數(shù)scond+;disp_time(s_site_x,s_site_y,sco
21、nd);if(scond = 60)scond = 0;min +;disp_time(s_site_x,s_site_y,scond);disp_time(m_site_x,m_site_y,min);if(min = 60)min = 0;hour +;disp_time(m_site_x,m_site_y,min);disp_time(h_site_x,h_site_y,hour);if(hour = 24)hour = 0;disp_time(h_site_x,h_site_y,hour);if( (set_ok=1) && (scond=s_scond) && (hour = s_hour) && (s_min=min) )/上課時(shí)間到set_ok = 0;/關(guān)閉 lcd_disp_ascii(0,15,'>'); /lcd_disp_hanzhi(0,1,41,47);/lcd_disp_hanzhi(1,1,31,46);if( (set_ok2=1) && (scond=s_scond2) && (hour = s_hour2) && (s_min2=min) )/下課時(shí)間到set_ok2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年古建門樓建筑與材料供應(yīng)合同
- 2025年北京二手住宅交易合同標(biāo)準(zhǔn)化
- 2025年合作合同爭(zhēng)議解決途徑
- 2025年旺鋪街租賃合同范文
- 2025年建筑拆毀合同樣本
- 2025年建筑勞務(wù)工人健康管理合同
- 2025年企業(yè)倉(cāng)儲(chǔ)用地租賃策劃合同范本
- 2025年企業(yè)員工合同書示范文本
- Unit2 Special Days Lesson 2(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教新起點(diǎn)版英語五年級(jí)下冊(cè)
- 2025年設(shè)備遷移合同示范
- 現(xiàn)代企業(yè)服務(wù)營(yíng)銷的創(chuàng)新與實(shí)踐
- 【寒假開學(xué)第一課】AI時(shí)代做自己的哪吒
- 2025年度光伏電站光伏組件回收處理合同示范文本
- 2025年春季少先隊(duì)工作計(jì)劃及安排表(附:少先隊(duì)每月工作安排表)
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- CWAN 0043-2021攪拌摩擦焊攪拌頭設(shè)計(jì)及制造標(biāo)準(zhǔn)
- 教學(xué)課件:《公共關(guān)系學(xué)》(本科)
- 劉聰版在燦爛陽光下鋼琴伴奏譜簡(jiǎn)譜版
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 2025年春新人教PEP版英語三年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 體育老師籃球說課
評(píng)論
0/150
提交評(píng)論