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

正文內(nèi)容

馬偉力avr筆記:六、模擬比較器和adc實(shí)驗(yàn)(編輯修改稿)

2024-07-23 21:44 本頁面
 

【文章內(nèi)容簡介】 00111ADC701000N/AADC0ADC01001001ADC1ADC01001010ADC0ADC020001011ADC1ADC020001100ADC2ADC21001101ADC3ADC21001110ADC2ADC220001111ADC3ADC220010000ADC0ADC1110001ADC1ADC1110010ADC2ADC1110011ADC3ADC1110100ADC4ADC1110101ADC5ADC1110110ADC6ADC1110111ADC7ADC1111000ADC0ADC2111001ADC1ADC2111010ADC2ADC2111011ADC3ADC2111100ADC4ADC2111101ADC5ADC2111110(VBG)N/A111110V(GND) 本實(shí)例中我們需要設(shè)置ADC的參考電壓源為AVcc,即REFS0設(shè)置為1,ADC默認(rèn)轉(zhuǎn)換結(jié)果為右對齊,我們不需要改變,模擬通道選擇ADC0通道單端輸入,即MUX4:0。2.ADC控制和狀態(tài)寄存器A—ADCSRA11. 位7—ADEN:ADC使能該位寫入“1”時(shí)使能ADC,寫入“0”關(guān)閉ADC。如在ADC轉(zhuǎn)換過程中將ADC關(guān)閉,該次轉(zhuǎn)換隨即停止。12. 位6—ADSC:ADC轉(zhuǎn)換開始在單次轉(zhuǎn)換模式下,置該位為“1”,將啟動(dòng)一次轉(zhuǎn)換。在自由連續(xù)轉(zhuǎn)換模式下,該位寫入“1”將啟動(dòng)第一次轉(zhuǎn)換。先置位ADEN位使能ADC,再置位ADSC;或置位ADSC的同時(shí)使能ADC,都會(huì)使能ADC開始進(jìn)行第一次轉(zhuǎn)換。第一次ADC轉(zhuǎn)換將需要25個(gè)ADC時(shí)鐘周期,而不是常規(guī)轉(zhuǎn)換的13個(gè)ADC時(shí)鐘周期,這是因?yàn)榈谝淮无D(zhuǎn)換需要完成對ADC的初始化。在ADC轉(zhuǎn)換的過程中,ADSC將始終讀出為“1”。當(dāng)轉(zhuǎn)換完成時(shí),它將轉(zhuǎn)變?yōu)椤?”。強(qiáng)制寫入“0”是無效的。13. 位5—ADATE:ADC自動(dòng)轉(zhuǎn)換觸發(fā)允許當(dāng)該位被置為“1”時(shí),允許ADC工作在自動(dòng)轉(zhuǎn)換觸發(fā)工作模式下。在該模式下,在觸發(fā)信號的上升沿時(shí)ADC將自動(dòng)開始一次ADC轉(zhuǎn)換過程。ADC的自動(dòng)轉(zhuǎn)換觸發(fā)信號源由SFIOR寄存器中的ADTS位選擇確定。14. 位4—ADIF:ADC中斷標(biāo)志位當(dāng)ADC轉(zhuǎn)換完成并且ADC數(shù)據(jù)寄存器被更新后該位被置位。如果ADIE位(ADC轉(zhuǎn)換結(jié)束中斷允許)和SREG寄存器中的I位被置“1”,ADC中斷服務(wù)程序?qū)⒈粓?zhí)行。ADIF在執(zhí)行相應(yīng)的中斷處理向量時(shí)被硬件自動(dòng)清零。此外,ADIF位可以通過寫入邏輯“1”來清零。15. 位3—ADIE:ADC中斷允許當(dāng)該位和SREG寄存器中的I位同時(shí)被置位時(shí),允許ADC轉(zhuǎn)換完成中斷。16. 位2,0—ADPS[2:0]:ADC預(yù)分頻選擇這些位決定了XTAL時(shí)鐘與輸入到ADC的ADC時(shí)鐘之間分頻數(shù)。 ADC時(shí)鐘分頻ADPS[2:0]分 頻 系 數(shù)0002001201040118100161013211064111128本實(shí)例中我們需要使能ADC,即ADEN設(shè)置為1,我們不用自動(dòng)轉(zhuǎn)換,也不需要中斷,所以,ADTE、ADIE位不需要設(shè)置。在通常情況下,ADC的逐次比較轉(zhuǎn)換電路要達(dá)到最大精度時(shí),需要50kHz~200kHz之間的采樣時(shí)鐘。本例中使用的時(shí)鐘是12M的,所以要將時(shí)鐘64分頻,分頻后ADC頻率為188KHz,即時(shí)鐘分頻選擇ADPS[2:0]=6。3.ADC數(shù)據(jù)寄存器—ADCL和ADCHl ADLAR = 0,ADC轉(zhuǎn)換結(jié)果右對齊時(shí),ADC結(jié)果的保存方式l ADLAR = 1,ADC轉(zhuǎn)換結(jié)果左對齊時(shí),ADC結(jié)果的保存方式當(dāng)ADC轉(zhuǎn)換完成后,可以讀取ADC寄存器的ADC0ADC9得到ADC的轉(zhuǎn)換的結(jié)果。如果是差分輸入,轉(zhuǎn)換值為二進(jìn)制的補(bǔ)碼形式。一旦開始讀取ADCL后,ADC數(shù)據(jù)寄存器就不能被ADC更新,直到ADCH寄存器被讀取為止。因此,如果結(jié)果是左對齊(ADLAR=1),且不需要大于8位的精度的話,僅僅讀取ADCH寄存器就足夠了。否則,必須先讀取ADCL寄存器,再讀取ADCH寄存器。ADMUX寄存器中的ADLAR位決定了從ADC數(shù)據(jù)寄存器中讀取結(jié)果的格式。如果ADLAR位為“1”,結(jié)果將是左對齊;如果ADLAR位為“0”(默認(rèn)情況),結(jié)果將是右對齊。4.特殊功能I/O寄存器—SFIOR17. 位7..5—ADTS[2:0]:ADC自動(dòng)轉(zhuǎn)換觸發(fā)源選擇當(dāng)ADCSRA寄存器中的ADATE為“1”,允許ADC工作在自動(dòng)轉(zhuǎn)換觸發(fā)工作模式時(shí),這3位的設(shè)置用于選擇ADC的自動(dòng)轉(zhuǎn)換觸發(fā)源。如果禁止了ADC的自動(dòng)轉(zhuǎn)換觸發(fā)(ADATE為“0”),這3個(gè)位的設(shè)置值將不起任何作用。表106 ADC自動(dòng)轉(zhuǎn)換觸發(fā)源的選擇ADTS[2:0]觸 發(fā) 源000連續(xù)自由轉(zhuǎn)換001模擬比較器010外部中斷0011T/C0比較匹配100T/C0溢出101T/C1比較匹配B110T/C1溢出111T/C1輸入捕捉本例中我們不使用自動(dòng)轉(zhuǎn)換功能,所以該寄存器可以不必設(shè)置。、電路本實(shí)例的電路包括232電平轉(zhuǎn)換電路和電阻分壓電路,這兩種電路在前面的實(shí)例中均做過介紹,這里不再重復(fù)。電路原理在本實(shí)例中利用MAX3232芯片使單片機(jī)輸出的TTL電平轉(zhuǎn)換為標(biāo)準(zhǔn)的RS232電平,從而使計(jì)算機(jī)能夠識別。同時(shí)將計(jì)算機(jī)輸出的RS232電平轉(zhuǎn)換為單片機(jī)可以識別的TTL電平。利用電位器產(chǎn)生電阻分壓電路,從而產(chǎn)生變化的模擬電壓加到單片機(jī)的模擬信號采集端口,供單片機(jī)采集。電路連接電路中MAX3232芯片的10引腳分別連接單片機(jī)的PD0、PD1端口,MAX3232的114引腳分別連接計(jì)算機(jī)串口線的2腳。電位器RP2的動(dòng)片引腳連接單片機(jī)的模擬信號采集通道PA0(ADC0)。特別說明本學(xué)習(xí)板采用的是串口插座是公頭的,所以與計(jì)算機(jī)相連的串口連接線應(yīng)該是交叉串口線,而不是串口延長線。、程序設(shè)計(jì)程序功能程序的功能是通過單片機(jī)的串行接口,將單片機(jī)采集到的模擬電壓值發(fā)送到計(jì)算機(jī)中,通過計(jì)算機(jī)上的串口助手顯示采集的電壓值。 ● 單片機(jī)串行接收中斷的編程在本例中,我們用到了單片機(jī)的串行接收中斷,需要編寫串行接收中斷服務(wù)程序,通過查詢WINAVR(GCC)的中斷庫函數(shù)手冊,可以查找到ATmega16單片機(jī)串行接收中斷的中斷向量為USART_RXC_vect。據(jù)此我們可以編寫串行接收中斷服務(wù)程序,如下://接收中斷函數(shù)ISR(USART_RXC_vect ){ unsigned char Rev。 Rev = UDR。 //從USART I/O數(shù)據(jù)寄存器-UDR中讀出數(shù)據(jù) Usart_PutChar(Rev)。 //將接收到的數(shù)據(jù)發(fā)送}在中斷服務(wù)程序中,我們首先把單片機(jī)串口接收到的數(shù)據(jù)放入變量Rev中,然后調(diào)用上一實(shí)例中編寫的串行接口字節(jié)發(fā)送函數(shù)將變量Rev中的數(shù)據(jù)發(fā)送到計(jì)算機(jī)。 單片機(jī)與計(jì)算機(jī)串行通信結(jié)果的觀察在觀察本例運(yùn)行結(jié)果時(shí),我們同樣要用到串口助手,本例中,單片機(jī)發(fā)送串口數(shù)據(jù)采用的波特率是9600bps,數(shù)據(jù)格式是8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)。在串口助手里面,我們也要將波特率和數(shù)據(jù)格式設(shè)置成一樣的。函數(shù)說明本實(shí)例用到了6個(gè)函數(shù),分別是:void Port_Init(void)。 //端口初始化配置void Usart_Init(void)。 //USART寄存器設(shè)置void AD_Init(void)。 //AD初始化void Usart_PutChar(unsigned char cTXData)。 //字節(jié)發(fā)送函數(shù)void Usart_PutString(unsigned char *pcString)。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1