資源描述:
《eda課程設(shè)計(jì)--1616字符發(fā)生器》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、EDA課程設(shè)計(jì)-----16X16字符發(fā)生器學(xué)院:阜陽師范學(xué)院專業(yè):電子信息科學(xué)與技術(shù)班級:08級電子一班時間:2010年12月1日12一.設(shè)計(jì)任務(wù)及要求1.設(shè)計(jì)任務(wù):利用實(shí)驗(yàn)箱上16X16點(diǎn)陣,設(shè)計(jì)字符發(fā)生器,可以循環(huán)顯示預(yù)置字符:同心協(xié)力。2.設(shè)計(jì)要求:(1)利用VHDL編寫字符掃描驅(qū)動電路;(2)設(shè)計(jì)一個可以自動循環(huán)顯示4個字符的電路;(3)編寫預(yù)置字符的rom程序生成模塊接入電路。二.總體框圖行選線產(chǎn)生信號發(fā)光二極管顯示屏列選線產(chǎn)生電路EPROM存儲器地址計(jì)數(shù)器時鐘脈沖源設(shè)計(jì)思路:此電路由八進(jìn)
2、制計(jì)數(shù)器,ROM和ADDRESS1這三部分構(gòu)成。ADDRESS1的作用是在時鐘clk的作用下將從rom中讀出的信號對應(yīng)正確的寫在16×16的點(diǎn)陣上。Reset是復(fù)位端,起復(fù)位作用。輸出addr[4..1]選中16X16LED點(diǎn)陣的對應(yīng)列,隨著addr[4..1]值得增加,從左往右依次選中點(diǎn)陣的各列addr0則決定輸出是在高位還是在低位。FLEX10的lout0-7和hout0-7分別與LED點(diǎn)陣的低八位L0-7和高八位L8-15相連。八進(jìn)制計(jì)數(shù)器是在addr[7..0]輸出0-3的循環(huán)計(jì)數(shù),由此輸出與
3、ADDRESS1的輸出addr[4..0]共同作為rom的輸入地址,以此決定q[7..0]的輸出(即ADDRESS1的DIN[7..0]的輸入),此八進(jìn)制計(jì)數(shù)器是由74LS160十進(jìn)制計(jì)數(shù)器修改得來的,輸出由原來十進(jìn)制的0-9循環(huán)輸出變?yōu)榘诉M(jìn)制的0-3循環(huán)輸出。12Rom是一個用來存儲數(shù)據(jù)的具有讀寫功能的的存儲器,在此電路中的作用是存儲“同心協(xié)力”四個字.在addr[7..0]輸入相應(yīng)的地址時讀取rom中的相應(yīng)的數(shù)據(jù),然后在輸出端q[7..0]輸出。在時鐘脈沖的作用下,地址計(jì)數(shù)器計(jì)數(shù),EPROM相對應(yīng)
4、的地址單元中的代碼輸出,以驅(qū)動列選通線產(chǎn)生電路。地址計(jì)數(shù)器同時又為行選通線產(chǎn)生電路。地址隨著地址計(jì)數(shù)器計(jì)數(shù)值的變化,發(fā)光二極管顯示屏逐行掃描,顯示屏上顯示出字符或圖案。各模塊功能:1)ROM是只讀存儲器存放字符的代碼,他是字符顯示器的核心部件。2)發(fā)光二極管顯示屏用來顯示字符或圖案,他是由若干發(fā)光二極管組成的點(diǎn)陣式顯示屏。3)ADDRESS1的作用是在時鐘clk的作用下將從ROM256*8中讀出的信號對應(yīng)正確的寫在16×16的點(diǎn)陣上。三.選擇器件與功能模塊1.用來構(gòu)成輸出八進(jìn)制的74LS160十進(jìn)制計(jì)
5、數(shù)器(1).74LS160器件圖A.B.C.D為輸入端;LDN為置數(shù)端;ENT與ENP為使能控制端;CLRN為置零端;RCO為進(jìn)位輸出端;QA.QB.QC.QD為輸出端;CLK為脈沖信號輸入端.(2).74160內(nèi)部結(jié)構(gòu)圖12(3).74160功能表CPCLRN(RD非)LDN(LD非)EPET工作狀態(tài)X0XXX置零↑10XX預(yù)置數(shù)X1101保持X11X0保持(C=0)↑1111計(jì)數(shù)2.ADDRESS1模塊設(shè)計(jì)文件ADDRESS1.VHD12說明:CLK為時鐘輸入端口;RESET為置零端;DIN[7.
6、.0]為接受ROM數(shù)據(jù)信號端口;AD[4..0]為片選地址輸出;HOUT[7..0],LOUT[7..0]分別為高八位斷驅(qū)動和低八位短驅(qū)動.Address1設(shè)計(jì)程序:LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;USEIEEE.std_logic_unsigned.ALL;ENTITYaddress1ISPORT(clk,reset:INSTD_LOGIC;ad:OUTSTD_LOGIC_VECTOR(4downto0);din:inSTD_LOGIC_VECTOR(7
7、DOWNTO0);hout,lout:outSTD_LOGIC_VECTOR(7downto0));ENDaddress1;ARCHITECTUREaOFaddress1ISBEGINprocess(clk,din,reset)—敏感信號VARIABLEQ1:STD_LOGIC_VECTOR(4DOWNTO0);--標(biāo)準(zhǔn)邏輯變量BEGINIFCLK'EVENTANDCLK='1'THENIFRESET='0'OR(Q1="11111")THENQ1:="00000";ELSEQ1:=Q1+1;ENDI
8、F;ENDIF;CASEQ1(0)ISWHEN'0'=>12LOUT<=din;HOUT<=(others=>'0');WHEN'1'=>HOUT<=din;LOUT<=(others=>'0');WHENOTHERS=>null;ENDCASE;ad<=Q1;ENDPROCESS;ENDa;模塊功能:地址選擇器包含行選線產(chǎn)生電路和列選線產(chǎn)生電路,從ROM中選擇相應(yīng)的地址輸出。Clk為掃描時鐘脈沖,控制掃描速度的快慢;RESET為復(fù)位端,只有在RESET