PIC單片機萬年歷設計報告_第1頁
PIC單片機萬年歷設計報告_第2頁
PIC單片機萬年歷設計報告_第3頁
PIC單片機萬年歷設計報告_第4頁
PIC單片機萬年歷設計報告_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于PIC片的萬年的計1設計目的通過本課程設計,進一步了解課程設計的要求和寫作過程,了解課程設計的研究方法,培養(yǎng)文獻檢索能力、創(chuàng)新能力、文字表達能力等。本設計主電路都采用目前流行的簡單的典型電路接法單實用定廉價。本設計可起到一個很好的教學目的和實驗目的,對于認識IC片機也有一定的好處,能更加熟悉單片機和其它芯片之間的通信。2設計的主要內(nèi)容和要求主PIC16F87X系列單片機是美國微芯公司(推出的單片機系列,采用精簡指令集結(jié)構(gòu)(RISC)的高性價比嵌入式控制器,其總線結(jié)構(gòu)采取數(shù)據(jù)總線和指令線分離獨立的哈佛(Harvard)結(jié)構(gòu)。所以我們要先掌握精簡指令集結(jié)構(gòu)和哈佛結(jié)構(gòu)的特點和用法。實時時鐘芯片DS1302和溫度傳感芯片都是DALLAS公司出產(chǎn)的,都采用單總線數(shù)據(jù)傳送方式,所以我們先要弄懂單總線傳送方式是一個什么樣的傳送方式。1602液晶芯片是一款常見的LCD,對它的讀寫我們要注意讀寫時序,還有PIC單片機速度比8051單片機要快,以前1602寫操作前不會檢查忙否,但PIC一定要確認1602不忙才進行寫操作。PIC16F87X系列單片機資源很豐富,故控制寄存器較多,要注意運用,還PIC16F87X系列單片機有些引角在開出廠時輸入輸出的是模擬信號,要對其控制寄存器進行設置。主1)設計要做到操作簡單實用廉價;要能顯示秒、分、時、天、月、周、年、農(nóng)歷以及鬧鐘等信息,并能調(diào)整以上信息;鍵盤控制調(diào)整時鐘信息和顯示要靈敏不能出現(xiàn)較大的延時,靈活,可移植性強,能夠隨時對電路進行改進。3整體設計方案為提高設計效率,本設計擬將整個系統(tǒng)模塊化。采用的整體設計方案如圖3.1所示,整個系統(tǒng)由[1]

、顯示電路2]

,獨立鍵盤電路3]

、DS1302實時時鐘電路[4]、復位電路等部分組成。圖3.1整體設計框圖當電源開關(guān)打開后,系統(tǒng)電路初始化,一從實時時鐘電路中讀取一串時鐘信息,二從度傳感電路讀取一串溫度信息,然后MCU系統(tǒng)對采集到的進行變換和處理再通過LCD顯示出來完成一次顯示過程獨立鍵盤與外部中斷連接,當有鍵盤按下時,觸發(fā)中斷,進入中斷服務子程序,子程序?qū)袛嗄膫€鍵被按下了,有什么作用,要進行怎樣的處理;復位鍵按下,系統(tǒng)將重新初始化,并再按上面所述執(zhí)行下來。4硬件電路的設計本設計中的萬年歷的硬件電路主要由電路實時時鐘電路獨立鍵盤電路四部分組成:MCU電主要元器件單片機振33pF電容電阻、開關(guān)。系列單片機是美國微芯公司Microchip)推出的單片機系列,采用精簡指令集結(jié)構(gòu)的高性價比嵌入式控制器,其總線結(jié)構(gòu)采取數(shù)據(jù)總線和指令線分離獨立的哈佛結(jié)構(gòu),哈佛結(jié)構(gòu)是數(shù)據(jù)存儲器與程序存儲器獨立編址也就是兩種存儲器位于不同的邏輯空間里使得它在執(zhí)行一條指令的同時,就可以提取下一條指令,因此具有很高的流水處理速度。其高速度、低電壓工作,低功耗,強大驅(qū)動能力,低價OTP技術(shù),體積小巧等都體現(xiàn)了單片機工業(yè)的新趨勢;其在線編程功能可以極大地滿足市場的需,同時第三方開發(fā)的C語言開發(fā)具,更使得研發(fā)工程師能夠快速地開發(fā)升級產(chǎn)品,滿足市場不斷變化的需求。其節(jié)約成本的最優(yōu)化設計,適于用量大、檔次低、價格敏感的產(chǎn)品[PIC16F877有40接腳,每根接腳都有其特定功能,例如與Pin32(VDD)為正電源接腳Pin12Pin31(VSS)為地線接腳而有些接腳有兩種甚至三種以上功能,例如Pin2(RA0/AN0)代表PORTA的第一支接腳,在系重置(后,可自動成為模擬輸入接腳,接收模擬訊號,也可經(jīng)由程序規(guī)劃為數(shù)字輸出輸入接腳。設計中以PIC16F877A片機為主芯片,、等為輔芯片,將結(jié)果在LCD上顯示。具體總原理圖如圖4.1。圖.1總原理圖電路圖圖4.2MCU電路圖實主要元器件電容5K\10K\20K電阻DS1302是ALLAS公推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)態(tài)AM,通過簡單的串行接口與單片機進行通信。實時時/日歷電路秒、分、時、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過示決定采用4或小時格式DS1302與單片機之間能簡單地采用同步串行的方式進行通信,公需用到三個口線:RES(復位),數(shù)據(jù)線),(3)SCLK(串行時鐘)。時的讀數(shù)據(jù)以一個字節(jié)或多達個字節(jié)的字符組方式通信。工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。DS1302是由DS1202改進而來,Vcc1為可編程涓流充電電源,附加七個字節(jié)存儲器。實時時鐘具有能計算2100年之前的秒、分、時、日期、星期、月、年的能力還有閏年調(diào)整的能力這就使本來要通過復雜的算法來計算出的星期閏年的計算簡單了許多。設計中我們要設計一個高穩(wěn)定晶振電路,這里我們用二片電容和一個32.768MHz的晶振。具體電路連接如圖4.2所示。圖4.3實時時鐘電路圖獨主要元器件:鍵盤10千歐和1歐電阻、電源和地等等。鍵盤電路一般都是讓端口檢測低電平有用掃描的方法檢測哪個鍵有按下也有用中斷的方法檢測。本設計中的獨立鍵盤是前者,一般鍵盤可直接接地,但這里為了穩(wěn)定起見,在掛鍵盤的端口用了個上拉電阻。具體電路連接如圖所示。圖4.5獨立鍵盤電路圖5軟件設計軟件設計部分可分為程序示子程序和DS1302實時時鐘子程序、DS18B20溫度計子程序、鍵盤服務子程序等。

