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

正文內(nèi)容

基于51單片機的led點陣顯示屏系統(tǒng)的設計與實現(xiàn)設計-資料下載頁

2025-06-28 00:32本頁面
  

【正文】 05。168。LED181。218。16193。208。209。161。205。168。LED181。218。1193。208。209。161。205。168。LED181。218。2193。208。176。180。202。253。190。221。181。188。205。168。207。224。166。 176。180。202。253。190。221。181。188。205。168。207。224。166。 176。180。202。253。190。221。181。188。205。168。207。224。166。圖 42 掃描顯示程序原理圖 點陣數(shù)據(jù)表達方式該顯示系統(tǒng)的顯示數(shù)據(jù)采取縱向取模方向正向的數(shù)據(jù)存儲方式如圖 43, 圖 43 點陣數(shù)據(jù)原理圖 即數(shù)據(jù)是縱向的,一個像素對應一個位。8 個像素對應一個字節(jié),字節(jié)的位順序是上高下低,比如從上到下 8 個點的狀態(tài)是“**”(*為黑點,為白點),則轉(zhuǎn)換的字模數(shù)據(jù)是 0x82(B1000_0010)。如圖(43) 所示,一幅 1616 的點陣畫面點陣數(shù)據(jù)按照 B1B2B3……B31B32 存儲。所以一幅畫面的數(shù)據(jù)量為 32 字節(jié)。畫面顯示時選通的第 i 列對應的數(shù)組元素為第 i 和 i+16 個元素 [16]。 顯示程序的設計 顯示程序分為靜態(tài)顯示程序、左移顯示、右移顯示、上移顯示、下移顯示五種種顯示方式。其中上下左右移動程序都調(diào)用了靜態(tài)顯示程序為子程序。靜態(tài)顯示程序流程圖如圖 44 所示: 圖 44 靜態(tài)顯示程序流程圖顯示采用的是列掃描的顯示方式,選通一列后按照列與數(shù)據(jù)元素的對應關系第讀取顯示數(shù)據(jù)依次選通列,行 74LS164 的CLOCK 端置低,鎖存器禁止輸出對應行數(shù)組元素與 0X01 相與,相與結(jié)果寫入單片機端口輸出數(shù)組元素右移一位,對應74LS164 CLOCK 端置高右移次數(shù)是否為 8?鎖存器允許輸出初 始 化NY開 始i 列對應的行數(shù)據(jù)為數(shù)組中的第 i 和第 i+16 個元素。將對應元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與 0X01 相與,所得結(jié)果通過單片機端口輸出到串并轉(zhuǎn)換器的 A 端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各列來顯示所需畫面 [17]。207。212。 202。190。207。212。202。190。253。233。212。170。203。216。218。202。253。233。214。208。181。196。206。187。214。195。199。176。/186。243。210。198。187。206。182。193。200。235。207。212。202。190。253。233。NY207。212。 202。190。207。212。202。190。253。233。212。170。203。216。194。223。188。243。/211。210。198。187。206。210。198。206。187。180。206。202。253。199。241。170。16182。193。200。235。207。212。202。190。253。233。NY191。170。 202。188。 191。170。 202。188。210。198。206。187。180。206。202。253。199。241。170。16圖 45 左右移/上下移程序流程圖 動態(tài)顯示程序流程如圖 45 所示,根據(jù)顯示數(shù)據(jù)的存儲原理通過改變實際 LED列與數(shù)據(jù)邏輯列的方法來實現(xiàn)程序的左右移動。顯示數(shù)據(jù)與列的對應關系為:第 i列對應的數(shù)據(jù)為數(shù)組中 i 和第 2i 個數(shù)據(jù)。所以當 ULN2803 選通時,而送入后一列的數(shù)據(jù)則相當于畫面左移移位,同理送入前一列數(shù)據(jù)相當于右移一位。如此循環(huán)則產(chǎn)生一幅穩(wěn)定運動的畫面。 顯示數(shù)組中,第 1 至 16 個元素的第 8 至第 1 位 LED 顯示屏中的第 1 至第 8 行。同理第 17 至 32 個元素的第 8 至第 1 位 LED 顯示屏中的第 9 至第 16 行。所以將元素數(shù)據(jù)進行邏輯位移便能產(chǎn)生上下移動的效果 [18]。 通信程序的設計系統(tǒng)采用串行中斷的方式進行通信。MCS51 單片機的五個中斷源兩種類型:一類是外部中斷源;另一類是內(nèi)部中斷源,包括兩個定時器/計數(shù)器(T0 和 T1)的溢出中斷和串行口的接收和發(fā)送中斷。MCS51 單片機設置了 4 個專用寄存器用于中斷控制,分別為定時器控制寄存器(TCON) ,串行口中斷控制器( SCON) ,中斷允許控制寄存器(IE ) ,中斷優(yōu)先級控制寄存器(IP) 。編程時通過設置其狀態(tài)來管理中斷系統(tǒng)。在編輯中斷程序時首先是將中斷控制寄存器(IE)初始化。其控制位分布如表。EA 為中斷允許總控制位,EA=1 時 CPU 開發(fā)中斷;EA=1 時。CPU 屏蔽所有中斷。ES、ET 、EXET0 、EX0 為對應的串行口中斷、定時器 /計數(shù)器 1 中斷、外部中斷1 中斷、定時器/計數(shù)器 0 中斷、外部中斷 0 中斷的中斷允許位。對應位為 1 時允許其中斷,對應位為 0 時,禁止其中斷。表 41 中斷允許寄存器格式 所以初始化時設定中斷允許寄存器初值為 0XFF,指令為 IE=0XFF。程序設計時還要考慮到中斷優(yōu)先級的問題。因為不同的中斷同時產(chǎn)生而 CPU 響應的順序取決于內(nèi)部查詢順序。設置串口工作方式 1,波特率 9600,計算可得計數(shù)器初值的十六進制表示為0XFD。通信協(xié)議如表 42 所示:表 42 串口通信數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 第 1 個字節(jié) 第 2 至第 33 個字節(jié) 第 34 個字節(jié)內(nèi)容 起始標志位‘S’ 顯示數(shù)據(jù) 控制指令作用 判斷是否開始接收數(shù)據(jù) LED 的顯示內(nèi)容 控制 LED 顯示方式具體串口中斷程序流程圖如圖 46 所示,在主程序中先進行了串行中斷的初始化,初始化內(nèi)容包括了串行工作方式選擇,波特率的設定,計數(shù)初值的設定。程序開始進入中斷等待,當 PC 機向單片機發(fā)送數(shù)據(jù)時產(chǎn)生中斷接收允許位 RI 置 1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進行數(shù)據(jù)處理。首先判斷數(shù)據(jù)是否設定的起始標志位‘S’如果是則開始接收起始位后的 33 個字節(jié),不是則中斷返回繼續(xù)等待。接收到第 34 個字節(jié)后便將收到的數(shù)據(jù)發(fā)送回 PC 機進行驗證比較。D7 D6 D5 D4 D3 D2 D1 D0EA — — ES ET1 EX1 ET0 EX0 圖 46 通信程序流程圖所有軟件編寫完成后都必須經(jīng)過編譯才能被單片機識別使用。為了減小軟件的修改和優(yōu)化難度,先把各子程序?qū)憺橐粋€可單獨執(zhí)行的完整程序。各子程序編譯沒有錯誤后再輸入單片機進行驗證,這兩項都通過后再將所有的程序整合到一起形成一個完整的程序再進行編譯和驗證。詳細程序見附錄 2。RI=1?接收串口數(shù)據(jù)起始位‘S’接收起始位后 33 位數(shù)據(jù)接收到第 34 位?將第 2 位起的 32位數(shù)據(jù)發(fā)回 PC 機NNNYYY中斷開始中斷返回第 5 章 系統(tǒng)調(diào)試硬件制作和軟件編寫過后,得出實物如圖 51 所示。實物完成后必須對其進行調(diào)試,檢查設計功能是否實現(xiàn)了。軟件硬件完成后開始進行調(diào)試。調(diào)試可分為硬件調(diào)試,軟件調(diào)試和系統(tǒng)聯(lián)合調(diào)試。圖 51 實物圖 系統(tǒng)硬件部分調(diào)試方法硬件調(diào)試主要是調(diào)試各部分的焊接是否合格和各芯片的輸出輸入電壓是否符合設計要求,最后測試各硬件部分能否完成設計功能。因此把硬件調(diào)試按照以下四部分分步來進行:(1)測試所有焊點是否有短路和虛焊的現(xiàn)象存在;(2)通電測試所有硬件芯片的輸入輸出電壓是否在設計要求的范圍內(nèi);(3)測試 ISP 下栽線的功能是否能夠?qū)崿F(xiàn);(4)測試串口系統(tǒng)的通信功能是否能夠?qū)崿F(xiàn)。由于最重要的顯示系統(tǒng)功能的測試需要軟件配合所以在硬件調(diào)試部分只測試單片機復位電平,功能部分測試放在系統(tǒng)聯(lián)合調(diào)試部分來完成。 短路與虛焊檢測 檢測工具為萬用表,使用萬用表的短路報警功能,逐個測試相臨的兩個焊點檢測是否短路。按照電路圖檢測需要連接的兩點是否短路來檢測是否已經(jīng)連接上,以此來檢測虛焊的情況。檢測和修改完成后為下一步通電檢測排除了短路的危險和由于虛焊引起檢測結(jié)果不真實的麻煩。 上電測試由于系統(tǒng)測試時是采用 USB 電源為系統(tǒng)電源,所以電源輸入都為 5V。顯示系統(tǒng)中單片機、譯碼器,鎖存器,驅(qū)動電路的電源電壓均要求為 5V 所以可同時直接接入。上電后首先觀察電路是否有過熱,異味,冒煙的現(xiàn)象出現(xiàn)。經(jīng)過觀察,沒有這些現(xiàn)象出現(xiàn)。然后測試各器件的電源,接地及一些電平應該固定的端口的電壓。測試的結(jié)果為:各器件電源端在 ~ 之間滿足器件的電源電壓要求,單片機端口在未接負載時端口電壓為 。 串口調(diào)試串口部分的作用為單片機與 PC 機之間通信,要檢查硬件是否正常工作可以采用將 MAX232 芯片的單片機端輸出口與輸入口直接相連的辦法來測試。具體電路圖如圖 52 所示,將 MAX232 的第 10 端和第 9 端直接短接。功能上表示將單片機的輸出口與輸入口直接相連,單片機收到數(shù)據(jù)的同時就將數(shù)據(jù)發(fā)送回 PC 機。如果發(fā)送的數(shù)據(jù)能夠被接收則證明串口通信部分的硬件是正常的。 【19】 將串口與電腦 COM1相接,通過串口調(diào)試助手發(fā)送不同位數(shù)的數(shù)據(jù)再在把發(fā)送的數(shù)據(jù)與接收數(shù)據(jù)相比較。C1+1 VDD 2C13C2+4C25VEE 6T2OUT 7R2IN 8R2OUT9T2IN10T1IN11R1OUT12 R1IN 13T1OUT 14GND15VCC 165MAX232ACPE12345678911101D Connector 9C1104C2104C3104C4104VCC TX RXVCC圖 52 串口硬件調(diào)試 系統(tǒng)軟件調(diào)試方法由于已經(jīng)進行了硬件調(diào)試,所以軟件調(diào)試主要是軟件編譯和將各功能塊程序分別寫入以驗證其功能的可實現(xiàn)性。在進行功能調(diào)試前必須用 KEIL C 對所有程序進行編譯, 后方可進行功能測試。其中測試串口程序的功能是否完善不但要連接單片機系統(tǒng)還要借助串口調(diào)試工具。串口調(diào)試工具選用的是串口調(diào)試助手,其功能是按照設定的串口、波特率向單片機發(fā)送數(shù)據(jù)和接收單片機向 PC 機發(fā)送的數(shù)據(jù)。并且能把發(fā)送和接收的數(shù)據(jù)內(nèi)容顯示在狀態(tài)欄內(nèi)。因此只要設定 PC 機向單片機發(fā)送的內(nèi)容和單片機向 PC 機發(fā)送的內(nèi)容就可以通過串口調(diào)試助手驗證串口通信是否準確,是否滿足功能要求。串口程序的設計為:設定波特率位 9600,以 0XAA 為起始標志位,單片機接收自起始標志位后的 32 位十六進制數(shù)再發(fā)送會 PC 機。測試程序時設定波特率為9600,選擇串口 1,無校驗,8 位數(shù)據(jù)。PC 機向單片機發(fā)送的內(nèi)容為 aa 11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff。PC 機收到的數(shù)據(jù)為 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF。測試表明串口程序和串口電路實現(xiàn)了設計目的。再進行數(shù)次不同數(shù)據(jù)的發(fā)送,接收到的數(shù)據(jù)也驗證了設計要求的實現(xiàn)。圖 53 串口調(diào)試圖串口程序測試成功后為顯示程序提供了準確的顯示內(nèi)容。余下得各種顯示程序和中斷程序都編譯成功后只有聯(lián)合硬件才能驗證其功能的可行性。 系統(tǒng)聯(lián)合調(diào)試及結(jié)果經(jīng)過硬件調(diào)試和軟件調(diào)試,排除了硬件的連接問題和驗證了串口功能的可實現(xiàn)性。其余功能的軟件便可以在此基礎上調(diào)試驗證其功能的正確性。聯(lián)合調(diào)試的具體方法如下:(1)編寫一個逐點掃描的顯示程序,再結(jié)合硬件電路運行。這樣做的目的在于檢測各器件是否能夠正常運行和顯示屏的各個 LED 燈是否有損壞。結(jié)果顯示顯示屏中只有邊角出有一個 LED 燈被燒壞,其他器件邏輯功能運行正常。(2)將靜態(tài)顯示子程序與各種動態(tài)顯示程序結(jié)合硬件電路進行調(diào)試。系統(tǒng)運行時顯示如圖 51 所示,顯示圖像比較清晰,各動態(tài)顯示效果也能夠?qū)崿F(xiàn)。但顯示存在兩個問題。一是發(fā)光點的下方會出現(xiàn)一個很微弱的亮點,影響了整體的顯示效果。二是同一列的 LED 燈被點亮的數(shù)量與其亮度出反比,即如果同一列的燈都被點亮則亮度比只點亮幾個時要暗一點。(3)將串口通信,顯示,硬件聯(lián)合調(diào)試。按照設定的通信協(xié)議,先由 PC 機向單片機發(fā)送起始控制字 s,接著再發(fā)送 32 比特的顯示數(shù)據(jù),最后發(fā)送控制顯示方式的顯示控制字。再發(fā)送不同的顯示數(shù)據(jù)和顯示控制字,觀察各種顯示方式的運行情況和各種顯示方式之間的切換情況。結(jié)果是顯示屏執(zhí)行顯示控制指令,顯示所發(fā)送的內(nèi)容。 調(diào)試結(jié)果分析對調(diào)試中出現(xiàn)的問題進行了分析,得出以下原因和修改辦法。(1)硬件的工作表現(xiàn)出不穩(wěn)定,主要是表現(xiàn)在 LED 顯示屏的驅(qū)動電路部分和單片機系統(tǒng)部分。具體表現(xiàn)為單片機接負載后電壓被拉低值 左右,無法滿足譯碼電路的輸入要求。顯示時會有一些行驅(qū)動的輸出不夠設計指標 ,導致所驅(qū)動的那一行在顯示屏上表現(xiàn)為選定的點不能夠很好區(qū)分,圖像出現(xiàn)模糊。分析造成這一現(xiàn)象的原因為,焊接時三極管 8550 遭到了高溫損壞以致工作不穩(wěn)定和焊接的電路不夠牢靠,還有就是 8550 的 e 端所接電壓過高。修改辦法為將單片機輸出端口外接 5K 的上拉電阻,替換損壞三極管。(2)虛點的產(chǎn)生與軟件和三極管電壓有關。修改辦法是將軟件中的延時時間調(diào)至恰當值,將 8550 的 e 端電壓降至 3V 左右。經(jīng)過調(diào)試和修改,系統(tǒng)實現(xiàn)了題目所要求的中英文顯示,動態(tài)顯示及上位機通信與控制的要求。 結(jié) 論經(jīng)過一段時間的工作,終于完成了基于 51 單片機的 LED 顯示系統(tǒng)的設計,項目所要求的功能全部達到。通過這次設計收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實際經(jīng)驗和過程中所發(fā)現(xiàn)的問題。接手題目之后從互聯(lián)網(wǎng)上對 LED 進行了詳細的資料收集,從技術和產(chǎn)業(yè)的兩方面對 LED 進行了了解。通過了解我認識到 LED 是一門當今應用非常廣泛的技術,整個產(chǎn)業(yè)每年都會有巨大的產(chǎn)值而且技術還在不斷發(fā)展和創(chuàng)新 [20]。從設計之初就確定了參照大屏幕顯示屏的實現(xiàn)方法和實際情況設計一款小屏幕的 LED
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1