基于ATmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)20130504綜述_第1頁(yè)
基于ATmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)20130504綜述_第2頁(yè)
基于ATmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)20130504綜述_第3頁(yè)
基于ATmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)20130504綜述_第4頁(yè)
基于ATmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)20130504綜述_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于ATmegal羿片機(jī)的電子時(shí)鐘設(shè)計(jì)物理與電子工程學(xué)院 電子信息科學(xué)與技術(shù)專業(yè)(職教) 2009 級(jí) 羅德龍指導(dǎo)教師 宋培森摘 要: 隨著科學(xué)技術(shù)的發(fā)展電子時(shí)鐘在日常的生活中應(yīng)用的相當(dāng)?shù)亩?。本文介紹了一款基于ATmega16單片機(jī)為主控芯片的數(shù)字電子時(shí)鐘設(shè)計(jì)。其中主要包括ATmega16單片機(jī)、獨(dú)立鍵盤、DS1302芯片、LCD1602液晶顯示、以及相關(guān)外圍電路并在 PROTUE仿真平臺(tái)上運(yùn) 行。關(guān)鍵詞:ATmega16單片機(jī);DS1302芯片;獨(dú)立鍵盤; LCD1602Abstract : With the development of science and technology ele

2、ctronic clock in the daily life of the application is quite long. This paper introduces a single chip processor as the main control chip based on ATmega16 digital electronic clock design. Include ATmega16 microcontroller, independent keyboard, DS1302 chip LCD1602, liquid crystal display (LCD), and r

3、elated peripheral circuit and in PROTUES simulation platform operation.Key words : ATmega16 microcontroller ; DS1302 chip; Independent keyboard; LCD16021 前言液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧等許多優(yōu)點(diǎn),在 袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。 本文中詳細(xì)介紹了基于 ATmega16片機(jī)控制下的162液晶屏顯示設(shè)計(jì),此設(shè)計(jì)基于ds1302的時(shí)鐘電路 方便實(shí)用,電路設(shè)計(jì)簡(jiǎn)單。2 AVR 單片機(jī)介紹2.1 AVR

4、單片機(jī)簡(jiǎn)介AVF單片機(jī)是1997年由ATME公司研發(fā)出的增強(qiáng)型內(nèi)置 Flash的RISC精簡(jiǎn)指 令集高速8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時(shí)控 制、儀表儀器、通訊設(shè)備、家用電器等各個(gè)領(lǐng)域。 1997 年,由 Atmel 公司挪威設(shè) 計(jì)中心的A先生和V先生,利用Atmel公司的Flash新技術(shù),共同研發(fā)出RISC精 簡(jiǎn)指令集高速 8位單片機(jī),簡(jiǎn)稱 AVR。2.2 Atmega16 簡(jiǎn)介ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMO微控制器。由于其 先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega16的數(shù)據(jù)吞吐率高達(dá) 1MIPS/MHz從而可以減

5、緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16 AVR內(nèi)核具有豐富的指令集和 32個(gè)通用工作寄存器。所有的寄存 器都直接與運(yùn)算邏單元 (ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí) 訪問兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的 CISC 微控制器最高至 10 倍的數(shù)據(jù)吞吐率。ATmega16有如下特點(diǎn):16K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時(shí)讀寫的能 力),512 字節(jié) EEPROM1K 字節(jié) SRAM32 個(gè)通用 I/O 口線,32 個(gè)通用工作寄存 器,用于邊界掃描的 JTAG 接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活 的定時(shí)器/計(jì)數(shù)器(T/

6、C),片內(nèi)/外中斷,可編程串行USART有起始條件檢測(cè)器的 通用串行接口, 8 路 10位具有可選差分輸入級(jí)可編程增益的 ADC ,具有片內(nèi)振蕩 器的可編程看門狗定時(shí)器, 一個(gè) SPI 串行端口,以及六個(gè)可以通過軟件進(jìn)行選擇 的省電模式。2.3 ATmega16 產(chǎn)品特性高性能、低功耗的8位AVR微處理器先進(jìn)的 RISC 結(jié)構(gòu)131 條指令大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期32 個(gè) 8 位通用工作寄存器全靜態(tài)工作工作于16MHz時(shí)性能高達(dá)16MIPS只需兩個(gè)時(shí)鐘周期的硬件乘法器 非易失性程序和數(shù)據(jù)存儲(chǔ)器16K 字節(jié)的系統(tǒng)內(nèi)可編程 Flash ,擦寫壽命 : 10,000 次 具有獨(dú)立鎖定位的可選

