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

正文內(nèi)容

基于模糊控制的交通燈控制系統(tǒng)(單片機(jī)實(shí)現(xiàn))(參考版)

2025-06-09 22:47本頁(yè)面
  

【正文】 }/*=。 delay(100)。 //關(guān)顯示 P0=a[two]。 //顯示開 delay(100)。 P0=a[one]。 one=i/10。 CS1=1。 CS1=0。 //調(diào)用鍵盤掃描 CS0=1。//調(diào)用顯示數(shù)據(jù) CS0=0。 two=i%10。}/*====顯示函數(shù)=====*/ void display0(uint i){ i=i%100。ix。 //標(biāo)志位為1 }}/*====延時(shí)函數(shù)=====*/ void delay(uint x){ uint i。 if(count==20) //判斷count是否等于20 { count=0。 //重裝定時(shí)器初始值 TL0=(50000%256)。 break。 break。 break。} break。i100。 case 0x21: //k5鍵,查表顯示 t2=aa[x][y]。 //有鍵按下就加1 if(key_count2)key_count=0。 key=keyscan()。 display0(x)。 //啟動(dòng)定時(shí)器工作 LED0=0,LED1=0,LED2=1,LED3=0,LED4=0,LED5=0。 //總允許中斷 ET0=1。 //設(shè)定時(shí)器初始值50000 TL0=(50000%256)。/*====主函數(shù)=====*/ void main(){ TMOD=0x01。void setadd()。uchar keyscan()。void display0(uint i)。char sum=0。char count。uint x=0,y=0,key_count=0,key=0。uint aa[6][5]={{14,14,14,14,18}, {14,14,14,14,18}, {13,13,13,14,18}, {13,13,13,14,17}, {11,11,13,14,16}, {11,11,13,14,16}}。sbit P25=P2^5。sbit P21=P2^1。sbit LED5=P3^7。sbit LED3=P3^5。sbit LED1=P1^5。sbit CS3=P1^3。sbit CS1=P1^1。本設(shè)計(jì)雖然結(jié)束了,但是由于時(shí)間、設(shè)備、條件和水平等各方面因素有限,系統(tǒng)還存在一些不足,一個(gè)新系統(tǒng)最終走向成熟和完善還需要我們?cè)谝院蟮膶W(xué)習(xí)和工作中作不懈的努力。特別是在焊接電路板的整個(gè)過程中,使我體會(huì)到動(dòng)手實(shí)踐在工程技術(shù)上的重要性,也使我懂得無論做任何事情,我們都不應(yīng)該遇到點(diǎn)困難就放棄,只要我們肯去做,努力地做,就會(huì)把它做好。撰寫論文時(shí)首先要做的就是對(duì)資料的收集,它們主要來自于一些參考文獻(xiàn)、集成芯片和元器件功能的介紹;下一步就是把資料組織成一篇具有邏輯的文章,從整個(gè)論文的撰寫中,使我學(xué)會(huì)了對(duì)資料的組織能力。在這次設(shè)計(jì)中,不但使我學(xué)到了許多理論上的知識(shí),而且還提高了我的動(dòng)手實(shí)踐能力,使我知道了理論知識(shí)與實(shí)踐相結(jié)合的重要性。經(jīng)調(diào)試鍵盤上相應(yīng)按鍵的相應(yīng)功能都可以實(shí)現(xiàn)。本設(shè)計(jì)采用2*4鍵盤,編程時(shí)用到了其中的5個(gè)鍵,包括自加鍵、自減鍵和3個(gè)功能鍵。鍵盤模塊調(diào)試通過鍵盤控制數(shù)碼管自加、自減。在編寫程序時(shí)按固定時(shí)間延時(shí),紅綠燈延時(shí)15s,黃燈延時(shí)5s循環(huán)顯示。交通燈演示電路的調(diào)試在模擬調(diào)試時(shí),交通燈使用LED發(fā)光二極管,由于實(shí)驗(yàn)板上沒有交通燈演示模塊,另外做了一塊板,因此,接線的時(shí)候需要注意連線接頭的搭配。編寫一個(gè)簡(jiǎn)單的程序進(jìn)行調(diào)試,再程序中給一個(gè)數(shù)值,然后讓其進(jìn)行自減1顯示。采取的是自下到上的調(diào)試方法,即單獨(dú)調(diào)試好每一個(gè)模塊,然后再連接成一個(gè)完整的系統(tǒng),最后完成一個(gè)完整的系統(tǒng)調(diào)試。本設(shè)計(jì)的實(shí)驗(yàn)板采用STC89C52作為核心部件,可以在線下載程序,程序修改后不需要燒結(jié)好程序再插到實(shí)驗(yàn)板上。軟件調(diào)試硬件調(diào)試完成后就可以進(jìn)行軟件調(diào)試。如此循環(huán)。系統(tǒng)分為三個(gè)狀態(tài):設(shè)置狀態(tài)、查表狀態(tài)和顯示狀態(tài)。 系統(tǒng)操作說明本設(shè)計(jì)采用2*4鍵盤,共8個(gè)鍵,我們?cè)诰幊虝r(shí)用到了其中的5個(gè)鍵。: 按鍵處理子程序流程圖本次設(shè)計(jì)中用到了其中的五個(gè)鍵。鍵盤掃描子程序流程圖如下: 鍵盤掃描子程序流程圖在鍵盤掃描程序中,求得鍵值只是手段,最終目的是要使程序轉(zhuǎn)到相應(yīng)的按鍵處理程序完成鍵的操作。若所掃描的行沒有鍵按下,則掃描下一行,直到4行都掃描完。(3) 若有鍵閉合,則求出閉合鍵的鍵值。若有鍵按下,則延時(shí)10-20ms,再一次判斷有無鍵按下。如果沒有鍵按下,鍵值為F0H;如果有鍵按下,則不為F0H。 鍵盤子程序設(shè)計(jì) 鍵盤掃描子程序鍵掃描的過程:(1) 首先判斷是否有鍵按下。這里有三個(gè)基本的子程序供調(diào)用,分別對(duì)應(yīng)系統(tǒng)的各種功能狀態(tài)。 程序調(diào)試的主程序流程設(shè)計(jì)本系統(tǒng)主程序模塊主要完成的工作是對(duì)系統(tǒng)的初始化,對(duì)鍵盤進(jìn)行掃描,以及根據(jù)所需要的功能進(jìn)行相應(yīng)的操作并顯示數(shù)值。顯示子程序流程圖如下: 顯示子程序流程圖先將要顯示的數(shù)據(jù)分離,然后分別查出十位、個(gè)位顯示數(shù)據(jù)的筆段碼,再分別送到單片機(jī)的P0口,、只要有一個(gè)端口輸出低電平就會(huì)選通相應(yīng)位進(jìn)行顯示,十位、個(gè)位輪流輸出實(shí)現(xiàn)動(dòng)態(tài)掃描。以南北方向?yàn)槔?,?shù)碼管顯示的數(shù)值從綠燈的設(shè)置時(shí)間最大值往下減,每秒鐘減1,一直減到0;然后又從黃燈的設(shè)置時(shí)間最大值往下減,一直減到0;最后又從紅燈的設(shè)置時(shí)間最大值往下減,一直減到0。定時(shí)器設(shè)置的初值為50ms,再經(jīng)軟件計(jì)數(shù)方法使定時(shí)器重復(fù)定時(shí)20次,計(jì)為1s,設(shè)置一個(gè)變量count用于計(jì)數(shù),程序執(zhí)行時(shí)判斷count是否計(jì)到20,若count等于20,則1s時(shí)間到,count清0,標(biāo)志位flag置1。本設(shè)計(jì)在交通燈顯示子程序設(shè)計(jì)時(shí)讓其在延時(shí)的同時(shí)進(jìn)行倒計(jì)時(shí)顯示,顯示的時(shí)間為延時(shí)時(shí)間。在交通燈函數(shù)中,是通過檢測(cè)flag位的變化次數(shù),來獲得延時(shí)的時(shí)間。交通燈控制中使用的時(shí)間是由定時(shí)器產(chǎn)生的。此時(shí)南北方向黃燈熄滅,而紅燈亮,東西方向紅燈熄滅,而綠燈亮,東西方向開始通車。于是在控制過程中,單片機(jī)只需直接將采集到的輸入狀態(tài)量模糊化以后,根據(jù)這個(gè)轉(zhuǎn)換后的模糊量在論域中元素的取值,在控制表中可以查出相應(yīng)輸出量的以論域元素表現(xiàn)形式表現(xiàn)的控制量,再將其乘以比例因子就用于控制過程,以達(dá)到控制目的。把模糊控制查詢表看成是1621的矩陣,在編程時(shí),以二維數(shù)組的形式存儲(chǔ)在單片機(jī)中,其中的a[i][j]表示當(dāng)X=i,Y=j時(shí)T2= a[i][j]。: 多機(jī)通信子程序的從機(jī)子程序流程圖 查表子程序設(shè)計(jì)通過設(shè)計(jì)模糊控制器求取一個(gè)模糊控制查詢表。(3) 接收到主機(jī)的命令信息后,再發(fā)送數(shù)據(jù)信號(hào)給主機(jī)。(2) 被選中的從機(jī)將本機(jī)地址信息回發(fā)給主機(jī),然后使本機(jī)的SM2位為0,以便接收主機(jī)發(fā)送的命令。(4) 主機(jī)正確接收從機(jī)數(shù)據(jù)信息后,發(fā)送確認(rèn)信號(hào)給從機(jī),此時(shí),主機(jī)與從機(jī)通信過程結(jié)束。若地址相符,然后發(fā)送命令;若地址不相符,則重新發(fā)送地址。 多機(jī)通信主機(jī)子程序流程圖主機(jī)的通信過程如下:(1) 主機(jī)發(fā)送地址信息,然后進(jìn)入接收狀態(tài),接收從機(jī)應(yīng)答信號(hào)(實(shí)際上就是相應(yīng)從機(jī)的地址信息)。在監(jiān)聽階段,從機(jī)的SM2位為1,以便接收主機(jī)發(fā)出的地址信息,當(dāng)發(fā)現(xiàn)主機(jī)送出的地址與本機(jī)地址相同時(shí),即認(rèn)為主機(jī)要與自己通信。 從機(jī)的程序流程圖 多機(jī)通信子程序流程圖設(shè)計(jì)在主從式多機(jī)通信系統(tǒng)中,主機(jī)和從機(jī)只能工作在方式2或方式3中,主機(jī)的SM2位必須位0,以確保主機(jī)能夠接收從機(jī)發(fā)送的地址信息(第9位為1)和數(shù)據(jù)信息(第9位為0)。脈沖發(fā)射同時(shí)打開定時(shí)器T0開始計(jì)時(shí),發(fā)射后等待1ms打開外部中斷INT0,等待回波反射到接收探頭。 主機(jī)的程序流程圖 從機(jī)的流程圖設(shè)計(jì),在設(shè)計(jì)中,STC89C52對(duì)發(fā)射的控制就是對(duì)40kHz方波產(chǎn)生電路的控制。第五章 系統(tǒng)軟件設(shè)計(jì) 軟件總體設(shè)計(jì)流程圖 主機(jī)的流程圖設(shè)計(jì)軟件總體設(shè)計(jì)主要完成各部分的軟件控制和協(xié)調(diào)。固態(tài)繼電器內(nèi)部有隔離耦合電路,可以實(shí)現(xiàn)輸入電路與輸出電路的電隔離及信號(hào)耦合。達(dá)林頓陳列芯片采用的是ULN2003芯片,用來做功率驅(qū)動(dòng),提高控制信號(hào)的驅(qū)動(dòng)能力,驅(qū)動(dòng)固態(tài)繼電器隊(duì)列。: 顯示驅(qū)動(dòng)電路 交通燈驅(qū)動(dòng)電路目前常用的交通信號(hào)燈為交流220v的工作電壓,為了提高裝置的驅(qū)動(dòng)能力和抗干擾能力,交通燈控制電路采用固態(tài)繼電器驅(qū)動(dòng)。也就是說,與其相連的共陽(yáng)極數(shù)碼管顯示器開始工作;,與其相連的數(shù)碼管顯示器停止工作。 顯示驅(qū)動(dòng)電路本設(shè)計(jì)中采用的是2位共陽(yáng)極LED數(shù)碼管,用PNP三極管驅(qū)動(dòng)。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。采用RS485構(gòu)成的多機(jī)通信原理框圖。一對(duì)多的通信模式有別于單一的一對(duì)一通信,它采用主從工作模式:從機(jī)不主動(dòng)發(fā)送命令或數(shù)據(jù),一切都由主機(jī)控制。因此,如果用一根口線作發(fā)送和接收控制信號(hào),應(yīng)該將口線反向后接入MAX485的控制端,使上電時(shí)MAX485處于接收狀態(tài)。如果在時(shí)序上配合不好,就會(huì)發(fā)生總線沖突,使整個(gè)系統(tǒng)的通信癱瘓,無法正常工作。因此要求應(yīng)答的單機(jī)必須在偵聽到總線上呼叫信號(hào)已經(jīng)發(fā)送完畢,并且沒有其它單機(jī)發(fā)出應(yīng)答信號(hào)的情況下,才能應(yīng)答。 基于RS485的多機(jī)通信 通信規(guī)則由于MAX485是一種半雙工通信,發(fā)送和接收共用同一物理信道。;考慮到超聲波接收器輸出阻抗較高,U2A設(shè)計(jì)成電壓跟隨器以提高放大電路的輸入阻抗;由U3A組成有源帶通濾波器,中心頻率40kHz,增益20倍,它可以濾除各種干擾信號(hào);U4A組成反相放大器,增益10,放大電路總體增益200倍。超聲波發(fā)射探頭兩端的振蕩波形近似于方波[6]。電路中,超聲波發(fā)射探頭既是超聲波發(fā)射元件,又是振蕩器的反饋元件和諧振元件。晶體管VTVT2組成強(qiáng)反饋式穩(wěn)頻振蕩器,VT2集電極輸出的微小變化,通過超聲波發(fā)射探頭反饋到VT1的基極,VT1放大后又直接加至VT2的基極作進(jìn)一步放大。,每次發(fā)射包含10個(gè)脈沖左右,當(dāng)?shù)谝粋€(gè)超聲波脈沖發(fā)射后,計(jì)數(shù)器開始計(jì)數(shù),在檢測(cè)到第一個(gè)回波脈沖的瞬間,計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器所計(jì)的時(shí)間就是超聲波往返的時(shí)間。由于超聲波傳感器的聲壓能級(jí)、靈敏度在40kHz 時(shí)最大,所以本系統(tǒng)采用40kHz作為傳感器的使用頻率[5]。由于本系統(tǒng)需要對(duì)控制信號(hào)進(jìn)行實(shí)時(shí)操作,故采用靜態(tài)顯示方式以減少 CPU的負(fù)擔(dān)。其顯示方法比較簡(jiǎn)單,就是利用鎖存器將各顯示單元鎖定,直到更新顯示內(nèi)容為止。這種方式耗電少、硬件成本低,但需占用較多的 CPU 時(shí)間,故在工業(yè)控制中應(yīng)用較少。在進(jìn)行動(dòng)態(tài)掃描顯示時(shí),往往事先并不知道應(yīng)顯示什么內(nèi)容,這樣也就無從選擇被顯示字符的顯示段碼。 動(dòng)態(tài)顯示:如果要在同一時(shí)刻顯示不同的字符,從電路上看,這是辦不到的。但是驅(qū)動(dòng)器是必不可少的,因?yàn)閮H靠接口提供不了較大的電流供LED顯示器使用。硬件接口方法:LED數(shù)碼管與譯碼器相連,通過硬件譯碼。 為了顯示字符,要為L(zhǎng)ED顯示器提供顯示段碼(或稱字形代碼),組成一個(gè)“8”字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給LED顯示器的顯示段碼為1個(gè)字節(jié)。 共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。它使用了8個(gè)LED發(fā)光二極管,其中7個(gè)用于顯示字符,1個(gè)用于顯示小數(shù)點(diǎn),故通常稱之為7段(也有稱作8段)發(fā)光二極管數(shù)碼顯示器。由于光耦合器的應(yīng)用,使控制信號(hào)所需的功率極低(約十余毫瓦就可正常工作),而且Vsr所需的工作電平與TTL、HTL、CMOS等常用集成電路兼容,可以實(shí)現(xiàn)直接聯(lián)接。固態(tài)繼電器的控制信號(hào)所需的功率極低,因此可以用弱信號(hào)控制強(qiáng)電流。目前,各種固態(tài)繼電器使用的輸出器件主要有晶體三極管(Transistor)、單向可控硅(Thyristor或SCR)、雙向可控硅(Triac)、MOS場(chǎng)效應(yīng)管(MOSFET)、絕緣柵型雙極晶體管(IGBT)等。固態(tài)繼電器的輸出電路是在觸發(fā)信號(hào)的控制下,實(shí)現(xiàn)固態(tài)繼電器的通斷切換。功能電路可包括檢波整流、過零、加速、保護(hù)、顯示等各種功能電路。常用的光電耦合器有光—三極管、光—雙向可控硅、光—二極管陣列(光—伏)等。固態(tài)繼電器的驅(qū)動(dòng)電路可以包括隔離耦合電路、功能電路和觸發(fā)電路三部分。固態(tài)繼電器的輸入電路是為輸入控制信號(hào)提供一個(gè)回路,使之成為固態(tài)繼電器的觸發(fā)信號(hào)源。具有壽命長(zhǎng)、可靠性高、開關(guān)速度快、電磁干擾小、無噪聲、無火花等特點(diǎn)。當(dāng)2003輸入端為高電平時(shí),對(duì)應(yīng)的輸出口輸出低電平,繼電器線圈通電,繼電器觸點(diǎn)吸合;當(dāng)2003輸入端為低電平時(shí),繼電器線圈斷電,繼電器觸點(diǎn)斷開。輸出電流大,故可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅(qū)動(dòng)低壓燈泡。ULN2003在各種控制電路中常用它作為驅(qū)動(dòng)繼電器的芯片,其芯片內(nèi)部做了一個(gè)消線圈反電動(dòng)勢(shì)的二極管。 ULN2003美國(guó)Texas Instruments公司、美國(guó)Sprague公司生產(chǎn)的ULN2003是高耐壓、大電流達(dá)林頓陳列,由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,為單片雙極型大功率高速集成電路。只需要一個(gè)信號(hào)控制MAX485的接收和發(fā)送即可。RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的RXD和TXD相連即可;RE和DE端分別為接收和發(fā)送的使能端,當(dāng)RE為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可;A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1