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

正文內(nèi)容

基于fpga的自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)畢業(yè)論文-wenkub

2023-03-09 09:47:48 本頁(yè)面
 

【正文】 者非常熟悉器件的結(jié)構(gòu)才行。本數(shù)字系統(tǒng)的設(shè)計(jì)可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上至下地逐層完成相應(yīng)的描述,綜合,優(yōu)化,仿真與驗(yàn)證,直到生成器件。最終 完成的自動(dòng)售貨機(jī)系統(tǒng)具有商品選擇,投幣處理、出貨找零、異常退幣等主要功能,整個(gè)系統(tǒng)的開發(fā)體現(xiàn)了在 Quartus II 軟件平臺(tái)上用 VHDL 設(shè)計(jì)數(shù)字控制系統(tǒng)的實(shí)用性。 本文是在 VHDL 的基礎(chǔ)上對(duì)自動(dòng)售貨機(jī)進(jìn)行設(shè)計(jì)來(lái)實(shí)現(xiàn)其基本功能的,采用了Altera 的開發(fā)軟件 Quarts II。通過在該軟件平臺(tái)上進(jìn)行數(shù)字電路設(shè)計(jì)和仿真的方法,闡述了 VHDL( Very High Speed Integrated Circuit Hardware Description Language)超高速集成電路硬件描述 語(yǔ)言的一些特點(diǎn)及語(yǔ)法結(jié)構(gòu),介紹了自動(dòng)售貨機(jī)的基本原理、系統(tǒng)組成和主要功能,并分析討論了用 VHDL 語(yǔ)言開發(fā)自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)流程。 關(guān)鍵詞: 自動(dòng)售貨機(jī),硬件描述語(yǔ)言 VHDL, Quarts II, FPGA III Abstract With the development of electronic technology, today39。上述設(shè)計(jì)過程除了系統(tǒng)行為和功能描述以外,其余所有的設(shè)計(jì)過程幾乎都可以用計(jì)算機(jī)來(lái)自動(dòng)地完成,也就是人們所謂的電子設(shè)計(jì)自動(dòng)化,這樣大大地縮短了系統(tǒng)的設(shè)計(jì)周期,以適 應(yīng)當(dāng)今品種多,批量小的電子市場(chǎng)的需求,提高產(chǎn)品的競(jìng)爭(zhēng)能力。 第三, VHDL 可移植性: VHDL 的可移植性允許設(shè)計(jì)者對(duì)需要綜合的設(shè)計(jì)描述進(jìn)行模擬,在綜合前對(duì)一個(gè)數(shù)千門的設(shè)計(jì)描述進(jìn)行模擬,可以節(jié)約設(shè)計(jì)者可觀的時(shí)間,在這時(shí)發(fā)現(xiàn)設(shè)計(jì)上的瑕疵,就能夠在設(shè)計(jì)之前給予糾正,因?yàn)?VHDL 是一個(gè)標(biāo)準(zhǔn)語(yǔ)言,故 VHDL 的設(shè)計(jì) 描述可以被不同的工具所支持,可以從一 個(gè)模擬工具移植到另一個(gè)模擬工具,從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)去執(zhí)行?,F(xiàn)代電子系統(tǒng)設(shè)計(jì)人員應(yīng)該把 VHDL 語(yǔ)言作為一種基礎(chǔ)知識(shí)來(lái)學(xué) 習(xí),并要求能夠熟練地使用 EDA的設(shè)計(jì)工具。 自動(dòng)售貨機(jī)控制電路的性能要求: 1. 自動(dòng)售貨機(jī)能出售三種不同單價(jià)的貨物,并且能對(duì)商品數(shù)量進(jìn)行 1,2,3 個(gè) /瓶選擇。當(dāng)購(gòu)買結(jié)束后,自動(dòng)返回初始設(shè)定狀態(tài),等待再次啟動(dòng)。該控制器由六大 模塊 組成: 主分頻器模塊( sysclk_div) : 產(chǎn)生秒信號(hào),用于選擇的倒計(jì)時(shí),當(dāng)?shù)褂?jì)時(shí)時(shí)間到,系統(tǒng)認(rèn)為放棄選擇操作,使系統(tǒng)能自動(dòng)復(fù)位;只有在倒計(jì)時(shí)未到之內(nèi)的選擇有效。 給錢處理模塊( give_money) :處理顧客投入的金額, 它 也 是在倒計(jì)時(shí)未到,系統(tǒng)啟動(dòng)并且確認(rèn)購(gòu)買的條件下工作的。這樣主分頻器的分頻系數(shù)為 76800,現(xiàn)采用 4 個(gè)分頻器構(gòu)成主分頻器的分頻電路,分別是一個(gè) 256 分頻器, 2 個(gè) 10 分頻器和一個(gè) 3 分頻器,主分頻器結(jié)構(gòu)如下: 主控制器的功能是根據(jù)各輸入按鍵的狀態(tài),輸出對(duì)應(yīng)的控制信號(hào),控制選擇定時(shí)模塊,商品金額計(jì)算模塊,給錢處理模塊和找零出貨模塊的工作。 ( 2) 輸出信號(hào): timer_down_out:選擇倒計(jì)時(shí)到輸出信號(hào)。 找零出貨是對(duì)顧客投入的金額與選購(gòu)商品金額比較后的找零出貨動(dòng)作, 其輸入和輸出信號(hào)分別如下 : ( 1) 輸入信號(hào): reset:復(fù)位信號(hào); sysclk:系統(tǒng)時(shí)鐘輸入信號(hào); start_in:?jiǎn)?dòng)與取消操作信號(hào); timer_down:選擇倒計(jì)時(shí)到輸入信號(hào); ok_buy:確定購(gòu)買商品按鍵輸入信號(hào); money_1:選擇商品總金額輸入信號(hào); money_2:顧客投入的紙幣金額輸入信號(hào)。 9 商品種類選擇控制狀態(tài)機(jī)圖 系統(tǒng)復(fù)位后進(jìn)入默認(rèn)的商品種類 1 狀態(tài),并輸出默認(rèn)狀態(tài)的控制信號(hào) set_type1, 并 判斷定時(shí)倒計(jì)時(shí)信號(hào) timer_down 是否有效,如果有效,則表明 放棄繼續(xù)購(gòu)買, set_type1 置 0 回到系統(tǒng)默認(rèn)狀態(tài); 如果無(wú)效則判斷商品種類選擇按鍵是否按下,如果未按下,則仍處在默認(rèn)狀態(tài),如果已按下,則進(jìn)入商品種類 2 狀態(tài) 及 set_type2 置 1。再按下 start_cancel 鍵時(shí),是取消購(gòu)買操作,系統(tǒng)又回到停止?fàn)顟B(tài),這樣可以人為的進(jìn)行系統(tǒng)的取消購(gòu)買行為,具體 VHDL 代碼 程序框圖 如 啟動(dòng) /取消多功能按鍵流程圖。如果再按一次啟動(dòng) /取消按鍵,使 start_in=0,則定時(shí)器處于等待再次啟動(dòng)狀態(tài)。 第五章 自動(dòng)售貨機(jī)控制電路 各 模塊 仿真結(jié)果及分析 : 通過對(duì)系統(tǒng)時(shí)鐘的計(jì)數(shù)來(lái)分頻,每一位相當(dāng)于一個(gè) 2分頻, div1[7]為 2的 8次方分頻, div2[3]為 2 的 4 次方分頻,系統(tǒng)中當(dāng) div2[3]中計(jì)到 10 時(shí) 清零,所以 div2[3]實(shí)際完成的是 10 分頻,同理 div3[3]也為 10 分頻, div4[1]為 2 的 2 次方分頻,系統(tǒng)中 div4[1]中計(jì)到 3 時(shí)清零,所以div4[1]實(shí)際完成的是 3 分頻,通過這樣的分頻便得到了秒信號(hào)。單價(jià) *商品數(shù)量即為商品總金額。 : Start_cancel 啟動(dòng)系統(tǒng),倒計(jì)時(shí)開始計(jì)時(shí),顧客在此期間選擇商品種類及 type_sel 按鍵輸入,和 商品數(shù)量選擇及 quantity_sel 按鍵輸入,它們的狀態(tài)均為每按一次狀態(tài)轉(zhuǎn)換一次,商品選擇好了,確認(rèn)購(gòu)買及 ok_buy 為高電平后,顧客投幣,系統(tǒng)比較后進(jìn)行找零和出貨操作。 ENTITY sysclk_div IS PORT(sysclk:IN STD_LOGIC。 SIGNAL div2:STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN div_256:PROCESS(sysclk)IS BEGIN IF(sysclk39。 END IF。EVENT AND clk1=39。 END IF。 div_10:PROCESS(clk2)IS BEGIN IF(clk239。 ELSE div3=div3+1。 clk3=div3(3)。)THEN IF(div4=10)THEN div4=00。 END PROCESS。 USE 。 19 type1_out,type2_out,type3_out,start_out:OUT STD_LOGIC。 TYPE state2TYPE IS(s_quan1,s_quan2,s_quan3)。 SIGNAL state3,nextstate3:state3TYPE。 SIGNAL set_type1,set_type2,set_type3,start,set_quan1,set_quan2,set_quan3:STD_LOGIC。 timer_down_rising=timer_down AND (NOT timer_down_dlayed)。039。139。039。)THEN nextstate1=s_type1。 END IF。139。 ELSIF(typesel_rising=39。039。139。039。)THEN nextstate1=s_type3。 END IF。039。039。139。 ELSIF(quantitysel_rising=39。039。139。039。)THEN nextstate2=s_quan2。 END IF。139。 ELSIF(quantitysel_rising=39。039。 END PROCESS。039。setstart=39。139。)THEN clrstart=39。139。 ELSE nextstate3=s_start。 main_control_update:PROCESS(reset,sysclk,timer_down_rising)IS BEGIN IF(reset=39。state3=s_cancel。)THEN state1=nextstate1。139。039。)THEN type2_out=39。END IF。139。 IF(set_quan1=39。ELSE quan1_out=39。139。039。)THEN quan3_out=39。END IF。039。039。139。 22 start_cancel_dlayed=start_cancel。 END ARCHITECTURE rtl。 USE 。 ARCHITECTURE rtl OF timer_count IS TYPE stateTYPE IS(idle,incount)。 SIGNAL count,count_u:STD_LOGIC_VECTOR(3 DOWNTO 0)。 clk_rising=clk AND (NOT clk_dlayed)。039。039。139。039。 WHEN incount= IF(start_in=39。)THEN nextstate=idle。139。 ELSE clrdown=39。 count_clr=39。 END IF。 timer_count_update:PROCESS(reset,sysclk)IS BEGIN IF(reset=39。)THEN state=idle。count=0100。)THEN state=nextstate。039。139。)THEN count=count1。 END IF。 24 END IF。 4,商品金額計(jì)算模塊 LIBRARY IEEE。 ENTITY money_count IS PORT(reset,sysclk,start_in,timer_down,ok_buy:IN STD_LOGIC。 ARCHITECTURE rtl OF money_count IS SIGNAL ok_buy_rising,ok_buy_dlayed:STD_LOGIC。 money_count_update:PROCESS(reset,sysclk,timer_down_rising,ok_buy_rising)IS VARIABLE money_sum_tmpe:INTEGER。 OR timer_down_rising=39。039。)THEN IF(ok_buy_rising=39。)THEN money_sum_tmpe:=0。039。 AND quan1_in=39。139。 ELSIF(type1_in=39。)THEN money_sum_tmpe:=1*3。139。 AND quan2_in=39。139。 ELSIF(type3_in=39。)THEN money_sum_tmpe:=3*1。139。 AND quan3_in=39。 END IF。 money_1=CONV_STD_LOGIC_VECTOR(money_sum_tmpe,4)。 USE 。 give_1yuan,give_5yuan,give_10yuan,timer_down:IN STD_LOGIC。 SIGNAL timer_down_rising,timer_down_dlayed:STD_LOGIC。 VARIABLE mm:STD_LOGIC。139。 ELSIF(sysclk39。039。 ELSE mm:=39。)THEN money:=0。 ELSIF(give_5yuan=39。139。 ok_buy_dlayed=ok_buy。 END PROCESS。 USE 。 deliver:OUT STD_LOGIC。 SIGNAL timer_down_rising,timer_down_dlayed:STD_LOGIC。 give_money:PROCESS(reset,sysclk,timer_down_rising,ok_buy_rising,money_1,money_2)IS VARIABLE tmpe:INTEGER。 IF(reset=39。)THEN tmpe:=0。bb=0。 ELSIF(sysclk39。039。039。 IF(bbcc)THEN tmpe:=bbcc。 ELSE deliver=39。 END IF。 END PROCESS。 USE 。 give_1yuan,give_5yuan,give_10yuan:IN STD_LOGIC。 ARCHITECTURE rtl OF top IS COMPONENT sysclk_div IS PORT(sysclk:IN STD_LOGIC。 type1_out,type2_out,type3_out,start_out:OUT STD_LOGIC。 timer_down_out:OUT STD_LOGIC)。 money_1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 money_2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 deliver:OUT STD_LOGIC。 SIGNAL vv1,vv2:STD_LOGIC_VECTOR(3 DOWNTO
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1