7、 Boot 代碼區(qū),通過片上 Boot 程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程, 真正的同時(shí)讀寫操作512字節(jié)的EEPRQM擦寫壽命:100,000 次1K字節(jié)的片內(nèi)SRAM可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密JTAG 接口( 與 IEEE 1149.1 標(biāo)準(zhǔn)兼容) 符合 JTAG 標(biāo)準(zhǔn)的邊界掃描功能 支持?jǐn)U展的片內(nèi)調(diào)試功能通過JTAG接口實(shí)現(xiàn)對(duì)Flash、EEPROM熔絲位和鎖定位的編程外設(shè)特點(diǎn) 兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的 8位定時(shí)器 /計(jì)數(shù)器 一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的 16位定時(shí)器/計(jì)數(shù)器 具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器 RTC四通道 PWM8路10位ADC 8個(gè)單端通道,2個(gè)具有可編程

8、增益(1x, 10x,或200x)的 差分通道面向字節(jié)的兩線接口 兩個(gè)可編程的串行 USART 可工作于主機(jī) / 從機(jī)模式的 SPI 串行接口 具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器片內(nèi)模擬比較器第 3 頁(yè) (共 30 頁(yè))特殊的處理器特點(diǎn)上電復(fù)位以及可編程的掉電檢測(cè)片內(nèi)經(jīng)過標(biāo)疋的RC振蕩器片內(nèi)/片外中斷源6種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby 模式以及擴(kuò)展的Standby模式u I/O 和圭寸裝32個(gè)可編程的I/O 口2.4 工作電壓:ATmega16L 2.7 - 5.5VATmegal 6 4.5 - 5.5V2.5 ATmega16引腳功能VCC

9、電源正GND電源地端口 A (PA7.PA0)做為A/D 轉(zhuǎn)換器的模擬輸入端。端口 A為8位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具一二二二一T-1HjUTrrnnnrnnnnniu92r433?1;17科3,2H*IO1 含34 LTA00: y21 O 9 S y a 4力 iATmega引腳圖有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉 電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還 未起振,端口 A處于高阻狀態(tài)。端口 B(PB7.PB0)為8位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸 出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸

10、出和吸收大電流。作為輸入使用時(shí),若內(nèi) 部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng) 時(shí)鐘還未起振,端口 B 處于高阻狀態(tài)。端口 B 也可以用做其他不同的特殊功能 .端口 C(PC7.PC0) 為 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。 其輸 出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi) 部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系統(tǒng) 時(shí)鐘還未起振,端口 C 處于高阻狀態(tài)。如果 JTAG 接口使能,即使復(fù)位出現(xiàn)引腳 PC5(TDI)、PC3(TMS與PC2(TCK)的上拉電阻被激活。端口 C也可以用做其他不

11、同的特殊功能。端口 D(PD7.PD0)為8位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。其輸 出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi) 部上拉電阻使能,則端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過程中,即使系 統(tǒng)時(shí)鐘還未起振, 端口 D 處于高阻狀態(tài)。 端口 D 也可以用做其他不同的特殊功能 .RESET復(fù)位輸入引腳。持續(xù)時(shí)間超過最小門限時(shí)間的低電平將引起系統(tǒng)復(fù) 位。持續(xù)時(shí)間小于門限間的脈沖不能保證可靠復(fù)位。XTAL1 反向振蕩放大器與片內(nèi)時(shí)鐘操作電路的輸入端。XTAL2 反向振蕩放大器的輸出端。AVCC AVCC是端口 A與A/D轉(zhuǎn)換器的電源。不使用ADC時(shí),該引

