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

正文內(nèi)容

直流電機(jī)設(shè)計(jì)方案(編輯修改稿)

2025-05-25 07:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 均為30P左右,晶振頻率選12MHz 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機(jī)的復(fù)位是靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要RST引腳上出現(xiàn)兩個(gè)機(jī)器周期時(shí)間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí)RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(dòng)(開關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。 圖22中R9和Cl組成上電復(fù)位電路,其值R取為1K, C取為1pF.H橋驅(qū)動(dòng)電路原理一、H橋驅(qū)動(dòng)電路 。電路得名于“H橋驅(qū)動(dòng)電路”是因?yàn)樗男螤羁崴谱帜窰。4個(gè)三極管組成H的4條垂直腿,而電機(jī)就是H中的橫杠(注意:,而不是完整的電路圖,其中三極管的驅(qū)動(dòng)電路沒有畫出來(lái))。如圖所示,H橋式電機(jī)驅(qū)動(dòng)電路包括4個(gè)三極管和一個(gè)電機(jī)。要使電機(jī)運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)三極管。根據(jù)不同三極管對(duì)的導(dǎo)通情況,電流可能會(huì)從左至右或從右至左流過電機(jī),從而控制電機(jī)的轉(zhuǎn)向。 H橋驅(qū)動(dòng)電路 要使電機(jī)運(yùn)轉(zhuǎn),必須使對(duì)角線上的一對(duì)三極管導(dǎo)通。例如,當(dāng)Q1管和Q4管導(dǎo)通時(shí),電流就從電源正極經(jīng)Q1從左至右穿過電機(jī),然后再經(jīng) Q4回到電源負(fù)極。按圖中電流箭頭所示,該流向的電流將驅(qū)動(dòng)電機(jī)順時(shí)針轉(zhuǎn)動(dòng)。當(dāng)三極管Q1和Q4導(dǎo)通時(shí),電流將從左至右流過電機(jī),從而驅(qū)動(dòng)電機(jī)按特定方向 轉(zhuǎn)動(dòng)(電機(jī)周圍的箭頭指示為順時(shí)針方向)。 H橋電路驅(qū)動(dòng)電機(jī)順時(shí)針轉(zhuǎn)動(dòng),電流將從右至左流過電機(jī)。當(dāng)三極管Q2和Q3導(dǎo)通時(shí),電流將從右至左流過電機(jī),從而驅(qū)動(dòng)電機(jī)沿另一方向轉(zhuǎn)動(dòng)(電機(jī)周圍的箭頭表示為逆時(shí)針方向)。 H橋驅(qū)動(dòng)電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)二、使能控制和方向邏輯 驅(qū)動(dòng)電機(jī)時(shí),保證H橋上兩個(gè)同側(cè)的三極管不會(huì)同時(shí)導(dǎo)通非常重要。如果三極管Q1和Q2同時(shí)導(dǎo)通,那么電流就會(huì)從正極穿過兩個(gè)三極管直接回到負(fù)極。此時(shí),電 路中除了三極管外沒有其他任何負(fù)載,因此電路上的電流就可能達(dá)到最大值(該電流僅受電源性能限制),甚至燒壞三極管?;谏鲜鲈?,在實(shí)際驅(qū)動(dòng)電路中通常 要用硬件電路方便地控制三極管的開關(guān)。 所示就是基于這種考慮的改進(jìn)電路,它在基本H橋電路的基礎(chǔ)上增加了4個(gè)與門和2個(gè)非門。4個(gè)與門同一個(gè)“使能”導(dǎo)通信號(hào)相接,這樣,用這一個(gè)信號(hào)就能控制 整個(gè)電路的開關(guān)。而2個(gè)非門通過提供一種方向輸人,可以保證任何時(shí)候在H橋的同側(cè)腿上都只有一個(gè)三極管能導(dǎo)通。(與本節(jié)前面的示意圖一樣, 也不是一個(gè)完整的電路圖,特別是圖中與門和三極管直接連接是不能正常工作的。) 具有使能控制和方向邏輯的H橋電路 采用以上方法,電機(jī)的運(yùn)轉(zhuǎn)就只需要用三個(gè)信號(hào)控制:兩個(gè)方向信號(hào)和一個(gè)使能信號(hào)。如果DIR-L信號(hào)為0,DIR-R信號(hào)為1,并且使能信號(hào)是1,那么三 極管Q1和Q4導(dǎo)通,電流從左至右流經(jīng)電機(jī)();如果DIR-L信號(hào)變?yōu)?,而DIR-R信號(hào)變?yōu)?,那么Q2和Q3將導(dǎo)通,電流則反向 流過電機(jī)。 使能信號(hào)與方向信號(hào)的使用 實(shí)際使用的時(shí)候,用分立元件制作H橋是很麻煩的,好在現(xiàn)在市面上有很多封裝好的H橋集成電路,接上電源、電機(jī)和控制信號(hào)就可以使用了,在額定的電壓和電流內(nèi)使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。附兩張分立元件的H橋驅(qū)動(dòng)電路:1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15~16腳:空腳1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來(lái)實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)DM162液晶顯示模塊可以和單片機(jī)AT89C51直接接口,電路如圖1所示。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表3是DM162的內(nèi)部顯示地址.比如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)以下是在液晶模塊的第二行第一個(gè)字符的位置顯示字母“A”的程序: ORG 0000HRS EQU 。確定具體硬件的連接方式RW EQU 。確定具體硬件的連接方式E EQU 。確定具體硬件的連接方式MOV P1,00000001B ;清屏并光標(biāo)復(fù)位ACALL ENABLE。調(diào)用寫入命令子程序MOV P1,00111000B ;設(shè)置顯示模式:8位2行5x7點(diǎn)陣ACALL ENABLE 。調(diào)用寫入命令子程序MOV P1,00001111B ;顯示器開、光標(biāo)開、光標(biāo)允許閃爍ACALL ENABLE 。調(diào)用寫入命令子程序MOV P1,00000110B ;文字不動(dòng),光標(biāo)自動(dòng)右移ACALL ENABLE 。調(diào)用寫入命令子程序MOV P1,0C0H ;寫入顯示起始地址(第二行第一個(gè)位置)ACALL ENABLE 。調(diào)用寫入命令子程序MOV P1,#01000001B ;字母A的代碼SETB RS ;RS=1CLR RW ;RW=0 。準(zhǔn)備寫入數(shù)據(jù)CLR E ;E=0 。執(zhí)行顯示命令A(yù)CALL DELAY 。判斷液晶模塊是否忙?SETB E ;E=1 。顯示完成,程序停車AJMP $ENABLE:CLR RS ;寫入控制命令的子程序CLR RWCLR EACALL DELAYSETB ERETDELAY:MOV P1,0FFH ;判斷液晶顯示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB ,DELAY ;RETEND程序在開始時(shí)對(duì)液晶模塊功能進(jìn)行了初始化設(shè)置,約定了顯示格式。注意顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù),每次輸入指令都先調(diào)用判斷液晶模塊是否忙的子程序DELAY,然后輸入顯示位置的地址0C0H,最后輸入要顯示的字符A的代碼41H。52第4章 軟件設(shè)計(jì) C語(yǔ)言軟件程序include define TIME0H 0xFFdefine TIME0L 0x9C define TIME1H 0x3Cdefine TIME1L 0xB0 unsigned char uc_MoCount=0。unsigned char uc_MoChange=128。bit b_KeyShock=0。 bit b_KillShock=0。 unsigned char uc_KillCount=1。 bit b_KeyScan=0。 void main(){ vdInitialize()。 vWriteCMD(0x80)。 vShowChar(Motor Run Status)。 vWriteCMD(0xC4)。 vShowChar(Stop)。 vWriteCMD(0xCC)。 vShowNumber(uc_MoChange)。 SCANPORT=0x0F。 MOTORPORT=MO_STOP。 IT0=1。 EX0=1。 TMOD=0x11。 TH0=TIME0H。 TL0=TIME0L。 TR0=1。 ET0=1。 TH1=TIME1H。 TL1=TIME1L。 TR1=1。 ET1=1。 EA=1。 while(1) { if(b_KeyScan==1) { b_KeyScan=0。 vKeyProcess(ucKeyScan())。 } }}void vINT0(void) interrupt 0{ if(b_KeyShock==0) { b_KeyScan=1。 b_KeyShock=1。 } else b_KeyShock=0。 if(b_KeyShock==1) b_KillShock=1。 }void vTimer0() interrupt 1{ if(uc_MoChange128) { if(uc_MoCountuc_MoChange) MOTORPORT=MO_COMMON。 else MOTORPORT=MO_CUTOFF。 } else { if(uc_MoChange127) { if(uc_MoCountuc_MoChange) MOTORPORT=MO_OPPOSE。 else MOTORPORT=MO_CUTOFF。 } else MOTORPORT=MO_STOP。 } if(uc_MoCount255) uc_MoCount++。 else uc_MoCount=0。 TH0=TIME0H。 TL0=TIME0L。 }void vTimer1(void) interrupt 3{ if(b_KillShock==1) { if(uc_KillCount==5) { b_KeyShock=0。 b_KillShock=0。 uc_KillCount=1。 } else uc_KillCount++。 } TH1=TIME1H。 TL1=TIME1L。} define SCANPORT P2 unsigned char uca_LineScan[4]={0xEF,0xDF,0xBF,0x7F}。 unsigned char ucKeyScan(){ unsigned char ucTemp=0。 unsigned char ucRow=0,ucLine=0。 EX0=0。 for(ucLine=0。ucLine4。ucLine++) { SCANPORT=uca_LineScan[ucLine]。 ucTemp=SCANPORTamp。0x0F。 if(ucTemp!=0x0F) { switch(ucTemp) { case 0x0E: ucRow=10。break。 case 0x0D: ucRow=20。break。 case 0x0B: ucRow=30。break。 case 0x07: ucRow=40。break。 defaul
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1