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

正文內(nèi)容

基于單片機(jī)的led點(diǎn)陣電子顯示屏設(shè)計畢業(yè)論文(編輯修改稿)

2024-07-24 19:23 本頁面
 

【文章內(nèi)容簡介】 ,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。因為沒有擴(kuò)展外部程序存儲器所以將EA置為高電平。圖32 控制部分電路圖由于P3口是特殊功能口,在該系統(tǒng)中基本是采用其第二功能。其第二功能和實際運(yùn)用如表31所示:表31 AT89S51P3口第二功能的應(yīng)用端口第二功能實際作用RXD(串行輸入口)與上位機(jī)通信的數(shù)據(jù)輸入口TXD(串行輸出口)與上位機(jī)通信的數(shù)據(jù)輸出口外部中斷0做按鍵中斷,控制顯示狀態(tài)外部中斷1做按鍵中斷,控制運(yùn)行模式AT89S51單片機(jī)的P1在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。所以P1和P2口留為外部數(shù)據(jù)存儲器和程序存儲器的擴(kuò)展用,以備內(nèi)部存儲器和程序存儲器不夠用的情況時使用[12]。 譯碼電路設(shè)計 譯碼電路的功能是為了解決單片機(jī)I/O端口不足。行譯碼所用器件為串并轉(zhuǎn)換器74LS164和鎖存器74LS373。具體電路如圖33所示圖33 行譯碼電路圖 串并轉(zhuǎn)換器74LS164列譯碼采用的是芯片74LS164。如果不采用譯碼電路完全依靠單片機(jī)的端口輸出來控制1616的LED點(diǎn)陣屏顯示,需要32個端口。而采用了譯碼電路后僅僅需要7~9個端口便可實現(xiàn)控制顯示。大大減少了I/O口的占用數(shù)目,為單片機(jī)擴(kuò)展其他功能預(yù)留下來了空間。74LS164為一個8位數(shù)據(jù)的串并轉(zhuǎn)換器。當(dāng)清除端(CLEAR)為低電平時,輸出端(QA-QH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A、B任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當(dāng)A、B有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀態(tài)。表31 74LS164工作參數(shù)參數(shù)最小值標(biāo)準(zhǔn)值最大值單位高電平輸入電壓2——V低電平輸入電壓——V高電平輸出電壓V低電平輸出電壓—V時鐘頻率0—25MHZ這就要求單片機(jī)的引腳輸出的高低電平要在芯片的識別范圍內(nèi),由于采用了列選通行傳送顯示代碼的方法所以行譯碼電路上也加上了74L373鎖存芯片。這就要求74LS164芯片的輸出要滿足鎖存芯片的高低電平區(qū)分范圍和頻率要求。 鎖存器74L373由于74LS164芯片不具有鎖存功能,所以在74LS164進(jìn)行八位數(shù)據(jù)的串并轉(zhuǎn)換時,串行數(shù)據(jù)的第一位會從QA依次移位到QH,第二位數(shù)據(jù)會從QA依次移位到QG,依次類推在八位數(shù)據(jù)轉(zhuǎn)換完成之前74LS164芯片的輸出會出現(xiàn)一段時間的亂序輸出,這一結(jié)果會通過驅(qū)動電路表現(xiàn)在顯示屏上。結(jié)果就是顯示屏無序?qū)ㄩW爍,不能顯示所需內(nèi)容。因此在串并轉(zhuǎn)換完成前就需要74LS164的輸出口不與驅(qū)動電路導(dǎo)通。所以選擇鎖存器74LS373來完成這一功能。74LS373為八D鎖存器(3S,鎖存允許輸入有回環(huán)特性)。373為三態(tài)輸出的八D透明鎖存器,共有54/74S373和54/74LS373兩種線路結(jié)構(gòu)形式當(dāng)三態(tài)允許控制端OE為低電平時,O0~O7為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng)OE為高電平時,O0~O7呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時,O隨數(shù)據(jù)D而變。當(dāng)LE為低電平時,O被鎖存在已建立的數(shù)據(jù)電平。表32 74LS373工作參數(shù)表參數(shù)最小值額定值最大值單位電源電壓5V輸入高電平電壓2——V輸入低電平電壓——V輸出高電平電壓——-mA輸出低電平電壓——24mA由表與表比較可以看出,74LS164的輸出條件與74LS373的輸入條件相匹配,理論上可以實現(xiàn)鎖存器對譯碼器的數(shù)據(jù)鎖存。 驅(qū)動電路設(shè)計 行驅(qū)動電路設(shè)計發(fā)光二極管,LED(Light Emitting Diodes),即是在在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。 行驅(qū)動采用PNP三極管8550接法如圖34示:圖34 行驅(qū)動器件8550的接法8550為PNP型三極管,內(nèi)部結(jié)構(gòu)如圖35示。發(fā)射極e接5V電源,基極接譯碼信號輸出端,集電極接輸出驅(qū)動LED點(diǎn)陣屏。當(dāng)譯碼器端口輸出為低電平時,發(fā)射極與基極電勢差為5V-基極中帶負(fù)電的電子越過PN結(jié)擴(kuò)散到發(fā)射區(qū)。發(fā)射極產(chǎn)生和電子擴(kuò)散方向相反的電流,由于基極電子大量擴(kuò)散到發(fā)射極集電極電子擴(kuò)散到基極中形成了電流。當(dāng)譯碼器端口輸出高電平時發(fā)射極與基極之間的電勢差為5V--,由于發(fā)射極與基極之間電勢差的減少基極電子向發(fā)射極擴(kuò)散的電子數(shù)量減少故集電極電流也隨之減少。故8550在驅(qū)動電路中起到提供驅(qū)動電流和選通開關(guān)的作用。圖35 8550內(nèi)部結(jié)構(gòu)圖 列驅(qū)動電路設(shè)計列驅(qū)動采用ULN2803。ULN2803是一種高電壓大電流達(dá)林頓管陣列內(nèi)部結(jié)構(gòu)如圖,該陣列中的八個NPN達(dá)林頓連接晶體管是低邏輯電平數(shù)字電路(如TTL,CMOS或PMOS)和大電流高電壓的燈,繼電器,打印機(jī)錘和其他類似負(fù)載間的接口的理想器件。廣泛用于計算機(jī),工業(yè)和消費(fèi)類產(chǎn)品中。所有器件有集電極開路輸出和用于瞬變抑制的續(xù)流箝位二極管。集電極輸出功率可達(dá)50V600mA[13]。ULN2803作為列驅(qū)動執(zhí)行的是列選的工作,當(dāng)選通的列輸入高電平時其對應(yīng)的輸輸出低電平。相對應(yīng)的輸出取反,并能提供較大的灌電流來吸收行驅(qū)動流出進(jìn)過顯示屏后的電流。具體電路如圖37所示。圖37 列驅(qū)動原理圖 通信系統(tǒng)硬件設(shè)計AT89S51單片機(jī)具有全雙工串行UART通道,支持單片機(jī)進(jìn)行數(shù)據(jù)的串行傳輸。除了單片機(jī)要與PC機(jī)制定通信協(xié)議,確定發(fā)送速率外還需要解決的問題就是信號電平問題。RS232C標(biāo)準(zhǔn)規(guī)定了PC機(jī)發(fā)送數(shù)據(jù)總線TXD和接收數(shù)據(jù)總線RXD采用EIA電平,即傳送數(shù)字“1”時傳輸線上的電平在-3~-15V之間;傳送數(shù)字“0”時,傳輸線上的電平在+3~+15之間。但單片機(jī)串行口采用正邏輯TTL電平,即數(shù)字“1”時為+5V數(shù)字“0”時為5V,所以單片機(jī)與計算機(jī)不能直接相連進(jìn)行通信必須將RS232C與TTL電平進(jìn)行轉(zhuǎn)換[14]。在通用的電平轉(zhuǎn)換芯片中MAX232系列的芯片以集成度高,單+5V電源工作,只需外接5個小電容即可完成RS232C與TTL電平之間的轉(zhuǎn)換而成為單片機(jī)系統(tǒng)中的常用芯片。在該顯示系統(tǒng)中,MAX232為通信系統(tǒng)中最重要的硬件組成部分[15]。電路如圖38所示:圖38 串口通信系統(tǒng)電路圖 電源設(shè)計在系統(tǒng)中MAX2374LS1674LS37AT89S51都需要5V的供電電壓,在系統(tǒng)開發(fā)過程中可以使用電腦USB供電。在實際的大屏幕LED顯示屏設(shè)計中,用電腦USB供電明顯不切實際。此時需要對民用的220V進(jìn)行降壓整流為5V直流電壓為顯示系統(tǒng)供電。電路圖如圖39所示。圖39 電源原理圖如圖所示,用220V轉(zhuǎn)12V的變壓器進(jìn)行降壓后再通過一個橋式整流電路將交流電整流為直流電。最后通過5V三端穩(wěn)壓模塊LM7805得出穩(wěn)定的5V輸出。 級連大屏幕LED顯示屏 要實現(xiàn)LED的大屏幕顯示主要采用內(nèi)部譯碼器級連和多個單片機(jī)系統(tǒng)級連的方法。譯碼器級連如圖310所示 將第1個74LS164的Q7端接第2個74LS164的A端,將第2個74LS164的Q7端接第3個74LS164的A端,如此炮制當(dāng)N塊74LS164相級連時就變?yōu)橐粋€串行輸入7N口輸出的串并轉(zhuǎn)換器。這種級連的優(yōu)點(diǎn)在于一塊單片機(jī)可以同時控制更多的LED點(diǎn)陣顯示屏,且74LS164的價格低廉整體成本得到了降低。但是這種級連方法也存在一定的缺點(diǎn),51系列的單片機(jī)的晶振頻率不高74LS164級連過多會增加一次掃描的時間從而導(dǎo)致顯示出現(xiàn)閃爍。從端口輸出的顯示數(shù)據(jù)的顯示也要作出相應(yīng)的改變。圖310 74LSL64級連構(gòu)建大屏幕LED顯示屏的另一種方法是將以較小的LED顯示系統(tǒng)做為模塊進(jìn)行級連。如圖311所示,由獨(dú)立的LED顯示系統(tǒng)組成一個大的LED顯示系統(tǒng)。其中各子顯示系統(tǒng)之間在功能和控制上都是相互獨(dú)立的,將一幅大屏幕畫面拆分為幾塊小畫面再分別送入到各子系統(tǒng)中,各子系統(tǒng)同步顯示便可以得到一幅大的畫面。使用這種級連的辦法可以避免51單片機(jī)晶振頻率低的弱點(diǎn),更容易實現(xiàn)大屏幕的顯示。但這種方法仍然存在難點(diǎn),一是各獨(dú)立的子系統(tǒng)的通信和協(xié)調(diào)性要求更高了,如果要實現(xiàn)顯示內(nèi)容的實時性必須需要上位機(jī)不斷更新顯示內(nèi)容則增加了上位機(jī)的通信數(shù)據(jù)量,逐個的單片機(jī)傳送數(shù)據(jù)也會影響整個畫面的更新速度;二是成本提高了。圖311 由子系統(tǒng)構(gòu)建大屏幕LED顯示屏在實際應(yīng)用中通常采用內(nèi)部擴(kuò)展和外部級連聯(lián)合使用的方法來構(gòu)建大屏幕LED顯示屏幕。即增加單個顯示系統(tǒng)顯示屏幕大小的同時又將單個的顯示系統(tǒng)級連。詳細(xì)硬件原理圖見附錄1。 第4章 系統(tǒng)軟件設(shè)計 程序設(shè)計系統(tǒng)軟件采用C語言編寫,按照模塊化的設(shè)計思路設(shè)計。首先分析程序所要實現(xiàn)的功能,程序要實現(xiàn)串口通信,靜態(tài)顯示,動態(tài)顯示三大功能。其功能結(jié)構(gòu)如圖24所示。通信程序接收上位機(jī)數(shù)據(jù),交給主程序處理再通過控制程序選擇不同的顯示程序進(jìn)行顯示。 主程序的工作流程如圖41所示:系統(tǒng)初始化從顯示數(shù)組讀取數(shù)據(jù)到顯示寄存器讀取顯示控制命令選擇顯示方式調(diào)用相應(yīng)顯示程序RI=1?起始位?接收顯示數(shù)據(jù)及控制命令將顯示數(shù)據(jù)移入顯示數(shù)組將控制命令賦值給控制字符NNYY開 始中斷開始中 斷 返 回圖41 主程序流程圖程序開始時首先必須對單片機(jī)進(jìn)行初始化,其中初始化的內(nèi)容包括:中斷優(yōu)先級的設(shè)定,中斷初始化,串行通信時通信方式的選擇和波特率的設(shè)定,各IO口功能的設(shè)定等。初始化完成后程序進(jìn)入待機(jī)狀態(tài)等待中斷的發(fā)生,該程序中主要用到了兩個外部中斷源和串行中斷。外部中斷源由按鍵的電平變化觸發(fā),外部中斷主要功能是選擇LED點(diǎn)陣顯示屏的控制方式是由按鍵控制還是上位機(jī)控制和顯示狀態(tài)是靜態(tài)顯示還是動態(tài)顯示。串行中斷包括發(fā)送中斷和接收中斷都是由軟件觸發(fā)。中斷產(chǎn)生后由預(yù)先初始化時設(shè)定跳轉(zhuǎn)執(zhí)行中斷子程序。中斷程序設(shè)定了LED點(diǎn)陣顯示屏所要顯示的內(nèi)容和顯示的方式,最后執(zhí)行的是各種顯示程序。按照設(shè)定的方式和內(nèi)容顯示出所需要的內(nèi)容。 顯示程序的設(shè)計 LED顯示屏的顯示方式 LED點(diǎn)陣屏顯示方式主要由靜態(tài)顯示和動態(tài)掃描顯示兩種。 對靜態(tài)顯示來說,每一個發(fā)光二極管都需要一套驅(qū)動電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內(nèi)容,需要重新輸出新的點(diǎn)陣數(shù)據(jù).這種方式系統(tǒng)原理相對簡單一些,但所需的譯碼驅(qū)動裝量很多,引線多而繁雜,不便于大屏幕的制造,成本高,其可靠性也較低.另一種動態(tài)掃描顯示是把整個LED屏幕分成若干部分,每一幅畫面的顯示是顯示完一部分后,又顯示第二部分……直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進(jìn)行.在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面.也就是說采用動態(tài)掃描顯示需要不斷進(jìn)行畫面的刷新.在這種方式下其顯示驅(qū)動電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時的耗電量大大降低.大屏幕的制造、維護(hù)要容易許多,可靠性也增加了.兩種顯示方式的比較再結(jié)合51單片機(jī)IO口數(shù)量有限的原因決定采用動態(tài)掃描的方式進(jìn)行顯示。動態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的工作原理如圖42所示,先選通列然后再從行送入對應(yīng)列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時特性就可以看見一幅穩(wěn)定的畫面。圖42 掃描顯示程序原理圖 點(diǎn)陣數(shù)據(jù)表達(dá)方式該顯示系統(tǒng)的顯示數(shù)據(jù)采取縱向取模方向正向的數(shù)據(jù)存儲方式如圖43, 圖43 點(diǎn)陣數(shù)據(jù)原理圖 即數(shù)據(jù)是縱向的,一個像素對應(yīng)一個位。8個像素對應(yīng)一個字節(jié),字節(jié)的位順序是上高下低,比如從上到下8個點(diǎn)的狀態(tài)是“**”(*為黑點(diǎn),為白點(diǎn)),則轉(zhuǎn)換的字模數(shù)據(jù)是0x82(B1000_0010)。如圖(43)所示,一幅1616的點(diǎn)陣畫面點(diǎn)陣數(shù)據(jù)按照B1B2B3……B31B32存儲。所以一幅畫面的數(shù)據(jù)量為32字節(jié)。畫面顯示時選通的第i列對應(yīng)的數(shù)組元素為第i和i+16個元素[16]。 顯示程序的設(shè)計開 始 顯示程序分為靜態(tài)顯示程序、左移顯示、右移顯示、上移顯示、下移顯示五種種顯示方式。其中上下左右移動程序都調(diào)用了靜態(tài)顯示程序為子程序。靜態(tài)顯示程序流程圖如圖44所示: 讀取顯示數(shù)據(jù)依次選通列,行74LS164的CLOCK端置低,鎖存器禁止輸出對應(yīng)行數(shù)組元素與0X01相與,相與結(jié)果寫入單片機(jī)端口輸出數(shù)組元素右移一位,對應(yīng)74LS164 CLOCK端置高右移次數(shù)是否為8?鎖存器允許輸出初 始 化NY圖44 靜態(tài)顯示程序流程圖顯示采用的是列掃描的顯示方式,選通一列后按照列與數(shù)據(jù)元素的對應(yīng)關(guān)系第i列對應(yīng)的行數(shù)據(jù)為數(shù)組中的第i和第i+16個元素。將對應(yīng)元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與,所得結(jié)果通過單片機(jī)端口輸出到串并轉(zhuǎn)換器的A端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各列來顯示所需畫面[17]。圖45 左右移/上下移程序流程圖 動態(tài)顯示程序流程如圖45所示,根據(jù)顯示數(shù)據(jù)的存儲
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1