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

正文內(nèi)容

基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)-閱讀頁(yè)

2025-07-12 19:43本頁(yè)面
  

【正文】 ,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號(hào)地”。 兩個(gè)DB9的連接圖(4)傳輸電纜長(zhǎng)度 由RS232C標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長(zhǎng)度應(yīng)為50英尺,其實(shí)這個(gè)4%的碼元畸變是很保守的,在實(shí)際應(yīng)用中,約有99%的用戶(hù)是按碼元畸變1020%的范圍工作的,所以實(shí)際使用中最大距離會(huì)遠(yuǎn)超過(guò)50英尺。 MAX232的內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。功能是產(chǎn)生+12v和12v兩個(gè)電源,提供給RS232串口電平的需要。由11114腳構(gòu)成兩個(gè)數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。第三部分是供電。: MAX232的引腳結(jié)構(gòu)圖其中引腳16(C1+、V+、C1_、C2+、CV)用于電源電壓轉(zhuǎn)換,只要在外部接入相應(yīng)電解電容即可;引腳710和引腳1114構(gòu)成兩組TTL信號(hào)電平與RS232C信號(hào)電平的轉(zhuǎn)換電路,對(duì)應(yīng)引腳可直接與單片機(jī)串行口的TTL電平引腳和PC的RS232C電平引腳相連。按模擬量轉(zhuǎn)換成數(shù)字量的原理可以分為3種:雙積分式、逐次逼近式及并行式A/D轉(zhuǎn)換器。 由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開(kāi)關(guān)。轉(zhuǎn)換時(shí)間為100us。它的引腳的排列及其功能, ADC0809的引腳圖IN7~IN0 :八個(gè)通道的模擬輸入量。當(dāng)CBA=000時(shí),IN0輸入,當(dāng)CBA=111時(shí),IN7輸入。START:轉(zhuǎn)換啟動(dòng)信號(hào),高電平有效。三態(tài)輸出,D7是最高位,D0是最低位。CLK:時(shí)鐘信號(hào),最高頻率為 640KHZ。上升沿后高電平有效。Vref:參考電壓。START的下降驗(yàn)啟動(dòng)8位A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A/D轉(zhuǎn)換結(jié)束,EOC輸出高電平。OE為讀出數(shù)據(jù)允許信號(hào)。硬件電路設(shè)計(jì)時(shí),需根據(jù)時(shí)序關(guān)系及軟件進(jìn)行設(shè)計(jì)。地址譯碼引腳A、B、C分別與地址總線低三位A0、AA2相連,以選通IN0~IN7中的一個(gè)通道。在讀取轉(zhuǎn)換結(jié)果時(shí),用低電平的讀信號(hào)RD,產(chǎn)生的正脈沖作為OE信號(hào),用以打開(kāi)三態(tài)輸出鎖存器。而低電平的寫(xiě)信號(hào)WR則表示轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。Keil有以下幾個(gè)特點(diǎn): 器件庫(kù)用來(lái)配置開(kāi)發(fā)工具設(shè)置; 集成的MAKE工具可以匯編、編譯和連接用戶(hù)嵌入式應(yīng)用; 真正的源代碼級(jí)的對(duì)CPU和外圍器件的調(diào)試器; 首先從菜單中的工程中“新建工程”,建立我們將要做的工程項(xiàng)目:接下來(lái)Keil環(huán)境要求我們?yōu)?2工程選擇一個(gè)單片機(jī)型號(hào);我們選擇Ateml公司的89C51(雖然我使用的是AT89S52,但由于89S51與89C51內(nèi)外部的結(jié)構(gòu)完全一樣,所以這里仍然用“89C51”)。立了工程項(xiàng)目以后現(xiàn)在就要為工程添加程序,點(diǎn)擊“文件”中的新建,新建一個(gè)空白文檔;這個(gè)空白文檔就是我們編寫(xiě)單片機(jī)程序的場(chǎng)所。根據(jù)題意,在文檔中寫(xiě)入代碼,寫(xiě)完后再檢查一下,然后保存,然后再將保存好的文檔添加到工程中,具體做法如下:程序文件添加完畢后,對(duì)其進(jìn)行編譯當(dāng)前程序、編譯修改過(guò)的文件并生成應(yīng)用程序、重新編譯所有文件并生成應(yīng)用程序后,再點(diǎn)擊TARGET,則其頁(yè)面為:再點(diǎn)擊圖案上的Output鍵 接下來(lái)就是點(diǎn)擊上圖中的select folder for objects鍵,得到下圖將其產(chǎn)生的HEX文件存儲(chǔ)在E盤(pán)zh文件夾中。 主機(jī)程序設(shè)計(jì)本軟件系統(tǒng)有一個(gè)主程序,五個(gè)子程序,五個(gè)子程序分別為向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()、鍵盤(pán)掃描子程序Keys_Scan()、LED數(shù)據(jù)顯示子程序Display_Result(int d)、延時(shí)子程序Delay()、主機(jī)串口接受中斷子程序Serial_INT() interrupt 4。當(dāng)沒(méi)有鍵按下時(shí),則送一個(gè)數(shù)F給LED顯示器。(3)鍵盤(pán)掃描子程序Keys_Scan() 該程序是先將行選好,然后再選定列就可以確定到具體的哪一個(gè)按鍵。,然后將位選的值發(fā)送給單片機(jī)P1口。然后調(diào)用延時(shí),、下面是重復(fù)上面的過(guò)程,直到要顯示的數(shù)字全部顯示在數(shù)碼上。當(dāng)RI =1時(shí),接受串口過(guò)來(lái)的數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行X*05H/0FFH的處理,接下來(lái)用處理過(guò)的數(shù)據(jù)調(diào)用LED顯示程序Display_Result(int d)。(1)主程序主程序是進(jìn)行系統(tǒng)的初始化,由于主從兩個(gè)單片機(jī)要進(jìn)行通信,所以?xún)蓚€(gè)單片機(jī)的初始化應(yīng)該是相同的,并調(diào)用A/D轉(zhuǎn)換。再判斷接受到的數(shù)據(jù)第4位是否為1,如果為1,則按照主機(jī)發(fā)送過(guò)來(lái)的通道進(jìn)行采集,如果為0,則調(diào)用循環(huán)采集程序。(4)向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)程序首先將數(shù)據(jù)發(fā)送到串行口,當(dāng)T1=0時(shí),表明傳送結(jié)束。系統(tǒng)調(diào)試以程序?yàn)橹?,硬件調(diào)試應(yīng)先檢測(cè)電路的焊接是否正確,然后用外用表檢測(cè)或通電檢測(cè)其是否有短路或斷路。在整個(gè)系統(tǒng)中,主機(jī)用到了9個(gè)按鍵,按鍵0按下后,發(fā)送一個(gè)00H的數(shù)據(jù)給從機(jī),而從機(jī)接收到這個(gè)信號(hào)就開(kāi)始調(diào)用一個(gè)循環(huán)采集方式,然后從機(jī)采集完數(shù)據(jù)后再將轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號(hào)發(fā)送給主機(jī)并用LED數(shù)據(jù)顯示器顯示出來(lái);按鍵18用于選擇采集方式,分別送相應(yīng)的采集線路的通道號(hào)給從機(jī),然后再將從機(jī)轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號(hào)發(fā)送給主機(jī)并用LED數(shù)據(jù)顯示器顯示出來(lái);當(dāng)主機(jī)沒(méi)有按鍵按下時(shí),則發(fā)送一個(gè)數(shù)0給LED。sbit smgd=P2^6。 uchar Pre_KeyNo=16,KeyNo=16。 while(x)for(i=0。i++)。 P0=0X7C。P0=LEDData[d/100]。smgd=0。smgk=1。 smgd=1。 //顯示十位Delay(5)。smgk=0。smgd=1。 //顯示個(gè)位Delay(5)。smgd=0。P0=0X7C。P0=0x80。smgd=0。}/************鍵盤(pán)掃描子程序**************/void Keys_Scan(){ uchar Tmp,An。 //低四位置1,放入4行Delay(1)。 //按鍵后11110000將變成XXXX0000,X中有一個(gè)為0,3個(gè)仍為1,而異或操作會(huì)把3個(gè)1變成0,唯一的0變成1 Tmp=An4。break。break。break。break。 //無(wú)鍵按下}P3=0X0F。Tmp=P3^0xF0。break。break。break。break。 while(T1==0)。}Display(){ smgK=1。 Smgd=1。} /*******主程序*******/ void main(){ P0=0x00。 //串口工作于方式1 TMOD=0x20。 //波特率不加倍 TH1=0xFD。 TI=RI=0。 //啟動(dòng)定時(shí)器1 IE=0x90。 if(P3!=0X0F) Keys_Scan()。 break。 break。 break。 break。 break。 break。 break。 break。 break。 long int n。 c=SBUF。 j=i*0x10。 m=n/0xFF。} 從機(jī)部分程序 include define uchar unsigned chardefine uint unsigned intsbit ST=P3^2。sbit OE=P3^7。while(x) for(i=0。i++)。 while(TI==0)。}/*********A/D轉(zhuǎn)換子程序*********/void Adcon(){ int j,m=0XF8。 for(j=0,P0=m。j8) { ST=0。ST=0。 OE=1。 putc_to_SerialPort(n)。}}/*******主程序*******/void main(){ TMOD=0X20。 //串口工作于方式1 PCON=0X00。 TL1=0XFD。 IE=0X90。 //啟動(dòng)定時(shí)器1 while(1){ Delay(100)。}}/********從機(jī)串口接受中斷函數(shù)********/void serial_INT() interrupt 4{if(RI){ RI=0。 uchar val。 i=camp。 //判斷接收到的第四位是否為1,如果為1,則按選定的通道采集,否則就是循環(huán)采集 switch(i) { case 0: Adcon()。 case 8: P0=c。ST=1。 while(EOC==0)。 val=P0。 brea
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1