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

正文內(nèi)容

基于單片機(jī)與超聲波傳感器的步進(jìn)電機(jī)控制器(編輯修改稿)

2025-07-24 19:12 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 ,如39。A’。以下是1602的16進(jìn)制ASCII碼表地址: 讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。指令集1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置: (初始化)  0011 0000 [0x38] 設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置: (初始化)  0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加1 amp。光標(biāo)加1)N=0(讀或?qū)懸粋€(gè)字符后地址指針減1 amp。光標(biāo)減1)圖 37 LCD1602字符集  S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移)  S=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng)數(shù)據(jù)指針設(shè)置:  數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(027H,4067H)其他設(shè)置:  01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。圖 38 LCD1602A與單片機(jī)連接電路設(shè)計(jì) 串口通訊電路設(shè)計(jì)MAX232芯片是美信(MAXIM)公司專為RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,支持控制器間的串口通信。將設(shè)計(jì)整體作為一個(gè)系統(tǒng)執(zhí)行元件,嵌入到其他微機(jī)系統(tǒng)當(dāng)中。MAX232芯片是美信公司專門為電腦的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。引腳介紹第一部分是電荷泵電路。由6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和12v兩個(gè)電源,提供給RS232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由11114腳構(gòu)成兩個(gè)數(shù)據(jù)通道。 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。 TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。 圖 39應(yīng)用電路圖第三部分是供電。15腳GND、16腳VCC(+)。 主要特點(diǎn)  a、符合所有的RS232C技術(shù)標(biāo)準(zhǔn)   b、只需要單一 +5V電源供電   c、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和10V電壓  d、功耗低,典型供電電流5mA   e、內(nèi)部集成2個(gè)RS232C驅(qū)動(dòng)器   f、內(nèi)部集成兩個(gè)RS232C接收器 g、高集成度,片外最低只需4個(gè)電容即可工作。在RS232的規(guī)范中,電壓值在+3V~+15V(一般使用+6V)稱為0或ON。電壓在3V~15V(一般使用6V)稱為1或OFF;計(jì)算機(jī)上的RS232高電位約為9V,而低電位則約為9V。RS232為全雙工工作模式,其信號(hào)的電壓是參考地線而得到的,可以同時(shí)進(jìn)行數(shù)據(jù)的傳送和接收。在實(shí)際應(yīng)用中采用RS232接口,信號(hào)的傳輸距離可以達(dá)到15m。不過RS232只具有單站功能,即一對(duì)一通信。圖310 主控制器與上位機(jī)通信電路設(shè)計(jì)4 軟件設(shè)計(jì) C51語言C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。1978后,C語言已先后被移植到大、中、小及微型機(jī)上。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。對(duì)于51單片機(jī),現(xiàn)有四種語言支持,即匯編、PL/M、C和BASIC。BASIC通常附在PC機(jī)上,是早期初學(xué)編程時(shí)的第一種語言;PL/M是Intel從8080微處理器開始為其系列產(chǎn)品開發(fā)的編程語言;C語言是源于編寫UNIX操作系統(tǒng)的語言,它是一種C語言作為一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。采用C語言對(duì)51單片機(jī)進(jìn)行程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。C語言的模塊化程序結(jié)構(gòu)特點(diǎn),可以使程序模塊大家共享,不斷豐富。C語言可讀性強(qiáng)的特點(diǎn),更容易使大家可以借鑒前人的開發(fā)經(jīng)驗(yàn),提高自己的軟件設(shè)計(jì)水平。采用C語言也不必對(duì)單片機(jī)和硬件接口有很深入的了解,編譯器可以自動(dòng)完成變量的存儲(chǔ)單元的分配,這樣一來,編程者就可以專注于應(yīng)用軟件部分的設(shè)計(jì),大大加快了軟件的開發(fā)速度。C語言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可根據(jù)單片機(jī)的不同而較快的移植,有利于產(chǎn)品設(shè)計(jì)中的單片機(jī)的重新選型。本設(shè)計(jì)采用C51進(jìn)行編程和軟件調(diào)試,采用Keil C作為編譯軟件。Keil C支持8051微控制器體系結(jié)構(gòu)的Keil開發(fā)工具,適合每個(gè)階段的開發(fā)人員,不管是專業(yè)的應(yīng)用工程師,還是剛學(xué)習(xí)嵌入式軟件開發(fā)的學(xué)生。產(chǎn)業(yè)標(biāo)準(zhǔn)的Keil C編譯器、宏匯編器、調(diào)試器、實(shí)時(shí)內(nèi)核、單板計(jì)算機(jī)和仿真器,支持所有的51系列微控制器,用它作為開發(fā)工具,可以大大縮短開發(fā)周期,提高代碼質(zhì)量。 整體程序設(shè)計(jì)框圖否圖41 程序流程圖開始定時(shí)器和中斷初始化液晶初始化顯示當(dāng)前電機(jī)狀態(tài)檢測(cè)是否有按鍵操作執(zhí)行相應(yīng)操作是 步進(jìn)電機(jī)控制程序步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。您可以通過控制脈沖個(gè)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5V—DC12V。當(dāng)對(duì)步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行。圖 42 減速步進(jìn)電機(jī)28BYJ48的原理圖由原理圖,我們可以知道步進(jìn)電機(jī)的相序驅(qū)動(dòng)方式。通過一次給不同的相變換電平,電機(jī)就能轉(zhuǎn)。表41 步進(jìn)電機(jī)相序選擇導(dǎo)線顏色 1 2 3 4 5 6 7 8 5 紅 + + + + + + + +4橙 3黃 2粉 1藍(lán) 其相序定義為:uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}。 //逆時(shí)鐘旋轉(zhuǎn)相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}。 //正時(shí)鐘旋轉(zhuǎn)相序表紅線接電源5V,。由于單片機(jī)接口信號(hào)不夠大需要通過ULN2003放大再連接到相應(yīng)的電機(jī)接口。按鍵控制部分設(shè)置如下sbit K1=P3^3。//反轉(zhuǎn)按鍵sbit K2=P3^4。 //正轉(zhuǎn)按鍵sbit K3=P3^5。 //加速按鍵sbit K4=P3^6。 //減速按鍵sbit K5=P3^7。 //停止按鍵 由控制按鍵可以得知,步進(jìn)電機(jī)有2*2共4種運(yùn)行方式。每種運(yùn)行方式采用分支程序結(jié)構(gòu)來切入,執(zhí)行步進(jìn)電機(jī)的控制語句。至于遙控和串口通訊傳送到主控制器的代碼,由分支程序入口處切入調(diào)節(jié)相或來實(shí)現(xiàn)遙控和從機(jī)對(duì)步進(jìn)電機(jī)的控制。 液晶顯示1602程序設(shè)計(jì)液晶顯示器以其微功耗、小體積、使用靈活等諸多優(yōu)點(diǎn)在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。液晶顯示器通常可分為兩大類,一類是點(diǎn)陣型,另一類是字符型。點(diǎn)陣型液晶通常面積較大,可以顯示圖形。而一般的字符型液晶只有兩行,面積小,只能顯示字符和一些很簡(jiǎn)單的圖形,簡(jiǎn)單易控制且成本低。目前市面上的字符型液晶絕大多數(shù)是基于HD44780液晶芯片的,所以控制原理是完全相同的,為HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。液晶控制端口的基本操作時(shí)序?yàn)樽x狀態(tài)、寫指令、讀數(shù)據(jù)、寫數(shù)據(jù)。其流程圖如圖45所示。延時(shí)查忙寫2F指令查忙寫06H指令查忙寫0CH指令結(jié)束圖43 1602初始化過程字符型LCD通常有14條引腳線(市面上也有很多16條引腳線的LCD,多出來的2條線是電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣)。在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖1058所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。開始取一個(gè)字符寫顯示位置字符=0?查忙寫一個(gè)字符結(jié)束圖 44 主控制器寫并在LCD顯示字符串 微機(jī)通訊軟件設(shè)計(jì)串口通信是本次設(shè)計(jì)的一個(gè)關(guān)鍵應(yīng)用,通過硬件及軟件設(shè)計(jì),實(shí)現(xiàn)單片機(jī)間的有序通信。根據(jù)通信內(nèi)容,解碼識(shí)別后形成控制指令,對(duì)相應(yīng)設(shè)備進(jìn)行驅(qū)動(dòng)控制。初始化函數(shù)設(shè)計(jì): SM0=0。 SM1=1。 //設(shè)定串口通信工作方式1,波特率由定時(shí)器控制 REN=1。 //允許串行口接收 TI=0。 //發(fā)送中斷標(biāo)志 RI=0。 //接收中斷標(biāo)志初始化建立連接連接服務(wù)器 產(chǎn)生波形數(shù)據(jù)傳送數(shù)據(jù)讀入數(shù)據(jù)寫出數(shù)據(jù)顯示波形NN 退出循環(huán)退出循環(huán) YY關(guān)閉連接關(guān)閉連接 圖45 雙機(jī)通信流程圖 PCON=0。 //波特率不加倍,正常工作方式 TH1=0xF3。 //波特率由定時(shí)器設(shè)定為2400 TL1=0XF3。 TMOD=0X20。 TR1=1。 發(fā)送程序:csh()。 while(1) { if(K1==0) {SBUF=tab[0]。 while(!TI)。 TI=0。 } while(!TI)。 TI=0。 }接收程序設(shè)計(jì): void intrr() interrupt 4{ while(RI) //判斷是否接受完 { RI=0。//接受完了,標(biāo)志位清零 W=SBUF。 ES=1。 }} 單工通信使用一根導(dǎo)線,信號(hào)的傳送方和接收方有明確的方向性。也就是說,通信只在一個(gè)方向上進(jìn)行。若使用同一根傳輸線既作為接收線路又作為發(fā)送線路,雖然數(shù)據(jù)可以在兩個(gè)方向上傳送,但通信雙方不能同時(shí)收發(fā)數(shù)據(jù),這樣的傳送方式稱為半雙工。采用半雙工方式時(shí),通信系統(tǒng)每一端的發(fā)送器和接收器,通過收發(fā)開關(guān)分時(shí)轉(zhuǎn)接到通信線上,進(jìn)行方向的切換。當(dāng)數(shù)據(jù)的發(fā)送和接收,分別由兩根不同的傳輸線傳送時(shí),通信雙方都能在同一時(shí)刻進(jìn)行發(fā)送和接收操作,這樣的傳送方式就是全雙工。在全雙工方式下,通信系統(tǒng)的每一端都設(shè)置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸。全雙工方式無須進(jìn)行方向的切換。串行通信可分為兩種類型,一種是同步通信,另一種是異步通信。采用同步通信時(shí),將所有字符組成一個(gè)組,這樣,字符可以一個(gè)接一個(gè)地傳輸,但是,在每組信息的開始要加上同步字符,在沒有信息要傳輸時(shí),填上空字符,因?yàn)橥絺鬏敳辉试S有空隙。采用異步通信時(shí),兩個(gè)字符之間的傳輸間隔是任意的,所以,每個(gè)字符的前后都要用一些數(shù)據(jù)位來作為分隔位。比較起來,在傳輸率相同時(shí),同步通信方式下的信息有效率要比異
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1