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

正文內(nèi)容

基于atmega16單片機(jī)的電子時(shí)鐘設(shè)計(jì)_畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-09-30 17:35 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 0 1 AVCC,AREF 引腳外加濾波電容 1 0 保留 1 1 的片內(nèi)基準(zhǔn)電壓源, AREF 引腳外加濾波電容 在本文我們選擇 AVCC,AREF 引腳外加濾波電容。 Bit 5 – ADLAR: ADC 轉(zhuǎn)換結(jié)果 左對(duì)齊 ADLAR影響 ADC轉(zhuǎn)換結(jié)果在 ADC 數(shù)據(jù)寄存器中的存放形式。 ADLAR 置位時(shí)轉(zhuǎn)換結(jié)果為左對(duì)齊,否則為右對(duì)齊。 ADLAR 的改變將立即影響 ADC 數(shù)據(jù)寄存器的內(nèi)容,不論是否有轉(zhuǎn)換正在進(jìn)行。關(guān)于這一位的完整描述請(qǐng)見(jiàn) P207“ ADC 數(shù)據(jù)寄存器 – ADCL 及 ADCH” 。 Bits 4:0 – MUX4:0: 模擬通道與增益選擇位 通過(guò)這幾位的設(shè)置,可以對(duì)連接到 ADC 的模擬輸入進(jìn)行選擇。也可對(duì)差分通道增益進(jìn)行選擇。如果在轉(zhuǎn)換過(guò)程中改變這幾位的值,那么只有到轉(zhuǎn)換結(jié)束(ADCSRA 寄存器的 ADIF 置位 )后新的設(shè)置才有效。 表 8 模擬通道與增益選擇 MUX4..0 單端輸入 正差分輸入 負(fù)差分輸入 增益 00000 ADC0 N/A 00001 ADC1 00010 ADC2 00011 ADC3 00100 ADC4 00101 ADC5 00110 ADC6 第 17頁(yè) (共 30 頁(yè)) 00111 ADC7 01000 N/A ADC0 ADC0 10x 01001 ADC1 ADC0 10x 01010 ADC0 ADC0 200x 01011 ADC1 ADC0 200x 01100 ADC2 ADC2 10x 01101 ADC3 ADC2 10x 01110 ADC2 ADC2 200x 01111 ADC3 ADC2 200x 10000 ADC0 ADC1 1x 10001 ADC1 ADC1 1x 10010 ADC2 ADC1 1x 10011 ADC3 ADC1 1x 10100 ADC4 ADC1 1x 10101 ADC5 ADC1 1x 10110 ADC6 ADC1 1x 10111 ADC7 ADC1 1x 11000 ADC0 ADC2 1x 11001 ADC1 ADC2 1x 11010 ADC2 ADC2 1x 11011 ADC3 ADC2 1x 11100 ADC4 ADC2 1x 11101 ADC5 ADC2 1x 11110 V (VBG) N/A 11111 0 V (GND) ADC 控制和狀態(tài)寄存器 A - ADCSRA 圖 10 Bit 7 – ADEN: ADC 使能 ADEN 置位即啟動(dòng) ADC,否則 ADC 功能關(guān)閉。在轉(zhuǎn)換過(guò)程中關(guān)閉 ADC 將立即中止正在進(jìn)行的轉(zhuǎn)換。 Bit 6 – ADSC: ADC 開(kāi)始轉(zhuǎn)換 在單次轉(zhuǎn)換模式下, ADSC置位將啟動(dòng)一次 ADC 轉(zhuǎn)換。在連續(xù)轉(zhuǎn)換模式下, ADSC置位將啟動(dòng)首次轉(zhuǎn)換。第一次轉(zhuǎn)換 (在 ADC 啟動(dòng)之后置位 ADSC,或者在使能ADC 的同時(shí)置位 ADSC)需要 25 個(gè) ADC 時(shí)鐘周期,而不是正常情況下的 13 個(gè)。第一次轉(zhuǎn)換執(zhí)行 ADC 初始化的工作。在轉(zhuǎn)換進(jìn)行過(guò)程中讀取 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)源通過(guò) SFIOR 寄存器的 ADC 觸發(fā)信號(hào)源選擇位 ADTS 設(shè)置。 第 18頁(yè) (共 30 頁(yè)) Bit 4 – ADIF: ADC 中斷標(biāo)志 在 ADC轉(zhuǎn)換結(jié)束,且數(shù)據(jù)寄存器被更新后, ADIF置位。如果 ADIE 及 SREG 中的全局中斷使能位 I 也置位, ADC 轉(zhuǎn)換結(jié)束中斷服務(wù)程序即得以執(zhí)行,同時(shí)ADIF硬件清零。此外,還可以通過(guò)向此標(biāo)志寫(xiě) 1 來(lái)清 ADIF。要注意的是,如果對(duì) ADCSRA 進(jìn)行讀-修改-寫(xiě)操作,那么待處理的中斷會(huì)被禁止。這也適用于 SBI 及 CBI 指令。 Bit 3 – ADIE: ADC 中斷使能 若 ADIE 及 SREG 的位 I 置位, ADC 轉(zhuǎn)換結(jié)束中斷即被使能。 Bits 2:0 – ADPS2:0: ADC 預(yù)分頻器選擇位 由這幾位來(lái)確定 XTAL 與 ADC輸入時(shí)鐘之間的分頻因子。 表 9 預(yù)分頻 ADPS2 ADPS1 ADPS0 分頻因子 0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 ADC 數(shù)據(jù)寄存器- ADCL 及 ADCH ADLAR = 0 圖 11 ADLAR = 1 圖 12 ADC 轉(zhuǎn)換結(jié)束后,轉(zhuǎn)換結(jié)果存于這兩個(gè)寄存器之中。如果采用差分通道,結(jié)果由 2 的補(bǔ)碼形式表示。讀取 ADCL 之后, ADC 數(shù)據(jù)寄存器一直要等到 ADCH也被讀出才可以 進(jìn)行數(shù)據(jù)更新。因此,如果轉(zhuǎn)換結(jié)果為左對(duì)齊,且要求的精度不高于 8 比特,那么僅需讀取 ADCH 就足夠了。否則必須先讀出 ADCL 再讀ADCH。 ADMUX 寄存器的 ADLAR 及 MUXn會(huì)影響轉(zhuǎn)換結(jié)果在數(shù)據(jù)寄存器中的表示方式。如果 ADLAR 為 1,那么結(jié)果為左對(duì)齊;反之 ( 系統(tǒng)缺省設(shè)置 ),結(jié)果為右對(duì)齊。 第 19頁(yè) (共 30 頁(yè)) 指示燈電路 每路指示燈指示功能: PC0 路:秒 寄存器顯示 PC1 路:分 寄存器顯示 PC2 路:時(shí) 寄存器顯示 PC3 路: 日 寄存器顯示 PC4 路: 月 寄存器顯示 PC5 路: 星期 寄存器顯示 PC6 路: 年 寄存器顯示 PD4 路: 是否允許調(diào)節(jié)時(shí)間顯示 ,燈亮為允許。 圖 13 DS1302 外圍電路 22pf 電容和 32768Hz 晶振組成 振蕩電路,提供 ds1302正常工作頻率。 VCC2為主電源,VCC1為輔助電源。 Rst為讀寫(xiě)使能端, I/O 為三線接口時(shí)的雙向數(shù)據(jù)線 , SCLK 為 串行時(shí)鐘,輸入,控制數(shù)據(jù)的輸入與輸出 。 圖 14 單片機(jī)外圍電路 22pf 電容和 8MHz 晶振組成 振蕩電路,提供單片機(jī)正常工作頻率。 Reset 為上電復(fù)位端, 當(dāng)通電后單片即不管以前的 程序工作在哪里,一切復(fù)位從“零 ” 開(kāi)始。 AVCC 是端口 A與 A/D 轉(zhuǎn)換器 的電源。 AREF 是 A/D 的模擬基準(zhǔn)輸入 引腳 。 圖 15 7 軟件設(shè)計(jì) 在前面幾節(jié)中,我們了解了 ATmega16 單片機(jī)、 162液晶顯示屏與 ds1302 的接口設(shè)計(jì)以及液晶屏的 時(shí)序,那么這部分闡述的是單片機(jī)對(duì)液晶屏顯示和 ds1302 的驅(qū)動(dòng)控制。軟件工作流程如下: AT meg a1 610010 0PC0PC1PC2PC3PC4PC5PC6PD410 010 022p32 768H z22pI/OSCL KRSTVCC 2VCC 1X2X1PA0PA1PA25V3V22p8MH z22pAT meg a1 61005VRESE TAREFAVCCX1X2 第 20頁(yè) (共 30 頁(yè)) 程序流程圖 8 結(jié)束語(yǔ) 經(jīng)過(guò)幾個(gè)月的研究與實(shí)驗(yàn),終于完成了這篇論文。在做這個(gè)課題的時(shí)侯遇到了許多 困難,大部分通過(guò)查閱資料和看書(shū)以及研究別人成功的例子就能解決了,但少部分問(wèn)題任不能解決,通過(guò)老師和同學(xué)的幫助終于解決。感謝幫助我的老師和同學(xué)。 參考文獻(xiàn): [1] HS1624液晶顯示使用說(shuō)明資料 . [2] DS1302_數(shù)據(jù)手冊(cè) . [3] ATmega16中文資料 . [4] Proteus中文入門(mén)教程 . [5] 賀敬凱 ,劉德新,管明祥 .單片機(jī)系統(tǒng)設(shè)計(jì)、仿真與應(yīng)用。西安電子科技大學(xué)出版社, 2020. [6]沈文 . AVR單片機(jī) C語(yǔ)言開(kāi)發(fā)入門(mén)指導(dǎo) . 清華大學(xué)出版社 , 2020年 . [7]丁化成,耿德根,李軍凱 . AVR單片機(jī)應(yīng)用設(shè)計(jì) . 北京航空航天大學(xué)出版社 , 2020年 . [8]金春林,邱慧芳,張皆喜 . AVR系列單片機(jī) C語(yǔ)言編程與應(yīng)用實(shí)例 . 清華大學(xué)出版社 , 2020年 . 第 21頁(yè) (共 30 頁(yè)) 附件: /****************************************************** 設(shè)計(jì)介紹: 使用 8MHz 的晶振, ds1302 芯片以及 1602 液晶屏。使用 獨(dú)立鍵盤(pán)設(shè)置或者調(diào)節(jié)時(shí)間。 13 個(gè) 10k 的電阻, 1 個(gè) 100 歐的電阻, 8 個(gè) led 指示燈。 2 個(gè) 22pf 的電容。 *******************************************************/ include define io define sclk define rst define rs define rw define e define uchar unsigned char define uint unsigned int /* uchar l_dat[] = { BASE ON }。 uchar f_dat[] = {ATMEGA16 DESIGN}。 */ uchar set_time [7] = {0x00,0x00,0x13,0x21,0x07,0x06,0x12}。 //初始時(shí)間緩沖區(qū) 第 22頁(yè) (共 30 頁(yè)) uchar address=0x7e。 //時(shí)間地址中間變量 uchar QIEHUAN。 //切換時(shí)間標(biāo)志位 uchar n=0。 //定義時(shí)間調(diào)節(jié)變量 uchar INT0=0。 //定義中斷變量 uchar time[8] ={0x00}。 //定義時(shí)、分、秒顯示緩沖區(qū) uchar day[8]={0x00}。 //定義年、月、日、星期顯示緩沖區(qū) int d[3]={0,0,0}。 //定義電壓顯示緩沖區(qū) /***********延時(shí)函數(shù) *************/ void delayus(uint us) //1us 延時(shí)函數(shù) { uint i。 us=us*5/4。 //5/4 是在 8MHz 晶振下,通過(guò)軟件仿真反復(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++)。 //1141 是 在 8MHz 晶振下,通過(guò)軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 } /*******液晶屏判斷忙函數(shù) *********/ void lcd_busy() { uchar temp。 //定義中間變量存取從 lcd 讀取的值 DDRB=0x00。 //定義 B 端口為輸入 rs=0。 //選擇指令寄存器 rw=1。 //進(jìn)行讀操作 do { e=1。 delayms(1)。 //延時(shí) 1ms temp=PINB。 //讀取 B 端口信號(hào) e=0。 delayms(1)。 //延時(shí) 1ms }while(tempamp。0x80)。 //判斷忙標(biāo)志位是否為 1 DDRB=0xff。 //B 端口置為輸出,為想液晶屏寫(xiě)數(shù)據(jù)準(zhǔn)備 } /************* 寫(xiě)指令函數(shù) *********/ void lcd_wcmd(uchar cmd) { lcd_busy()。 //判斷液晶屏是否忙 delayms(1)。 //延時(shí) 1ms rs=0。 //選擇指令寄存器 rw=0。 //進(jìn)行寫(xiě)操作 第 23頁(yè) (共 30 頁(yè)) e=0。 delayms(1)。 //延時(shí) 1ms PORTB=cmd。 //把數(shù)據(jù)賦值
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1