12、腳應(yīng)直接 與VCC連接。使用ADC時(shí)應(yīng)通過一個(gè)低通濾波器與 VCC連接。AREF A/D 的模擬基準(zhǔn)輸入引腳。2.6 AVR 單片機(jī)的應(yīng)用區(qū)域AVF單片機(jī)應(yīng)用區(qū)域包括:空調(diào)控制板、打印機(jī)控制板、智能電表、智能手電 筒、LED控制屏和醫(yī)療設(shè)備等領(lǐng)域。3 162 液晶顯示屏介紹第 5 頁(yè) (共 30 頁(yè))162液晶模塊是一種用5x7點(diǎn)陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容 量可以分為1行16個(gè)字、2行16個(gè)字等。3.1 162液晶屏顯示屏的引腳定義首先,我們來看162的引腳定義,162的引腳是很整齊的SIP單列直插封裝。表1 是液晶屏的引腳定義。表1接口信號(hào)說明表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說

13、明1VSS電源地9D2Data 1/02VDD電源正極10D3Data 1/03VEE液晶顯示偏壓信號(hào)11D4Data 1/04RS數(shù)據(jù)命令/選擇端(H/L)12D5Data 1/05R/W讀/寫信號(hào)(H/L)13D6Data 1/06E使能信號(hào)14D7Data 1/07D0Data 1/015LEDA背光源正極8D1Data 1/016LEDK背光源該液晶屏采用標(biāo)準(zhǔn)的16腳接口,我們只需要關(guān)注一下幾個(gè)管腳:1腳:VSS為地電源。2腳:VDD接5V正電源。3腳:VEE,液晶屏顯示偏壓信號(hào),用于調(diào)整液晶屏的顯示對(duì)比度,一般會(huì)外界 電位器用以調(diào)整偏壓信號(hào),接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高

14、,對(duì) 比度過高時(shí)會(huì)產(chǎn)生“陰影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。4腳:RS,數(shù)據(jù)/命令選擇端,即對(duì)寄存器進(jìn)行選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、 低電平時(shí)選擇指令寄存器。5腳:R/W,讀寫選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。6腳:E,使能信號(hào),其實(shí)時(shí)162的逐句控制時(shí)鐘信號(hào),利用該信號(hào)的上升沿實(shí) 現(xiàn)對(duì)液晶屏的數(shù)據(jù)傳輸。714腳:8位雙向數(shù)據(jù)線15腳:背光陽(yáng)極。16腳:背光陰極。3.2 162液晶顯示屏的指令說明162液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說 明:1為高電平、0為低電平)。162液晶屏內(nèi)部模塊共有11條控制指令,如表2 所示。表2控制命

15、令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清屏00000000012光標(biāo)返回000000001*3輸入方式00000001I/DS4顯示開關(guān)0000001DCB5移位000001S/CR/L*6功能設(shè)置00001DLNF*7CGRA地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6 A5A4A3A2A1A09忙標(biāo)志/讀地址計(jì)數(shù)器01BFAC6 AC5 AC4 AC3 AC2 AC1 AC010CGRAM/DDRAM據(jù)寫10寫數(shù)據(jù)11CGRAM/DDRAM據(jù)讀11讀數(shù)據(jù)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H

16、指令3:光標(biāo)和顯示模式設(shè)置I/D :光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效指令4:顯示開關(guān)控制。D :控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示第7頁(yè)(共30頁(yè))C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍指令5:光標(biāo)或顯示移位S/C :高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo) 指令6:功能設(shè)置命令DL高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示 5x10的點(diǎn)陣字符指令7:字符發(fā)生器

17、RAM地址設(shè)置指令8: DDRA地址設(shè)置指令9:讀忙信號(hào)和光標(biāo)地址BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收 命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)3.3 162液晶顯示屏的時(shí)序在操作液晶屏,我們應(yīng)該對(duì)它的工作時(shí)序非常熟悉,這里介紹了162液晶顯示屏的兩個(gè)寫時(shí)序:寫指令和寫入數(shù)據(jù)。寫指令,即設(shè)置162液晶顯示屏的工作方式:需要把 RS置為低電平,RW置為 低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口 D0D7最后E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。寫數(shù)據(jù),即在液晶屏上實(shí)現(xiàn)顯示時(shí):需要把 RS置為高電平,RV置為低電平,然后將數(shù)據(jù)送到D0D7最后E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。DATAIR