在主程序中需要完成整體的功能構(gòu)架并對各芯片的初始化另外在主程序模塊中還需要設置定時器0并對它們進行初始化。主程序一次循環(huán)流程圖如圖所示。當打開電源開關(guān)時,各個模塊初始化,然后顯示固定在液晶上的用于美化顯示的圖形。之后讀取溫度信息,定時初始化,讀取時間等信息,冒號閃爍,讀取星期、農(nóng)歷信息,顯示所有信息,結(jié)束一次循環(huán)。在實際運行時,顯示完所有信息后,將返回到讀取溫度子函數(shù)前再往循環(huán)下執(zhí)行。

圖5.1主程序流程圖在主程序中進入鍵盤服務程序后開始掃描鍵盤如果設置鍵沒有鍵按下或是按下次數(shù)K則本次掃描結(jié)束設置鍵按下次數(shù)K=K%10=1;則可通過加減鍵調(diào)節(jié)秒若設置鍵按下次數(shù)則可通過加減鍵調(diào)節(jié)分;若設置鍵按下次數(shù)K=K%10=3則可通過加、減鍵調(diào)節(jié)時;若設置鍵按下次數(shù)K=K%10=4,則可通過加、減鍵調(diào)節(jié)天;若設置鍵按下次,則可通過加減鍵調(diào)節(jié)年若設置鍵按下次數(shù)K則可通過加減鍵調(diào)節(jié)星期;若設置鍵按下次數(shù)K,則可通過加、減鍵調(diào)節(jié)鬧鈴開關(guān);若鬧鈴關(guān),則設置鍵按下次數(shù)K=K%10=8,將回到初始顯示界面。若鬧鈴,則設置鍵按下次數(shù)K=K%10=8,則可通過加、減鍵調(diào)節(jié)鬧鈴分;則可通過加、減鍵調(diào)節(jié)鬧鈴時;若設置鍵按下次數(shù)K=K%10=10,將回到初始顯示面。

LCD顯示

圖5.2獨立鍵盤服務流程圖在LCD顯示子程序中,初始化后,LCD中讀狀態(tài)字,判斷LCD是否在忙狀態(tài),不是則可向LCD寫控制命令,再寫數(shù)據(jù),即顯示數(shù)據(jù)。圖5.3LCD顯示流程圖器材:LCD(LGM12641BS1R)單片機紅色法官二極管DS1302的振的容10k的電阻1k的阻Button按

一個一個一個一個個個五個四個四個目的和1.1

