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

正文內(nèi)容

基于單片機(jī)的數(shù)字電壓表【畢業(yè)設(shè)計(jì)】-文庫(kù)吧

2025-01-03 16:25 本頁(yè)面


【正文】 以及讀取位址計(jì)數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù) 如圖26所示。用STC89C52的P2口作為數(shù)據(jù)線,、R/W、RS。其中E是下降沿觸發(fā)的片選信號(hào),R/W是讀寫信號(hào),RS是寄存器選擇信號(hào)本模塊設(shè)計(jì)要點(diǎn)如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為57點(diǎn)陣,然后設(shè)置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個(gè)字符數(shù)組,一個(gè)顯示字符,另一個(gè)顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,,判斷是否夠顯示的個(gè)數(shù),不夠則地址加一取下一個(gè)要顯示的字符或數(shù)據(jù)。圖26 LCD1602與STC89C52的接口圖27鍵盤模塊電路圖硬件電路設(shè)計(jì)圖如上圖所示。-“4*4行列式鍵盤”,,系統(tǒng)首先通過(guò)CPU對(duì)全部鍵盤進(jìn)行掃描,即把第一根行線置為“0”狀態(tài),其余行線置于“1”狀態(tài),讀入輸入緩沖器的狀態(tài),若其狀態(tài)全為“1”表明該行無(wú)鍵按下,再將第二根行線置為“0”狀態(tài),同樣讀入輸入緩沖器的狀態(tài),如其狀態(tài)也全為“1”,則置第一根行線置為“0”狀態(tài),以此類推[5]。如讀入輸入緩沖器的狀態(tài)不全為“1”,確定哪一根列線為“0”狀態(tài),當(dāng)某個(gè)鍵的行線和列線都為“0”狀態(tài)時(shí),表明該鍵按下。 AD采集模塊設(shè)計(jì) ADC0809 芯片簡(jiǎn)介ADC0809具有8個(gè)通道的模擬輸入線,在程序控制下對(duì)任意通道進(jìn)行A/D轉(zhuǎn)換。模擬輸入部分有8路多路開(kāi)關(guān),可由3位地址輸入ADDA、ADDB、ADDC的不同組合來(lái)選擇,ALE為地址鎖存信號(hào),高電平有效,鎖存這三條地址輸入信號(hào)。主體部分是采用逐次逼近式的A/D轉(zhuǎn)換電路,由CLK控制的內(nèi)部電路的工作,START為啟動(dòng)命令,高電平有效,啟動(dòng)ADC0809內(nèi)部的A/D轉(zhuǎn)換,當(dāng)轉(zhuǎn)換完成,輸出信號(hào)EOC有效,OE為輸出允許信號(hào),高電平有效,打開(kāi)輸出三態(tài)緩沖器,把轉(zhuǎn)換后的結(jié)果送DB。 ADC0809管腳圖轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問(wèn)題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。 引腳功能說(shuō)明  IN0~I(xiàn)N7:8路模擬量輸入端。   21~28:8位數(shù)字量輸出端。   ADDA、ADDB、ADDC:3位地址輸入線,選通8路模擬輸入中的一路 。  ALE:地址鎖存允許信號(hào),輸入,高電平有效。   START: A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。   EOC: A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。   OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門,輸出數(shù)字量。   CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。   REF(+)、REF():基準(zhǔn)電壓。 Vcc:電源,單一電源:+5V。 GND:地。圖31系統(tǒng)流程圖 軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。 ADC0809多路電壓檢測(cè)函數(shù)程序代碼如下:void delayms(unsigned int z) //延時(shí)函數(shù),z為多少就延時(shí)多少毫秒 { unsigned int x,y。 for(x = z。 x 0 。 x) for(y = 110 。 y 0 。 y)。}void dep_key_scan(void) //獨(dú)立鍵盤掃描子函數(shù) { // P1 |= 0x18。 //每次掃描前,先將接鍵盤的引腳口拉高 if(key_1 == 0) //如果檢測(cè)到有鍵按下 { delayms(10)。 //延時(shí)10ms if(key_1 == 0) //再次判斷是否確實(shí)按下按鍵,進(jìn)行消抖操作。 { flag = ~flag。 } } if(key_2 == 0) //同上,判斷第二個(gè)按鍵情況 { delayms(10)。 if(key_2 == 0) { ax++。 } } }void main(void){ LCDInit()。 LCDDispString(2,1,CH voltage)。 LCDDispString(9,2,V)。 TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 TR0=1。 ET0=1。 EA=1。 while(1) { if(ax==8) ax=0。 sel_Ax(ax)。 //選擇通道 ST=0。 ST=1。 ST=0。 while(EOC==0)。 OE=1。 getdata=P2。 //獲取電壓值 cov2V(getdata,ax)。 divite_num(ax)。 OE=0。 dep_key_scan()。 if(count_time = 40) { if(flag == 0 )//輪換顯示 { LCDDispNum(4,1,ax+1)。 LCDDispString(5,2,dispbuf)。 ax++。 } if(flag == 1) { LCDDispNum(4,1,ax+1)。 LCDDispString(5,2,dispbuf)。 } count_time = 0。 } }}void t0(void) interrupt 1 using 0{ TH0=(6553650000)/256。 TL0=(6553650000)%256。 count_time ++。 LCD1602程序代碼如下void DelayN40us(unsigned int n)延時(shí)函數(shù),延時(shí)40us的整數(shù)倍,傳入值n代表延時(shí),時(shí)間到n *40us,不能實(shí)現(xiàn)準(zhǔn)確延時(shí),只能實(shí)現(xiàn)大概時(shí)間的延時(shí),利用的是指令實(shí)現(xiàn)延時(shí)功能。開(kāi)始for(i=n。i0。i)for(j=0。j2。j++)。 輸入 unsigned int i。 unsigned char j。 void LCD init (void) 液晶初始化函數(shù),對(duì)LCD1602進(jìn)行 初始化操作,在每一次實(shí)用液晶前必須用 到的,外部可調(diào)用函數(shù)。LCD Write Command(0x38)。 設(shè)置8位格式,2行,5x7*LCD Write Command(0x0c) 整體顯示,關(guān)光標(biāo),不閃爍LCD Write Command(0x06) 設(shè)定輸入方式,增量不移位LCD Write Command(0x01) 清除屏幕顯示 DelayN40us(100) 清屏延時(shí) void LCD Write Command(unsigned char dat) 寫命令函數(shù),對(duì)LCD1602內(nèi)部寄存器進(jìn) 行操作。LCD_DB=dat。 LCD_RS=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1