18、S-1RWCMD指奢準(zhǔn)警好EN(i寫捋令時(shí)宇囹(2) 寫數(shù)據(jù)時(shí)宇圉“圖1 162液晶顯示屏?xí)r序圖注意:162液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要 確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。當(dāng)然,162提供了讀忙信號(hào)的方法:當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào)。3.4 162液晶屏的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM已經(jīng)存儲(chǔ)了 128個(gè)不同的點(diǎn)陣字符 圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫和常用的符號(hào)等,每一個(gè)字 符都有一個(gè)固定的代碼,比如大寫的英文字母“ A”的代碼是

19、01000001B( 41H), 顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“ A” o 要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。液晶屏 第一行的首地址是80H,第二行的首地址是 C0H表3是液晶屏的GROM中的字符 代碼與圖形對(duì)應(yīng)關(guān)系。表3字符代碼與圖形對(duì)應(yīng)表高位位00000010001101000101011001110000GRAM0Pp0001!1AQaQ00102BRbR0011#3CScS0100$4DTdt0101%5EUeu0110&6FVfv01117GWgw1000(8HXhx1001)9IYiy1010*JZjZ1011+Kk

20、1100NAn1111/?OoJ4 ds1302芯片介紹DS1302是美國(guó)DALLAS司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加 31字節(jié)靜態(tài)RAM采用SPI三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一 次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、 月和年,一個(gè)月小與31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá) 2.55.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式, 提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302的外部引腳分配如圖2所示及內(nèi)部結(jié)構(gòu)如圖3所示。DS1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù) 據(jù)點(diǎn)

21、的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此廣泛應(yīng)用于測(cè)量 系統(tǒng)中。圖3內(nèi)部結(jié)構(gòu)VcC2 i8J Vccixt c2 g 7J SCLKX2匸3?6J t/OGND Q4 q 5JCE圖2引腳圖各引腳的功能為:Vcc1 :主電源;Vcc2:備份電源。當(dāng) Vcc2Vcc1+0.2V 時(shí),由 Vcc2 向 DS1302 供電,當(dāng) Vcc2DS1302LCD1602本系統(tǒng)所包含模塊:主控芯片 ATmega16 LCD1602液晶顯示模塊、獨(dú)立鍵盤模塊、指示燈 電路、DS1302時(shí)鐘模塊、以及電源。另外還有背光電壓顯示電路。6.2 PROTUES仿真圖及電路原理圖畢業(yè)論文設(shè)計(jì)r4=1-11-r

22、i n0|C匕匚已門匕EC設(shè)計(jì)者:羅縫龍CIM?卜PROTUE仿 真圖電路原理圖亡,I Fl 94J r L-廠.1 hl- FE陀PBtEigjEPBFB眶丸爰他忑鷲老器r 呂一_丸I二二色二巴二丈乂6.3獨(dú)立鍵盤T5V圖7該鍵盤是三路獨(dú)立的按鍵回路,當(dāng)D端口讀取的電平為高電平時(shí)不動(dòng)作,說明沒有按鍵按下;當(dāng) 任意一個(gè)電路的按鍵按下時(shí),該段口讀取的電平 就為低電平執(zhí)行相應(yīng)的操作。按鈕主要功能:K1:按下此按鈕可以執(zhí)行對(duì)時(shí)間的更改且相應(yīng)的 時(shí)間指示燈點(diǎn)亮;對(duì)應(yīng)鍵值為: 00001011。K2:按下此按鈕可以實(shí)現(xiàn)時(shí)間地址的切換并且相 應(yīng)的指示燈點(diǎn)亮;對(duì)應(yīng)鍵值為: 00001101。K3:按下此按鈕

