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

正文內(nèi)容

公交車自動報站系統(tǒng)(正文)-文庫吧資料

2025-06-02 23:44本頁面
  

【正文】 靠,成本低等特點,適合在每輛公交車上安裝??偨Y(jié) 本設(shè)計的是一個公交車報站24x24的點陣LED顯示屏,能夠在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。在聽不清報站的時候可以通過顯示屏確認(rèn)站點。在公交車上,經(jīng)常有誤報站的現(xiàn)象,在早晚高峰期,公交車內(nèi)擁擠,環(huán)境噪聲大,語音報站往往聽不清楚,影響報站,車箱內(nèi)的喇叭分布不均勻也容易造成乘客聽不清報站。加快城市公共交通事業(yè)的發(fā)展,也是加快城市化進(jìn)程的一項重要內(nèi)容。Proteus仿真如圖20所示。仿真過程中如有硬件問題可在Proteus ISIS中直接修改,如有軟件問題可在Keil μVision2中直接修改,通過Keil與Proteus的聯(lián)合調(diào)試就可以得到滿意的結(jié)果。在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,對AT89C51進(jìn)行設(shè)置,設(shè)置單片機(jī)時鐘頻率為12MHz。圖19 硬件實物電路圖 PROTEUS仿真Proteus仿真時,單片機(jī)需要加載程序。當(dāng)?shù)贸龉收显蚝螅屑?xì)檢查電路,用萬用表對焊點逐個檢測,最終檢測出來是第六列與電源線相連接才導(dǎo)致整個硬件電路出現(xiàn)故障。3. 檢測硬件電路時發(fā)現(xiàn)2424 LED點陣屏第六列常亮,且亮度比其他行都亮。1. 時常焊錯點陣屏管腳是因為點陣屏的管腳號和功能號是不對應(yīng)的,所以先仔細(xì)查看資料,然后用萬能表點個測量,確定各個管腳所對應(yīng)的功能號,并做相應(yīng)的記號以防焊接錯誤。3. 在硬件電路焊好后總體檢測時,2424LED點陣屏第六常亮,且亮度比其 它行都亮。下面為設(shè)計過程中遇到的主要問題:1. 焊接2424 LED點陣屏?xí)r管腳焊接錯誤。對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出現(xiàn)一處的錯誤,則會對整個電路帶來麻煩且對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導(dǎo)線,則會對電路造成短路現(xiàn)象。按鍵四的程序流程圖如圖18所示。NEXT4: CPL 0BH……………NEXT: JB KEY4,JIAN JNB KEY4,$ CPL 0DHNEXT1:JB 0DH , NEXT2 JNB 0BH, NEXT4 MOV DPTR,TAB2 CPL 0BH AJMP JIANNEXT2: JB 0CH ,NEXT3 MOV DPTR,TAB1 CPL 0CH AJMP JIANNEXT3:MOV DPTR,TAB3 CPL 0CHJIAN:…………進(jìn)入到按鍵四子程序后,首先判斷按鍵四是否被按下,沒有按下則直接跳到JIAN程序,即跳出按鍵四子程序,如果按下將標(biāo)志位0DH取反(0BH,0CH,0DH為標(biāo)志位,起始位低電平),進(jìn)入到程序NEXT1,判斷0DH是否為1,若為1跳到程序NEXT2,再判斷0CH是否為零,將表TAB1的地址賦予DPTR,再將0CH取反,跳到JIAN,即結(jié)束按鍵四的子程序。當(dāng)按第四次時,又恢復(fù)到第一個站名,接著依次類推,是一個循環(huán)的過程。所以根據(jù)硬件情況在本程序中的按鍵程序中有兩句是相同的,如下:JIAN: JB KEY3,Q_OUT ① JNB KEY3,$ ②第一句意思是KEY3為高電平,程序直接跳轉(zhuǎn)到 Q_OUT第二句意思是KEY3為低電平時,繼續(xù)執(zhí)行本條語句,直到按鍵釋放。根據(jù)硬件電路,當(dāng)按鍵沒有按下時,接按鍵的單片機(jī)接口處于高電平狀態(tài)。   第一句:MOV R6,5 在整個子程序中只被執(zhí)行一次,且為單周期指令,所以耗時1μs   第二句:MOV R7,190 從②看到④只要R61不為0,就會返回到這句,共執(zhí)行了R6次,共耗時190μs 第三句:DJNZ R5,F(xiàn)1 只要R51不為0,就反復(fù)執(zhí)行此句(內(nèi)循環(huán)R7次),又受外循環(huán)R6控制,所以共執(zhí)行R6*R7次,因是雙周期指令,所以耗時2*R6*R7μs。 2*R7 DJNZ R6,DELAY。 1 DELAY: MOV R7,190。利用以上三條指令的組合就可以比較精確地編寫出所需要的延時程序。 循環(huán)轉(zhuǎn)移指令(DJNZ )除了可以給定地址標(biāo)號讓其跳轉(zhuǎn)外,還可以將地址標(biāo)號改成$,這樣 程序就跳回本指令執(zhí)行。 (2)空操作指令 NOP 空操作指令功能只是讓單片機(jī)執(zhí)行沒有意義的操作,消耗一個機(jī)器周期。 (1)數(shù)據(jù)傳送指令 MOV 數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方復(fù)制、拷貝到另一個地方。例如在本設(shè)計中,列向的掃描要控制每列的掃描時間,還有所有的字移動有一定的時間間隔,而在所有的字移動一遍結(jié)束的一瞬間到下一遍移動開始的一瞬間要有延時,這時的延時可以和移動的時間相同以保持移動的連貫性,也可以不同作為每次從頭開始的停頓,在上述就可以通過延時程序來完成。在弄清延時程序指令的用法之前,要清楚的了解延時程序的基本概念,機(jī)器周期和指令周期的區(qū)別和聯(lián)系、相關(guān)指令的用法等。幀掃描子程序流程圖如圖17所示。系統(tǒng)初始化開始數(shù)據(jù)清零、顯示字?jǐn)?shù),賦字模初地址判斷按鍵和按鍵處理片選和列控制字賦初值調(diào)行數(shù)據(jù)傳送子程序掃描列使能延時子程序八列掃描完N取下一幀首地址字模地址改變24列掃描和數(shù)據(jù)傳輸完掃描次數(shù)到顯示字?jǐn)?shù)到Y(jié)NNNYYY圖16 主流程序圖 行數(shù)據(jù)傳輸子程序設(shè)計DPTR置數(shù)據(jù)表地址的基值,R2作地址指針,以兩者之和查找相應(yīng)的數(shù)據(jù),R2的初值為0,當(dāng)DPTR為表首地址時,在子程序的循環(huán)中R2從0加到3,取出顯示一列字符的全部字節(jié)并與列掃描配合逐列顯示,完成一幀掃描的全部操作。在主程序中使用DPTR地址寄存器作為地址取碼指針,通過查表將數(shù)據(jù)送行線作控制信號,而通過138連接的列線作掃描控制開關(guān)。最終點陣屏在視覺上的顯示效果是“沈”字慢慢向左邊移動,如圖15所示。接著將第一列的信息給第二十四列,第三列的信息給第二列,第四列的信息給第三列,依此類推,如圖14所示。原第二列由上到下排列,為1滅,2滅,3滅,4滅,5滅,7滅,8滅,9滅,10亮,1124滅。在本例中單片機(jī)首先將第二列的顯示信息給第一列,使第一行顯示圖像變成第二行所要顯示的。00H,7CH,00H,00H,04H,00H,00H,00H;豎直方向掃描圖13 2424點陣顯示字體 2424點陣LED顯示屏左跑馬顯示原理如果要在2424點陣屏以左跑馬的方式顯示以字體,則需以以下方式進(jìn)行顯示。按照這個方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個8位,可以得出漢字“沈”,它的掃描代碼為:00H,00H,00H,00H,80H,00H,00H,40H,40H,10H,70H,FEH;18H,03H,E0H,0CH,3CH,00H,01H,C0H,02H,00H,00H,04H;00H,80H,08H,07H,80H,18H,02H,00H。接著再顯示左邊部分的第一列的Q~X,從圖上可以看出Q~X都為滅,即二進(jìn)制00000000轉(zhuǎn)換為16進(jìn)制為00H。 左邊第一列A~H完成后,繼續(xù)掃描左邊的第一列,即從I向P方向掃描,從上圖可以看出,為I滅,J滅, K滅, L滅, M滅, N滅,O滅, P滅。A—H全是滅的。 在本例中單片機(jī)首先顯示的是左邊的第一列左上部分,即第一列的AH口。我們以顯示漢字的89C51單片機(jī)控制,由于單片機(jī)的總線為8位一個字需要拆分為3個部分。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。如果用 8位我們以UCDOS中文宋體字庫為例,每一個字由24行24列的點陣組成顯示。本設(shè)計應(yīng)用的是第二種的掃描方法,即豎直方向(Y方向)掃描。(2)豎直方向(Y方向)掃描,即逐行掃描方式(簡稱行掃描方式):此時用一個P口輸出決定哪一行能亮(相當(dāng)于位碼),另一個P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。LED點陣顯示模塊進(jìn)行的方式有兩種:(1)水平方向(X方向)掃描,即逐列掃描的方式(簡稱列掃描方式):此時用一個P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個P口輸出行碼(列數(shù)據(jù)),決定該行上那哪個LED亮(相當(dāng)于段碼)。對于列數(shù)據(jù)準(zhǔn)備來說,它應(yīng)能實現(xiàn)串入并出的移位功能。即在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù)。對于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時間可能相當(dāng)長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以致影響到LED的亮度。顯示數(shù)據(jù)傳輸采用串行傳輸?shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳往列驅(qū)動器,在硬件方面無疑是十分經(jīng)濟(jì)的。由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。圖12 單片機(jī)和按鍵連接電路圖第4章 系統(tǒng)軟件的設(shè)計 點陣顯示原理 2424點陣LED基本顯示原理LED驅(qū)動顯示采用動態(tài)掃描方法,動態(tài)掃描方式是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行的同名列共用一套列驅(qū)動器。、開/關(guān),速度的加減,下一個站名的功能。當(dāng)有按鍵按下時,系統(tǒng)產(chǎn)生中斷,CPU響應(yīng)中斷。這樣比鍵盤操作方便,也比較實惠。鍵盤的軟硬件的設(shè)計涉及下面幾個方面的問題:對于此設(shè)計來說我們要準(zhǔn)確的顯示我們所要對應(yīng)的信息,每按下一次按鍵要顯示所要顯示的信息。Row0~Row23為行數(shù)據(jù)端,COL0~COL16為列控制端,管腳分配方式如圖11所示。88點陣外觀及引腳如圖11所示??紤]到元器件的易購性,使用9塊88的點陣發(fā)光二極管模塊,組成了24行24列的發(fā)光點陣。88單色點陣共需要64個發(fā)光二極管組成,且每個二極管是放置在行線與列線的叉點上。目前應(yīng)用最廣的是紅色、綠色、黃色。圖10 74LS138管腳分配連接圖LED電子顯示屏是由幾萬—幾十萬個半導(dǎo)體發(fā)光二極管像素點均勻排列組成。當(dāng)E1為高電平,EE3為低電平時第一片譯碼器使能可控制(COL0~COL7)列,以此類推選擇列。圖9 74LS138管腳圖此列控制電路采用三片138和每個輸出端串聯(lián)一個1k的電阻起限流的作用,然后與P1口相連接作為顯示屏的列選擇線。圖8 74HC595串聯(lián)電路列控制器件74LS138是38譯碼器,它具有三個使能端,只有當(dāng)使能端S1為高電平,而S2與S3之和為低電平時,才能正常工作,輸出端低電平有效。然后用三片74HC595串聯(lián)起來組成行數(shù)據(jù)傳輸端,如圖8所示。圖7 74HC595外形及內(nèi)部結(jié)構(gòu)通常將OE置為低電平,當(dāng)移位結(jié)束后,在OE端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了,通常都選微秒級),更新顯示數(shù)據(jù);OE(13腳)指高電平時禁止輸出(高阻態(tài))。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。 移位寄存器和存儲器是分別的時鐘。74HC595是硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。如圖6所示。需要人工復(fù)位時,按下按鈕K,C通過K和R1放電,RESET端電位上升到高電平,實現(xiàn)人工復(fù)位,K松開后C重新充電,充電結(jié)束后,CPU重新工作,R1是限流電阻,阻值不可以放大,否則不能起到復(fù)位作用。在此我們?nèi)×说湫椭礡=10K,R1=1K,C=10uf。圖5 人工復(fù)位電路我們采用放電型人工復(fù)位電路,如圖所示,上電時C通過R充電維持寬度大于10ms的正脈沖,完成上復(fù)位功能。人工復(fù)位電路另外采用一個按鈕來給RESET端加上高電平信號。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,停止芯片其它功能直至硬件復(fù)位,直到下一個硬件復(fù)位為止。在閑置模式下,CPU停止工作。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。石晶振蕩和陶瓷振蕩均可采用。XTAL1和XTAL2分別為反向放大器的輸入和輸出。如果加密位被編程了,AT89C52的CPU將對EA的狀態(tài)進(jìn)行采樣并鎖存,EA的狀態(tài)不得與實際使用的內(nèi)部或外部程序存儲器的狀態(tài)發(fā)生矛盾。ALE/PROG端除輸出地址鎖存允許脈沖外,在編程期間還作為編程脈沖輸入端,參與控制對FLASH存儲器的讀,寫,加密,擦除等操作。圖4 AT89C52封裝AT89C52單片機(jī)為40引腳雙列直插芯片,有32個外部雙向輸入/輸出端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。 各單元電路說明 單片機(jī)主控模塊設(shè)計1. AT89C52單片機(jī)介紹AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有8K bytes的可反復(fù)擦寫的只讀程序存儲器和256的隨機(jī)存取數(shù)據(jù)存儲器,器件采用AEMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng),片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域。故采用方案二。方案二:由74HC595構(gòu)成,74HC595是具有一個8位串入并出的移位寄存器和
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1