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

正文內容

使用51單片機設計軟件鐘渦流稱重計光電轉速計(編輯修改稿)

2025-07-26 21:49 本頁面
 

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