23、可以執(zhí)行對(duì)時(shí)間的增1操作,對(duì)應(yīng)鍵值為:00001110。6.4背光電壓顯示讀/巧電位器的中間分為兩路,一路接液晶的 Vee端,另一路接單片機(jī)PA3端。經(jīng)過軟件處理后將值顯示在液晶屏上。模數(shù)轉(zhuǎn)換:AD 轉(zhuǎn)換結(jié)果: ADC=Vi n*1024/VrefADC多工選擇寄存器ADMUX7-6$43210| fiefsiREFSP| ADLAR |hlUX4MUX3MUX2MUX1Muxa |R/WR/WR/WR/WR/WRjWrawR/W0000a00圖9Bit 7:6-REFS1:0: 參考電壓選擇如Table 83所示,通過這幾位可以選擇參考電壓。如果在轉(zhuǎn)換過程中改變了 它們的設(shè)置,只有等到當(dāng)前轉(zhuǎn)

24、換結(jié)束(ADCSRA寄存器的ADIF置位)之后改變才會(huì)起作用。如果在 AREF引腳上施加了外部參考電壓,內(nèi)部參考電壓就不 能被選用了。表7參考電壓選擇REFS1REFS0參考電壓選擇00AREF內(nèi)部Vref關(guān)閉01AVCC,AREF引腳外加濾波電容10保留112.56V的片內(nèi)基準(zhǔn)電壓源,AREF引腳外加濾波電容在本文我們選擇 AVCC,AREF引腳外加濾波電容Bit 5- ADLAR: ADC轉(zhuǎn)換結(jié)果 左對(duì)齊ADLAR置位時(shí)轉(zhuǎn)換ADLAR影響ADC轉(zhuǎn)換結(jié)果在ADC數(shù)據(jù)寄存器中的存放形式結(jié)果為左對(duì)齊,否則為右對(duì)齊ADLAR的改變將立即影響ADC數(shù)據(jù)寄存器的P207 “ ADC數(shù)內(nèi)容,不論是否有轉(zhuǎn)

25、換正在進(jìn)行。關(guān)于這一位的完整描述請(qǐng)見 據(jù)寄存器- ADCL及ADCH 。Bits 4:0- MUX4:0:模擬通道與增益選擇位通過這幾位的設(shè)置,可以對(duì)連接到ADC的模擬輸入進(jìn)行選擇。也可對(duì)差分通道增益進(jìn)行選擇。如果在轉(zhuǎn)換過程中改變這幾位的值,那么只有到轉(zhuǎn)換結(jié)束 (ADCSRA寄存器的ADIF置位)后新的設(shè)置才有效。表8模擬通道與增益選擇MUX4.0單端輸入正差分輸入負(fù)差分輸入增益00000ADC0N/A00001ADC100010ADC200011ADC300100ADC400101ADC500110ADC600111ADC701000N/AADC0ADC010x01001ADC1ADC010

26、x01010ADC0ADC0200x01011ADC1ADC0200x01100ADC2ADC210x01101ADC3ADC210x01110ADC2ADC2200x01111ADC3ADC2200x10000ADC0ADC11x10001ADC1ADC1 11x10010ADC2ADC11x10011ADC3ADC11x10100ADC4ADC1 11x10101ADC5ADC11x10110ADC6ADC11x10111ADC7ADC11x11000ADC0ADC21x11001ADC1ADC21x11010ADC2ADC21x11011ADC3ADC21x11100ADC4ADC21x

