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

正文內(nèi)容

課程設(shè)計(jì)報(bào)告-使用51單片機(jī)設(shè)計(jì)軟件鐘、渦流稱重計(jì)、光電轉(zhuǎn)速計(jì)(編輯修改稿)

2024-10-07 19:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 分析 : 經(jīng)過(guò) medwin對(duì)程序的調(diào)試無(wú)誤后,將 hex文件下載到電路板上,可正常顯示時(shí)鐘,并且可以通過(guò)按鍵對(duì)時(shí)鐘進(jìn)行調(diào)整。 針對(duì)我的程序,按鍵實(shí)現(xiàn)功能依次為: 一號(hào)鍵:進(jìn)入和退出設(shè)置,當(dāng)時(shí)鐘運(yùn)行時(shí)按下可進(jìn)入設(shè)置;當(dāng)設(shè)置完成后按下可恢復(fù)時(shí)鐘顯示。 二號(hào)鍵:右移一位。在設(shè)置狀態(tài)每次按下就右移一位。 三號(hào)鍵:加一 四號(hào)鍵:減一 此外還設(shè)有一個(gè)復(fù)位鍵,按下后時(shí)鐘歸零 。 七、 遇到的問題與解決方法: 問題一:如何編寫時(shí)鐘函數(shù)? 解決方法:每 60秒進(jìn)一位,即一分鐘;每 60 分鐘進(jìn)一位,即一小時(shí);在函數(shù)體內(nèi)用循環(huán),在主函數(shù)中調(diào)用。編寫 時(shí)注意當(dāng)時(shí)高位為 2時(shí),時(shí)地位最高到 3,且分高位和秒高位最高為 5。 問題二:如何設(shè)置時(shí)間? 解決方法:改變現(xiàn)實(shí)狀態(tài),將現(xiàn)在的結(jié)果放到數(shù)組中去,讀取按鍵,設(shè)置按鍵對(duì)時(shí)鐘進(jìn)行調(diào)整,編寫 SWITCH語(yǔ)句控制按鍵的選擇。 問題三:如何解決時(shí)間變化太快? 解決方法:使用一個(gè)延時(shí)函數(shù)來(lái)緩沖每一秒變化時(shí)間。 八、 實(shí)驗(yàn)總結(jié) : 通過(guò)本次實(shí)驗(yàn),我對(duì)時(shí)鐘函數(shù)的編寫有了更深一步的掌握, 復(fù)習(xí)了 C 語(yǔ)言的編程。 并且可以通 第 7 頁(yè) 共 15 頁(yè) 過(guò)自己焊接的板子來(lái)調(diào)試時(shí)鐘程序,對(duì)今后的學(xué)習(xí)與研究有了很大的幫助 課題二 使用 51單片機(jī)設(shè)計(jì)渦流稱重計(jì) 一、 實(shí)驗(yàn)?zāi)康? 1. 了解電 渦流傳感器用于稱重的原理與方法 ; 2. 熟悉 ADC0832的器件手冊(cè) ; 3. 了解 基于 51單片機(jī) 的渦流稱重計(jì)的工作原理; 4. 會(huì)用 C語(yǔ)言編寫時(shí)鐘函數(shù),復(fù)習(xí) 用 switch語(yǔ)句 和 dowhile語(yǔ)句 、 for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法 ; 5. 會(huì)使用 MEDWIN編譯調(diào)試程序,并生成 HEX,通過(guò)數(shù)據(jù)線下載到電路板上; 二、算法原理 本項(xiàng)設(shè)計(jì)中用電位器的中間抽頭所輸出的電壓模擬采集的重量數(shù)據(jù),單片機(jī)經(jīng) ADC0832 的通道0輸入該電壓信號(hào),并將其轉(zhuǎn)換為數(shù)字信息送 6位共陽(yáng) 8段 LED顯示。 ADC0832的 芯片接口說(shuō)明: CS_ 片選使能,低電平芯 片使能。 CH0 模擬輸入通道 0,或作為 IN+/使用。 CH1 模擬輸入通道 1,或作為 IN+/使用。 GND 芯片參考 0 電位(地)。 DI 數(shù)據(jù)信號(hào)輸入,選擇通道控制。 DO 數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。 CLK 芯片時(shí)鐘輸入。 Vcc/REF 電源輸入及參考電壓輸入(復(fù)用) 當(dāng)此 2 位數(shù)據(jù)為“ 1”、“ 0”時(shí),只對(duì) CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“ 1”、“ 1”時(shí),只對(duì) CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng) 2 位數(shù)據(jù)為“ 0”、“ 0”時(shí),將 CH0作為正輸入端 IN+, CH1作為負(fù)輸入端IN進(jìn)行輸入。當(dāng) 2 位數(shù)據(jù)為“ 0”、“ 1”時(shí),將 CH0作為負(fù)輸入端 IN, CH1 作為正輸入端 IN+進(jìn)行輸入。 第 8 頁(yè) 共 15 頁(yè) 到第 3 個(gè)脈沖的下沉之后 DI端的輸入電平就失去輸入作用,此后 DO/DI端則開始利用數(shù)據(jù)輸出 DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第 4個(gè)脈沖下沉開始由 DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位 DATA7,隨后每一個(gè)脈沖下沉 DO端輸出下一位數(shù)據(jù)。直到第 11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù) DATA0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第 11個(gè)字節(jié)的下沉輸出 DATD0。隨后輸出 8位數(shù) 據(jù),到第 19 個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次 A/D轉(zhuǎn)換的結(jié)束。最后將 CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。 三、實(shí)現(xiàn)功能要求: 使用時(shí)用 5V的電壓來(lái)表示 200g的重量,使用通道 O來(lái)輸入模擬量。 四、設(shè)計(jì)內(nèi)容: ( 1) 硬件焊接: 根據(jù) ADC0832的接口說(shuō)明焊接導(dǎo)線 ( 2) 軟件設(shè)計(jì): 1.子程序設(shè)計(jì): A. 單片機(jī)的初始化程序 B. 顯示子程序 C. D. 采樣數(shù)據(jù)換算壓力子程序 E. 將壓力值轉(zhuǎn)換為十進(jìn)制數(shù),并將每位送入顯示緩沖區(qū)子程序 : include include define uint unsigned int define uchar unsigned char //ADC0832的引腳 sbit ADCS =P3^5。 //ADC0832 chip seclect sbit ADCLK =P3^4。 //ADC0832 clock signal sbit ADDI =P3^3。 //ADC0832 k in sbit ADDO =P3^3。 //ADC0832 k out uchar dispbuf[6]。 uchar code tab[]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f}。 uchar code tab1[]={0x79,0x3f,0x77}。 uint temp。 uchar getdata。 //獲取 ADC轉(zhuǎn)換回來(lái)的值 uchar e=0。 void delay(void) //延時(shí)程序 { uchar i。 for (i=0。i201。i++) _nop_()。 } void display(void) //六位數(shù)碼管顯示程序, disdat[]是要顯示的內(nèi)容(是 0~ 9的數(shù)字), xsd是在那一位顯示小數(shù)點(diǎn) { uchar i,disa,disb,disc。 disb = 0x00。 //顯示第 n位 for (i=0。i6。i++) //共顯示 3個(gè)數(shù)據(jù) { if(e==0) disa = dispbuf[i]。//顯示數(shù)據(jù) else disa = i 3。 if (disa 10 amp。amp。 e ==0) { P2 = disb。 disc = tab[disa]。 //顯示段碼 第 9 頁(yè) 共 15 頁(yè) if (i == 0 || i == 5) disc = disc | 0x80。 //增加小數(shù)點(diǎn)顯示 P0 = disc。 //送顯示 delay ()。 //延時(shí) P0 = 0x0。 disb++。 //下一個(gè)要顯示的位置 } else//(e==1) { P2 = disb。 disc = tab1[disa]。 //顯示段碼 P0 = disc。 //送顯示 delay ()。 //延時(shí) P0 = 0x0。 disb++。 //下一個(gè)要顯示的位置 } } P2 = 0xff。 } unsigned int Adc0832(unsigned char channel) //AD轉(zhuǎn)換,返回結(jié)果 { uchar i=0。 uchar j。 uint dat=0。 uchar ndat=0。 if(channel==0)channel=2。 if(channel==1)channel=3。 ADDI=1。 _nop_()。 _nop_()。 ADCS=0。//拉低 CS端 _nop_()。 _nop_()。 ADCLK=1。//拉高 CLK端 _nop_()。 _nop_()。 ADCLK=0。//拉低 CLK端 ,形成下降沿 1 _nop_()。 _nop_()。 ADCLK=1。//拉高 CLK端 ADDI=channelamp。0x1。 _nop_()。 _nop_()。 ADCLK=0
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1