【正文】
總體結(jié)構(gòu)原理圖如下:31。 基于SOPC的電子點(diǎn)菜單設(shè)計(jì)參考文獻(xiàn)[1]Mark (第二版).北京:電子工業(yè)出版社,2007 [2]蔣璇,:電子工業(yè)出版社,2007[3]:北京航空航天大學(xué)出版社,2006 [4]布郎,:清華大學(xué)出版社,2005[5]曾繁泰,:清華大學(xué)出版社,2001 [6]:清華大學(xué)出版社,2005[7]王永軍,:高等教育出版社,2006 [8]:上海科技出版社,2007[9]:北京航空航天大學(xué)出版社,2006[10]羅克露,北京:電子工業(yè)出版社,2006[11] Builder PTF File Reference Manual[EB/OL].,2006[12] Handbook[EB/OL]. , 2006.附 錄系統(tǒng)總體結(jié)構(gòu)圖: 整個系統(tǒng)以4*4矩陣鍵盤為輸入,8個LED燈和5個LED數(shù)碼管作為輸出。由于本身能力和實(shí)驗(yàn)器材的限制,無法在系統(tǒng)中建立完善的體制,只是實(shí)現(xiàn)了一個電子點(diǎn)菜單的基本功能。另外在仿真分析上,因?yàn)樾枰獪y試的結(jié)果很多,也是一甚至有些結(jié)果無法預(yù)料,或者無法在仿真中看到。設(shè)計(jì)的重點(diǎn)主要在系統(tǒng)的配置上以及程序的設(shè)計(jì)與調(diào)試上,要做到鍵盤與數(shù)碼管,LED燈的一體化,需要在鍵位設(shè)置時進(jìn)行準(zhǔn)確的設(shè)計(jì),通過鍵盤的掃描,消抖和譯碼,達(dá)到一鍵一碼的目的,做到功能的完善。6結(jié)論該課題是利用ALTERA公司的QUARTUS開發(fā)環(huán)境和軟件,進(jìn)行VHDL程序設(shè)計(jì),然后進(jìn)行仿真,調(diào)試,以CYCL2 ,實(shí)現(xiàn)了一個簡單的電子點(diǎn)菜單終端的設(shè)計(jì)。電路符號如下圖所示:由上圖可以看出,當(dāng)菜單選擇為2時,按下確認(rèn)鍵,鍵盤值為0101,存儲器存儲地址為0101,存儲單價數(shù)據(jù)為10。: RAM存儲器原理電路圖 RAM存儲器仿真圖由圖 ,當(dāng)OE為低電平時,DATA為輸出;當(dāng)WE為低電平時,數(shù)據(jù)寫入存儲器相應(yīng)地址。地址范圍為0到15,WE和OE只有其中一個有效:WE信號有效,將數(shù)據(jù)寫入;OE信號有效,將數(shù)據(jù)從芯片中讀出。 七段數(shù)碼管仿真圖由圖 ,當(dāng)A為0011時,Z值為1011011,數(shù)碼管顯示為3。: 加法器電路圖 加法器仿真圖,當(dāng)A值為10001001時,B為11010011,無進(jìn)位CIN,進(jìn)位輸出COUT為1,SUM的值為01011100,依次類推。 鍵盤譯碼仿真圖由圖 ,當(dāng)KEY值為0101,顯示單價為10元,口味為麻辣(菜單見附錄1);當(dāng)KEY值為0010時,為功能鍵選擇,無顯示。 鍵盤掃描仿真圖將掃描鍵盤后得到的KEY值,通過譯碼設(shè)定為菜單鍵和功能鍵:KEY值0000—0111分別為:確認(rèn),刪除,已點(diǎn),結(jié)帳;KEY值1000—1111為菜單。對鍵盤進(jìn)行掃描,消抖,每一個單鍵作唯一編碼,作為掃描值輸出。以CYCL2 ,實(shí)現(xiàn)客人的自主點(diǎn)菜過程,功能齊全,使用方便。 end generate md。 end generate rt。 end generate lt。architecture NA of jfq1 is signal carry: std_logic_vector(0 to 8)。 SUM: out std_logic_vector(0 to 11)。程序設(shè)計(jì)如下:entity jfq1 is port( A, B : in std_logic_vector(0 to 7)。 所示:圖 RAM電路符號圖 加法器的設(shè)計(jì)加法器由一位全加器的簡單模型構(gòu)成行波進(jìn)位加法器,通過將模型多次實(shí)例化構(gòu)件一個8位的加法器。end process p0。 end if。039。) then data=mem(address)。) then if (oe=39。 if (cs=39。Z39。 variable mem:ram_array。end entity ram。 data : inout std_logic_vector(7 downto 0)。use 。RAM有3個控制信號:CS(片選),WE(寫使能),OE(輸出使能),均為低電平有效。在進(jìn)程中,設(shè)定了相應(yīng)的功能鍵,YES表示確認(rèn)鍵,DEL表示刪除鍵,HAV表示已點(diǎn)查詢鍵,OVER表示結(jié)帳。 end if。 signal a std_logic_vector(3 downto 0)。039。139。seq程序如下所示:Achitecture gn of DCXT is type state is (s0,s1,s2,s3,s4,s5) signal p_state,n_state:state。每個狀態(tài)產(chǎn)生不同的控制信號,用于過程的實(shí)現(xiàn)。end architecture ex1。根據(jù)組成0~9這10個字形的要求可以列出8421BCD七段譯碼器的真值表。 七段數(shù)碼管電路圖 BCD七段譯碼器的輸入是1位BCD碼(以D、C、B、A表示),輸出是數(shù)碼管各段的驅(qū)動信號(以Fa~Fg表示),也稱47譯碼器。使用時,公共陰極接地,7個陽極a~g由相應(yīng)的BCD七段譯碼。 LED數(shù)碼管有共陽、共陰之分。效果圖如下:圖 口味顯示效果圖單價顯示主要由LED數(shù)碼管實(shí)現(xiàn)。生成的電路符號如圖下圖所示 菜單顯示電路符號圖 口味顯示通過CYCL2 ,顯示當(dāng)前所選菜的口味。 with cd select dj= 1000 when 0100, 1010 when 0101, 0111 when 0110, 0101 when 0111, 0110 when 1000, 1010 when 1001, 1100 when 1010, 1000 when 1011, 1111 when 1100, 0011 when 1101, 0101 when 1110, 0110 when 1111, 0000 when others。end entity myJP。 qw :out std_logic_vector(7 downto 0)。 菜單信息表序號菜名單價酸甜麻辣1回鍋肉8000101012水煮肉片10000011113青椒肉絲7000100114麻婆豆腐5000011015火爆腰花6010100016鍋巴肉片10001100007三鮮湯12000100008紅燒雞8000001019酸菜魚151100010110炒青菜30001000111肉片湯50100010112魚香茄子611110001單價顯示和口味顯示的源代碼如下,其中,qw代表口味,dj代表單價。 默認(rèn)情況為K_VALUE保持原來狀態(tài),相當(dāng)于實(shí)現(xiàn)鎖存器 END CASE。 WHEN 01111110= K_VALUE=15。