27、11101ADC5ADC21x111101.22 V (VBG)N/A111110 V (GND)ADC控制和狀態(tài)寄存器 A ADCSRA7e543211| AID EHADSC| ADATEAD IFADIEADPS2ADPS1ADP&O |* XR/WRWRMFVWR/WFWVR/WR/WaQOOO0圖10Bit 7 ADEN: ADC 使能ADEN置位即啟動(dòng) ADC否則ADC功能關(guān)閉。在轉(zhuǎn)換過程中關(guān)閉ADC將立即中止正在進(jìn)行的轉(zhuǎn)換。Bit 6 ADSC: ADC 開始轉(zhuǎn)換在單次轉(zhuǎn)換模式下,ADSC置位將啟動(dòng)一次 ADC轉(zhuǎn)換。在連續(xù)轉(zhuǎn)換模式下,ADSC 置位將啟動(dòng)首次轉(zhuǎn)換。第一次轉(zhuǎn)換(在A

28、DC啟動(dòng)之后置位 ADSC或者在使能ADC的同時(shí)置位 ADSC需要25個(gè)ADC時(shí)鐘周期,而不是正常情況下的13個(gè)。第一次轉(zhuǎn)換執(zhí)行 ADC初始化的工作。在轉(zhuǎn)換進(jìn)行過程中讀取 ADSC的返回值為 1 ”,直到轉(zhuǎn)換結(jié)束。 ADSC青零不產(chǎn)生任何動(dòng)作。Bit 5- ADATE: ADC自動(dòng)觸發(fā)使能ADATE置位將啟動(dòng) ADC自動(dòng)觸發(fā)功能。觸發(fā)信號(hào)的上跳沿啟動(dòng)ADC轉(zhuǎn)換。觸發(fā)信號(hào)源通過SFIOR寄存器的ADC觸發(fā)信號(hào)源選擇位 ADTS設(shè)置。Bit 4- ADIF: ADC 中斷標(biāo)志在ADC轉(zhuǎn)換結(jié)束,且數(shù)據(jù)寄存器被更新后,ADIF置位。如果 ADIE及SREG的全局中斷使能位I也置位,ADC轉(zhuǎn)換結(jié)束中斷服

29、務(wù)程序即得以執(zhí)行,同時(shí)ADIF硬件清零。此外,還可以通過向此標(biāo)志寫1來清ADIF。要注意的是,如果對(duì)ADCSRAtt行讀修改寫操作,那么待處理的中斷會(huì)被禁止。這也適用于SBI及CBI指令。Bit 3- ADIE: ADC 中斷使能若ADIE及SREG勺位I置位,ADC轉(zhuǎn)換結(jié)束中斷即被使能。Bits 2:0- ADPS2:0: ADC 預(yù)分頻器選擇位由這幾位來確定 XTAL與ADC輸入時(shí)鐘之間的分頻因子。表9預(yù)分頻ADPS2ADPS1ADPS0分頻因子0002001201040118100161013211064111128ADC數(shù)據(jù)寄存器 ADCL及ADCHADLAR = 0Bit151312

30、11110be-ADC9ADCBADC6ADC5A.DG4AJDG3AJDCZA.DC1ADCO76543210I耳1RRRRRRRRRRRRR良Rtnnta0QQ000000DD00ADCHADCL圖11ADLAR = 1151413121111098ADG7AJDCSAOC5AOQ4ADC3ADCHADC1*000-AOCL7e543210RRRRR盡RR良RARRR:000000000000000寫圖12ADC轉(zhuǎn)換結(jié)束后,轉(zhuǎn)換結(jié)果存于這兩個(gè)寄存器之中。如果采用差分通道,結(jié) 果由2的補(bǔ)碼形式表示。讀取 ADCL之后,ADC數(shù)據(jù)寄存器一直要等到ADCH也被讀出才可以進(jìn)行數(shù)據(jù)更新。因此,如果轉(zhuǎn)

31、換結(jié)果為左對(duì)齊,且要求的精 度不高于8比特,那么僅需讀取 ADCH就足夠了。否則必須先讀出ADCL再讀ADCH ADMUXJ存器的ADLAR及 MUXr會(huì)影響轉(zhuǎn)換結(jié)果在數(shù)據(jù)寄存器中的表示方式。如果 ADLAF為1,那么結(jié)果為左對(duì)齊;反之 (系統(tǒng)缺省設(shè)置),結(jié)果 為右對(duì)齊。6.5指示燈電路每路指示燈指示功能:PCO路:秒寄存器顯示PC1路:分寄存器顯示PC2路:時(shí)寄存器顯示PC3路:日寄存器顯示PC4路:月寄存器顯示PC5路:星期寄存器顯示PC6路:年寄存器顯示PD4路:是否允許調(diào)節(jié)時(shí)間顯示, 燈亮為允許。pcATmega161圖1C06.6 DS1302外圍電路22pX1SCL32768HZR

32、SX2VCCVCC1X2 VCC122pPAOPA1PA25V3V22pf電容和32768Hz晶振組成振蕩電路, 提供ds1302正常工作頻率。VCC2為主電源, VCC1為輔助電源。Rst為讀寫使能端,I/O 為三線接口時(shí)的雙向數(shù)據(jù)線,SCLK為串行時(shí) 鐘,輸入,控制數(shù)據(jù)的輸入與輸出。圖146.7單片機(jī)外圍電路圖1522pf電容和8MHz晶振組成振蕩電路,提供 單片機(jī)正常工作頻率。Reset為上電復(fù)位端,當(dāng)通電后單片即不管以前的程序工作在明E 里,一切復(fù)位從“零”開始。AVC(是端口 A與A/D轉(zhuǎn)換器的電源。AREF是 A/D的模擬基準(zhǔn)輸入引腳。7軟件設(shè)計(jì)在前面幾節(jié)中,我們了解了 ATmeg

33、a16單片機(jī)、162液晶顯示屏與ds1302的接口設(shè) 計(jì)以及液晶屏的時(shí)序,那么這部分闡述的是單片機(jī)對(duì)液晶屏顯示和 ds1302的驅(qū)動(dòng) 控制。軟件工作流程如下:?jiǎn)纹瑱C(jī)初始化-液晶屛初姑化-臺(tái) ft否UdslS02i取塞文扌居是-驅(qū)動(dòng)液晶旦不-廠4”蟲 13皿的逐、査扌青屛程序流程圖8 結(jié)束語(yǔ)經(jīng)過幾個(gè)月的研究與實(shí)驗(yàn),終于完成了這篇論文。在做這個(gè)課題的時(shí)侯遇到了許多困難,大部分通過查閱資料和看書以及研究別人成功的例子就能解決了,但少部分問題任不能解決,通過老師和同學(xué)的幫助終于解決。感謝幫助我的老師和同學(xué)。參考文獻(xiàn):1 HS162-4液晶顯示使用說明資料.2 DS1302_數(shù)據(jù)手冊(cè).3 ATmega1

34、6中文資料.4 Proteus 中文入門教程. 賀敬凱,劉德新,管明祥.單片機(jī)系統(tǒng)設(shè)計(jì)、仿真與應(yīng)用。西安電子科技大學(xué)出版社,2011.沈文.AVR單片機(jī)C語(yǔ)言開發(fā)入門指導(dǎo).清華大學(xué)出版社,2003年.7 丁化成,耿德根,李軍凱.AVR單片機(jī)應(yīng)用設(shè)計(jì).北京航空航天大學(xué)出版社,2002年.8 金春林,邱慧芳,張皆喜.AVR系列單片機(jī)C語(yǔ)言編程與應(yīng)用實(shí)例.清華大學(xué)出版社,2003 年.附件:畢業(yè)論文設(shè)計(jì)zaism:T&rTCflSLJEYL3J00! 015.E0UBATZ H羽1KT A LIXTASP:-OQ:Lr innirch: p ivnP IKH liDOapr li!ra?lF IOB

35、DD ITffiti:ATHBQA-KI abUEQDec i c t i o a i c ssclug “笛訪c?PBm Pb-im$F&31ITT1 PUC1| F MOG IA fbOU-P-l 枇工AHET :Atmega!6單片機(jī)的電豐時(shí)鐘設(shè)訐 設(shè)計(jì)者:羅徳龍ISIS/*設(shè)計(jì)介紹:使用8MHz的晶振,ds1302芯片以及1602液晶屏。使用 獨(dú)立鍵盤設(shè)置或者調(diào)節(jié)時(shí)間。13個(gè)10k的電阻,1個(gè)100歐的電阻,8個(gè)led指示燈。2個(gè)22pf的電容。*/#in elude #define io PORTA.0#define scik PORTA.1#define rst PORTA.2#d

36、efine rs PORTA.5#define rw PORTA.6#define e PORTA.7#define uchar un sig ned char#define uint un sig ned int/*uchar l_dat = BASE ON ;uchar f_dat = ATMEGA16 DESIGN;*/初始時(shí)間緩沖區(qū)uchar set time 7 = 0x00,0x00,0x13,0x21,0x07,0x06,0x12;uchar address=0x7e;/ 時(shí)間地址中間變量uchar QIEHUAN;/ 切換時(shí)間標(biāo)志位第 27 頁(yè) (共 30 頁(yè))uchar n=

37、0;uchar INT0=0; uchar time8 =0x00;uchar day8=0x00;int d3=0,0,0;/ 定義時(shí)間調(diào)節(jié)變量/ 定義中斷變量/ 定義時(shí)、分、秒顯示緩沖區(qū)/ 定義年、月、日、星期顯示緩沖區(qū)/ 定義電壓顯示緩沖區(qū)延時(shí)函數(shù)*void delayus(uint us) /1us 延時(shí)函數(shù)uint i;us=us*5/4; /5/4 是在 8MHz 晶振下,通過軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 for(i=0;ius;i+);void delayms(uint ms) /1ms 延時(shí)函數(shù)uint i,j;for( i=0;ims;i+)for(j=0;j1141;j+);

38、 /1141 是在 8MHz 晶振下,通過軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 /* 液晶屏判斷忙函數(shù) */ void lcd_busy()uchar temp;/ 定義中間變量存取從 lcd 讀取的值DDRB=0x00;/ 定義 B 端口為輸入rs=0;/ 選擇指令寄存器rw=1;/ 進(jìn)行讀操作doe=1;delayms(1); / 延時(shí) 1ms temp=PINB; / 讀取 B 端口信號(hào) e=0;delayms(1); / 延時(shí) 1ms while(temp&0x80); / 判斷忙標(biāo)志位是否為 1 DDRB=0xff; /B 端口置為輸出,為想液晶屏寫數(shù)據(jù)準(zhǔn)備寫指令函數(shù) */void lcd_w

39、cmd(uchar cmd)lcd_busy(); / 判斷液晶屏是否忙 delayms(1); / 延時(shí) 1ms rs=0; / 選擇指令寄存器 rw=0; / 進(jìn)行寫操作e=0;delayms(1); / 延時(shí) 1ms/ 開始寫指令/ 延時(shí) 1msPORTB=cmd; / 把數(shù)據(jù)賦值給 B 端口e=1;delayms(1);e=0;第 29 頁(yè) (共 30 頁(yè))delayms(1);/ 延時(shí) 1ms寫數(shù)據(jù)函數(shù) */void lcd_wdat(uchar dat)lcd_busy(); / 判斷液晶屏是否忙delayms(1); / 延時(shí) 1ms rs=1; / 選擇數(shù)據(jù)寄存器 rw=0;

40、/ 進(jìn)行寫操作 e=0;delayms(1); / 延時(shí) 1msPORTB=dat; / 把數(shù)據(jù)賦值給 B 端口 e=1; / 開始寫數(shù)據(jù) delayms(1); / 延時(shí) 1ms e=0;*lcd初始化函數(shù) */delayms(15); lcd_wcmd(0x38); delayms(5); lcd_wcmd(0x0c); delayms(5); lcd_wcmd(0x06); delayms(5); lcd_wcmd(0x01); delayms(5);/等待LCD電源穩(wěn)定/16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)/延時(shí)5ms/ 顯示開,關(guān)光標(biāo)/ 延時(shí) 5ms/ 移動(dòng)光標(biāo)/ 延時(shí) 5ms/清除LCD的顯示內(nèi)容/ 延時(shí) 5msvoid lcd_init()寫時(shí)間函數(shù) */void ds1302writebyte(uchar dat)uchar m;DDRA=0xf7; sclk=0;delayus(10); for(m=0;m=1;/* 讀時(shí)間函數(shù)*/ 讀取最低位數(shù)據(jù)/ 延時(shí) 10us/ 時(shí)鐘低電平為傳送數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論