設計目的掌握單片機8031性能及使用方法掌握使用單片機編程的方法;3解七段數(shù)碼顯示數(shù)字的原理;掌握多位數(shù)字的顯示技術(shù);掌握ADC0809/數(shù)轉(zhuǎn)換的應用;1.2設計的內(nèi)容由于日常電壓都是模擬量,要把他們的輸出變?yōu)閿?shù)字量就需要有/數(shù)轉(zhuǎn)換器。本次實驗選用的是八位模/數(shù)轉(zhuǎn)換器ADC0809。其次,計算機中的數(shù)字都是十六進制數(shù)而我們習慣于十進制數(shù)的讀寫因此在軟件設計中則要把十六進制數(shù)轉(zhuǎn)換成十進制數(shù)在顯示的時候也是如此本裝置的輸出用三位顯示,因此在軟件設計中還要解決數(shù)字輸出與LED的接口問題。硬件則需要將輸出線接到八段數(shù)碼管上。原理框圖1.3設計要求.可測量0~99V的模擬電壓;.精確到0.1V;.結(jié)果用態(tài)顯示;硬件電路設計8031單片機8031為字長8位的單片微型計算機中央處理器內(nèi)部內(nèi)部ROM、兩個16位的定時計數(shù)器、四個8位的I/O(P0、P1、P2、P3個全雙工的串行口、五個中斷源以及時鐘等組成。它具有速度快、功能強、功耗底、抗干擾性好、價格低廉等特點。它是標準的引腳雙列直插封裝()形式。八位模/數(shù)轉(zhuǎn)換器ACD0809典型的8位8通道逐次逼近式轉(zhuǎn)換器引腳雙列直插式封裝可實現(xiàn)8模擬信號的分時采集片內(nèi)有8模擬選通開關(guān)以及相應的通道地址鎖存譯碼電路,其轉(zhuǎn)換時間為微秒左右。A/D轉(zhuǎn)換用于實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換。按轉(zhuǎn)換原理可分為四種,即:計數(shù)式A/D轉(zhuǎn)換器、雙積分式A/D轉(zhuǎn)換器、逐次逼近A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。目前使用較多的為后三種。雙積分A/D轉(zhuǎn)換器具有高精度、抗干擾性好、價格低廉等特點,但速度較慢經(jīng)常應用于對速度要求不高的儀表中逐次逼近式A/D轉(zhuǎn)換器在精度速度和價格上都適中是目前最常用的A/D轉(zhuǎn)換器并行式A/D轉(zhuǎn)換器是一種用編碼技術(shù)實現(xiàn)的高速A/D轉(zhuǎn)換器其速度最快格也最高于要求較高的場合。綜上,本設計選用逐次逼近式位A/D轉(zhuǎn)換芯片ADC0809。ADC0809的主要技術(shù)特性和指標:·分辨率:8位?!まD(zhuǎn)換時間:取決于芯片時鐘頻率?!我浑娫矗?5V?!つM輸入電壓范圍:單極性~5V,雙極性+5V或+10V。·具有可控三態(tài)輸出鎖存器?!愚D(zhuǎn)換控制脈沖式(正脈沖升沿使內(nèi)部所有寄存器清“”,下降沿使A/D轉(zhuǎn)換器開始。LED顯示器通常所說的LED顯示器有七個發(fā)光二極管組成,因此也稱之為七段LED顯示器。此外,顯示器中還有一個圓點型發(fā)光二極管,用于顯示小數(shù)點。ae3.軟件電路設計3.1設計思路本題要求輸入的模擬電壓,結(jié)果LED顯示。由于計算機讀入的只能是數(shù)字量因此首先要用模/轉(zhuǎn)換器ADC0809采集到的數(shù)據(jù)轉(zhuǎn)換成數(shù)字量送入8031行處理再者用LED顯示結(jié)果時就要考慮LED的接口問題。在程序中要完成的還有輸入量于輸出量的對應問題。ADC0809八位的模/數(shù)轉(zhuǎn)換器,數(shù)字范圍為0~255,而輸出要求0~100因此,模擬量與數(shù)字輸出的變化比為100/255。在計算機乘法中不能給一個數(shù)直接乘以所以在處理輸入值時就必須計算輸入值*4/10。算得的值不必再進行其他轉(zhuǎn)換便可通過LED顯示。3.2程序流程圖顯示程序led:;位控口部分acc.1,b1;否有小數(shù)點jmpb1:movdptr,#outsegshow:movx@dptr,ar6,#01hacalldelayincrlajbacc.3,ld1leddptr,#outbit#0ald1:starttable:incamovcretdb06h4fh6dhdb7dh6fhtable1:amovcretdb86h0cfhdb0edh0fdh87h0ffh0efh#0djnzr7,DelayLoopdjnzr6,DelayLoopret3.3程序清單outbit9002h

;關(guān)所有八段管;返回;延時子程序outsegstart:movdptr,#outbit#0a;關(guān)所有八段管a;起動A/Djisuan:movx@dptr;把ADC的輸出賦給b,mulaba,#0ffhdivabmulabmulaba,30hdivaba,32ha,bdivaba,32hdivab

;積的高位存入30h單元;積的低位存入31h單元;15-51是進制轉(zhuǎn)換問題;商存入32元;余數(shù)存入33h單元;高位的總商;b中放總后的余數(shù);把數(shù)位存入緩存區(qū)cjne

;

把十位存入緩存區(qū)70h,#09h;出處理部分71h,#09h72h,#09hjmpxianshia1:mov;xianshi:movr0,#70hr3,#01hled:

把個位數(shù)存入緩存區(qū);位控口部分acc.1,b1;是有小數(shù)點jmpb1:movdptr,#outsegshow:movx@dptr,ar6,#01hacalldelayincrlajbacc.3,ld1leddptr,#outbit#0a;關(guān)所有八段管ld1:start;返回table:incamovcretdb3fh06h66hdb7dh7f

溫馨提示

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

評論

0/150

提交評論