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

正文內(nèi)容

基于atmega16單片機的電子時鐘設(shè)計畢業(yè)設(shè)計-wenkub

2023-07-03 15:31:21 本頁面
 

【正文】 內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器/ 計數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益的ADC ,具有片內(nèi)振蕩器的可編程看門狗定時器,一個SPI由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。2 AVR單片機介紹 AVR單片機簡介AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC精簡指令集高速8位單片機。本文介紹了一款基于ATmega16單片機為主控芯片的數(shù)字電子時鐘設(shè)計。其中主要包括ATmega16單片機、獨立鍵盤、DS1302芯片、LCD1602液晶顯示、以及相關(guān)外圍電路并在PROTUES仿真平臺上運行。AVR的單片機可以廣泛應(yīng)用于計算機外部設(shè)備、工業(yè)實時控制、儀表儀器、通訊設(shè)備、家用電器等各個領(lǐng)域。ATmega16 AVR 內(nèi)核具有豐富的指令集和32 個通用工作寄存器。串行端口,以及六個可以通過軟件進(jìn)行選擇的省電模式。轉(zhuǎn)換器的模擬輸入端。ATmega引腳圖有對稱的驅(qū)動特性,可以輸出和吸收大電流。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。端口C 也可以用做其他不同的特殊功能。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口D 處于高阻狀態(tài)?!TAL1 反向振蕩放大器與片內(nèi)時鐘操作電路的輸入端。使用ADC時應(yīng)通過一個低通濾波器與VCC 連接。 162液晶屏顯示屏的引腳定義首先,我們來看162的引腳定義,162的引腳是很整齊的SIP單列直插封裝。3腳:VEE,液晶屏顯示偏壓信號,用于調(diào)整液晶屏的顯示對比度,一般會外界電位器用以調(diào)整偏壓信號,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“陰影”,使用時可以通過一個10K的電位器調(diào)整對比度。7~14腳:8位雙向數(shù)據(jù)線。(說明:1為高電平、0為低電平)。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo) 指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 指令7:字符發(fā)生器RAM地址設(shè)置 指令8:DDRAM地址設(shè)置 指令9:讀忙信號和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。圖1 162液晶顯示屏?xí)r序圖注意:162液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。液晶屏第一行的首地址是80H,第二行的首地址是C0H。K[k{1100,L165。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。當(dāng)Vcc2Vcc1+,由Vcc2向DS1302供電,當(dāng)Vcc2 Vcc1時,由Vcc1向DS1302供電。 表4 Ds1302有關(guān)日歷、時間的寄存器度寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81h80hCH10秒秒00—5983h82h10分分00—5985h84h12/~24010A/P時時112/02387h86h0010日日1—3189h88h00010月月1—128Bh8Ah00000周日1—78Dh8Ch10年年00—998Fh8EhWP0000000——小時寄存器(85h 、84h )的位7 用于定義DS1302是運行于12小時模式還是24小時模式。 秒寄存器(81h 、80h )的位 7 定義為時鐘暫停標(biāo)志(CH)。當(dāng)WP位為1 時,寫保護(hù)位防止對任一寄存器的寫操作。2 讀寫時序說明 DS1302是SPI 總線驅(qū)動方式。 位6 :如果為 0 ,則表示存取日歷時鐘數(shù)據(jù),為1 表示存取RAM數(shù)據(jù); 位5 至位1 (A4~A0):指示操作單元的地址; 位0 (最低有效位):如為0 ,表示要進(jìn)行寫操作,為1 表示進(jìn)行讀操作。數(shù)據(jù)讀寫時序如圖4 。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。 5. 仿真處理器及其外圍電路。 PROTUES工作界面介紹PROTUES的工作界面是一種標(biāo)準(zhǔn)的windows界面,如下圖所示,包括標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。按鈕主要功能:K1:按下此按鈕可以執(zhí)行對時間的更改且相應(yīng)的時間指示燈點亮;對應(yīng)鍵值為:00001011。經(jīng)過軟件處理后將值顯示在液晶屏上。表7 參考電壓選擇REFS1REFS0參考電壓選擇00AREF,內(nèi)部Vref關(guān)閉01AVCC,AREF引腳外加濾波電容10保留11,AREF引腳外加濾波電容在本文我們選擇AVCC,AREF引腳外加濾波電容。關(guān)于這一位的完整描述請見P207“ADC數(shù)據(jù)寄存器– ADCL及ADCH” 。表8 模擬通道與增益選擇MUX4..0單端輸入正差分輸入負(fù)差分輸入增益00000ADC0N/A00001ADC100010ADC200011ADC300100ADC400101ADC500110ADC600111ADC701000N/AADC0ADC010x01001ADC1ADC010x01010ADC0ADC0200x01011ADC1ADC0200x01100ADC2ADC210x01101ADC3ADC210x01110ADC2ADC2200x01111ADC3ADC2200x10000ADC0ADC11x10001ADC1ADC11x10010ADC2ADC11x10011ADC3ADC11x10100ADC4ADC11x10101ADC5ADC11x10110ADC6ADC11x10111ADC7ADC11x11000ADC0ADC21x11001ADC1ADC21x11010ADC2ADC21x11011ADC3ADC21x11100ADC4ADC21x11101ADC5ADC21x11110 V (VBG)N/A111110 V (GND)ADC 控制和狀態(tài)寄存器 A -ADCSRA圖10Bit 7 – ADEN: ADC使能ADEN置位即啟動ADC,否則ADC功能關(guān)閉。第一次轉(zhuǎn)換(在ADC啟動之后置位ADSC,或者在使能ADC的同時置位ADSC)需要25 個ADC時鐘周期,而不是正常情況下的13個。Bit 5 – ADATE: ADC 自動觸發(fā)使能ADATE置位將啟動ADC自動觸發(fā)功能。如果ADIE及SREG中的全局中斷使能位I也置位,ADC轉(zhuǎn)換結(jié)束中斷服務(wù)程序即得以執(zhí)行,同時ADIF硬件清零。Bit 3 – ADIE: ADC中斷使能若ADIE及SREG的位I置位,ADC轉(zhuǎn)換結(jié)束中斷即被使能。讀取ADCL之后,ADC數(shù)據(jù)寄存器一直要等到ADCH也被讀出才可以進(jìn)行數(shù)據(jù)更新。如果ADLAR為1,那么結(jié)果為左對齊;反之 ( 系統(tǒng)缺省設(shè)置 ),結(jié)果為右對齊。Rst為讀寫使能端,I/O 為三線接口時的雙向數(shù)據(jù)線,SCLK為串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出。AREF是A/D 的模擬基準(zhǔn)輸入引腳。感謝幫助我的老師和同學(xué)。13個10k的電阻,1個100歐的電阻,8個led指示燈。*/uchar set_time [7] = {0x00,0x00,0x13,0x21,0x07,0x06,0x12}。 //定義時間調(diào)節(jié)變量uchar INT0=0。 //定義電壓顯示緩沖區(qū)/***********延時函數(shù)*************/void delayus(uint us) //1us延時函數(shù){ uint i。i++)。i++) for(j=0。 //定義中間變量存取從lcd讀取的值 DDRB=0x00。 delayms(1)。 //延時1ms }while(tempamp。 //判斷液晶屏是否忙 delayms(1)。 delayms(1)。 //延時1ms e=0。 //延時1ms rs=1。 //延時1ms PORTB=dat。}/*********lcd 初始化函數(shù)*********/void lcd_init(){ delayms(15)。 //顯示開,關(guān)光標(biāo) delayms(5)。 //清除LCD的顯示內(nèi)容 delayms(5)。 //串行時鐘低電平 delayus(10)。0x01。 //延時10us sclk=1。 //設(shè)置ds1302的io端口為輸出 delayus(10)。 //把要傳送的當(dāng)前位數(shù)據(jù)置為1,其余位保持不變 else dat=datamp。 //延時10us sclk=0。 //返回數(shù)據(jù)}/***********向ds1302讀數(shù)據(jù)函數(shù)*********/uchar ds1302read(uchar cmd) { uchar dat。 //初始化rst置為1,傳輸開始 ds1302writebyte(cmd)。 //讀取結(jié)束 return dat。 //初始化rst置為1,傳輸開始 ds1302writebyte(cmd)。 //讀取結(jié)束}/********LCD顯示的數(shù)據(jù)函數(shù)**********/void lcd_disp (){ lcd_wcmd(0x02 | 0x80)。 //顯示“—” lcd_wdat(day[2])。 //顯示日十位 lcd_wdat(day[5])。 //從第2行第1列開始顯示 lcd_wdat(time[0])。:39。 //顯示39。 //顯示秒個位}/*************時間函數(shù)******************/ void write_ds1302(uchar cmd,uchar dat
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1