【正文】
空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。低功耗空閑和掉電模式32個(gè)可編程I/O口線1000次擦寫周期LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。LED顯示屏顯示畫面色彩鮮艷,立體感強(qiáng),靜如油畫,動(dòng)如電影,廣泛應(yīng)用于金融、稅務(wù)、工商、郵電、體育、廣告、廠礦企業(yè)、交通運(yùn)輸、教育系統(tǒng)、車站、碼頭、機(jī)場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。The Powerdown mode saves the RAM contents but freezes the oscillator,disabling all other chip functions until the next interrupt or hardware reset。The onchip Flash allows the programmemory to be reprogrammed insystem or by a conventional nonvolatile memory bining a versatile 8bit CPU with in system programmable Flash on a monolithicchip,the Atmel AT89S51 is a powerful icrocontroller which provides a highlyflexible and costeffective solution to many embedded control applications。LED the development prospect,is currently towards a higher brightness,higher resistance to climate,higher and higher light shine density evenness,reliability,the direction of development。s and other public places。 } }}}附錄 5: 外文參考資料翻譯LED(Light Emitting Diode),lightemitting diode,is a solid state semiconductor devices, which can be directly converted into electricity to light。k32。 sdisplay_up()。u39。 } case 39。 } x=1。l++) ziku[l]=Bmp019[l]。 EA=1。 TR1=1。 //顯示允許位 為特效允許位 ES=1。 //允許啟用外部中斷 EX0=1。 m=0。 ziku[n]=temp。 temp=temp|ziku[n+16]。k++) { for(n=0。 l=1。 m=0。 ziku[n]=temp。 temp=temp|ziku[n+16]。k++) { for(n=0。 l=1。 z=0。 m。 m=30。 CLEAR_H=0。 L2=1。W==1) A4=0。 if(L1amp。 L2==0x00) continue。 OE=1。 CLK_L=1。i16。 CLEAR_L=0。 TI=0。k34。RI==0) { mand=buffer[34]。 else point=0。 else point=0。 TI=0。unsigned char code Bmp019[]= //靜態(tài)顯示內(nèi)容{/* 源文件 / 文字 : 壽 寬高(像素): 1616 字模格式/大小 : 單色點(diǎn)陣液晶字模,縱向取模,字節(jié)正序/32字節(jié) 數(shù)據(jù)轉(zhuǎn)換日期 : 2007531 16:26:59*/0x00,0x22,0x22,0x2A,0x2A,0x2A,0x2F,0xFA,0x2A,0x2A,0x2A,0x2B,0x2A,0x2A,0x22,0x00,0x04,0x04,0x08,0x10,0x20,0xC0,0x20,0x5C,0x48,0x42,0x41,0xFE,0x40,0x40,0x40,0x00}。char z,l,m,n,x。sbit OE=P2^2。 //列清除控制位 低電平有效sbit CLK_H=P1^6。 // 第二列 sbit A3=P1^4。(AN 14525210).附錄 1: 硬件原理圖附錄 2: 原器件清單Part TypeDesignatorFootprintDescription100pfC1Capacitor100pfC2Capacitor100pfC3Capacitor100pfC4Capacitor30pfC5Capacitor30pfC6Capacitor1KR11KR21KR31KR41KR51KR61KR71KR81KR91KR101KR111KR121KR131KR141KR151KR161KR171KR181KR191KR201KR211KR221KR231KR241KR251KR261KR2750KRESSIP35VBT1Battery85506TO46PNP Transistor85507TO46PNP Transistor85508TO46PNP Transistor85509TO46PNP Transistor855010TO46PNP Transistor855011TO46PNP Transistor85506TO46PNP Transistor855012TO46PNP Transistor855013TO46PNP Transistor855014TO46PNP Transistor855015TO46PNP Transistor855016TO46PNP Transistor855017TO46NPN Transistor855018TO46PNP Transistor855019TO46PNP Transistor855020TO46PNP Transistor855021TO46NPN TransistorAY89S51U2DIP40CRYSTALY1XTAL1CrystalSWPB1HD1SWPB2HD1SWPB3HD1MAX232ACPEU1DIP16D Connenctor 9J1SIP11SN74LS164NU2DIP14SN74LS373U6DIP20ULN2803U8DIP18附錄 3: 系統(tǒng)PCB圖附錄 4: 程序清單//主程序主要為各功能子程序提供運(yùn)行平臺(tái),子程序分為顯示程序,特效顯示程序,//按鍵輸入中斷子程序//include//include //include include//includedefine COUNT 34define W 0X01unsigned char buffer[COUNT]。我所在的實(shí)驗(yàn)室的同學(xué),我也要感謝你們。我相信通過此次設(shè)計(jì)所得到的知識、心得、經(jīng)驗(yàn)?zāi)酥粮惺芏紩?huì)讓我在以后的日子里受益匪淺。隨著課題的進(jìn)行,對LED的了解也越來越深入。在查閱了大量的大屏幕顯示屏資料后確定了題目的設(shè)計(jì)方案。通過這次設(shè)計(jì)收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實(shí)際經(jīng)驗(yàn)和過程中所發(fā)現(xiàn)的問題。為了減小軟件的修改和優(yōu)化難度,先把各子程序?qū)憺橐粋€(gè)可單獨(dú)執(zhí)行的完整程序。程序開始進(jìn)入中斷等待,當(dāng)向單片機(jī)發(fā)送數(shù)據(jù)時(shí)產(chǎn)生中斷接收允許位RI置1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進(jìn)行數(shù)據(jù)處理。程序設(shè)計(jì)時(shí)還要考慮到中斷優(yōu)先級的問題。CPU屏蔽所有中斷。編程時(shí)通過設(shè)置其狀態(tài)來管理中斷系統(tǒng)。所以將元素?cái)?shù)據(jù)進(jìn)行邏輯位移便能產(chǎn)生上下移動(dòng)的效果[18]。所以當(dāng)ULN2803選通時(shí),而送入后一列的數(shù)據(jù)則相當(dāng)于畫面左移移位,同理送入前一列數(shù)據(jù)相當(dāng)于右移一位。將對應(yīng)元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與,所得結(jié)果通過單片機(jī)端口輸出到串并轉(zhuǎn)換器的A端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。畫面顯示時(shí)選通的第i列對應(yīng)的數(shù)組元素為第i和i+16個(gè)元素[16]。從數(shù)據(jù)中讀取第1列對應(yīng)的行數(shù)據(jù)從數(shù)據(jù)中讀取第16列對應(yīng)的行數(shù)據(jù)從數(shù)據(jù)中讀取第2列對應(yīng)的行數(shù)據(jù)選通第1列選通第2列選通第16列16*16LED16*16LED16*16LED選通LED第1列選通LED第2列選通LED第16列按數(shù)據(jù)導(dǎo)通相應(yīng)行按數(shù)據(jù)導(dǎo)通相應(yīng)行按數(shù)據(jù)導(dǎo)通相應(yīng)行讀取所需要顯示的數(shù)據(jù)至顯示寄存器圖42 掃描顯示程序原理圖 點(diǎn)陣數(shù)據(jù)表達(dá)方式該顯示系統(tǒng)的顯示數(shù)據(jù)采取縱向取模方向正向的數(shù)據(jù)存儲(chǔ)方式如圖43, 圖43 點(diǎn)陣數(shù)據(jù)原理圖 即數(shù)據(jù)是縱向的,一個(gè)像素對應(yīng)一個(gè)位。 顯示程序的設(shè)計(jì) LED顯示屏的顯示方式 LED點(diǎn)陣屏顯示方式主要由靜態(tài)顯示和動(dòng)態(tài)掃描顯示兩種。串行中斷包括發(fā)送中斷和接收中斷都是由軟件觸發(fā)。通信程序接收數(shù)據(jù),交給主程序處理再通過控制程序選擇不同的顯示程序進(jìn)行顯示。詳細(xì)硬件原理圖見附錄1。使用這種級連的辦法可以避免51單片機(jī)晶振頻率低的弱點(diǎn),更容易實(shí)現(xiàn)大屏幕的顯示。從端口輸出的顯示數(shù)據(jù)的顯示也要作出相應(yīng)的改變。 級連大屏幕LED顯示屏要實(shí)現(xiàn)LED的大屏幕顯示主要采用內(nèi)部譯碼器級連和多個(gè)單片機(jī)系統(tǒng)級連的方法。此時(shí)需要對民用的220V進(jìn)行降壓整流為5V直流電壓為顯示系統(tǒng)供電。在通用的電平轉(zhuǎn)換芯片中MAX232系列的芯片以集成度高,單+5V電源工作,只需外接5個(gè)小電容即可完成RS232C與TTL電平之間的轉(zhuǎn)換而成為單片機(jī)系統(tǒng)中的常用芯片。相對應(yīng)的輸出取反,并能提供較大的灌電流來吸收行驅(qū)動(dòng)流出進(jìn)過顯示屏后的電流。廣泛用于計(jì)算機(jī),工業(yè)和消費(fèi)類產(chǎn)品中。當(dāng)譯碼器端口輸出高電平時(shí)發(fā)射極與基極之間的電勢差為5V--,由于發(fā)射極與基極之間電勢差的減少基極電子向發(fā)射極擴(kuò)散的電子數(shù)量減少故集電極電流也隨之減少。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。當(dāng)LE為低電平時(shí),O被鎖存在已建立的數(shù)據(jù)電平。74LS373為八D鎖存器(3S,鎖存允許輸入有回環(huán)特性)。 圖33 行譯碼電路圖 鎖存器74L373由于74LS164芯片不具有鎖存功能,所以在74LS164進(jìn)行八位數(shù)據(jù)的串并轉(zhuǎn)換時(shí),串行數(shù)據(jù)的第一位會(huì)從QA依次移位到QH,第二位數(shù)據(jù)會(huì)從QA依次移位到QG,依次類推在八位數(shù)據(jù)轉(zhuǎn)換完成之前74LS164芯片的輸出會(huì)出現(xiàn)一段時(shí)間的亂序輸出,這一結(jié)果會(huì)通過驅(qū)動(dòng)電路表現(xiàn)在顯示屏上。當(dāng)A、B任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。大大減少了I/O口的占用數(shù)目,為單片機(jī)擴(kuò)展其他功能預(yù)留下來了空間。行譯碼所用器件為串并轉(zhuǎn)換器74LS164和鎖存器74LS373。因?yàn)闆]有擴(kuò)展外部程序存儲(chǔ)器所以將EA置為高電平。具體接法為:,向74LS164送入串行數(shù)據(jù)經(jīng)過其轉(zhuǎn)換后并行輸出;,產(chǎn)生移位脈沖是串行數(shù)據(jù)并行輸出;,在一組數(shù)據(jù)完成串并轉(zhuǎn)換后清除164芯片中的內(nèi)容轉(zhuǎn)換新的數(shù)據(jù);。AT89S51的最小系統(tǒng)包括了外界時(shí)鐘電路和復(fù)位電路,選定一定數(shù)量的I\O口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。同時(shí),AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。中斷可從空閑模喚醒系統(tǒng)2個(gè)