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

正文內(nèi)容

基于fpga的自動售貨機控制系統(tǒng)設(shè)計畢業(yè)論文(編輯修改稿)

2025-04-03 09:47 本頁面
 

【文章內(nèi)容簡介】 商品 數(shù)量 1 的輸入信號; quan2_in:商品數(shù)量 2 的輸入信號; quan3_in:商品數(shù)量 3 的輸入信號。 . ( 2) 輸出信號: money_1:選擇商品總金額輸出信號。 給錢處理模塊主要是根據(jù)顧客在確認購買商品后,計算并輸出顧客投入的總金額,其輸入和輸出信號分別如下: ( 1) 輸入信號: reset:復(fù)位信號; sysclk:系統(tǒng)時鐘輸入信號; 8 start_in:啟動與取消操作信號; timer_down:選擇倒計時到輸入信號; ok_buy:確定購買商品按鍵輸入信號; give_1yuan: 1 元紙幣輸入信號; give_5yuan: 5 元紙幣輸入信號; give_10yuan: 10 元紙幣輸入信號; ( 2) 輸出信號: money_2:顧客投入的紙幣金額輸出信號。 找零出貨是對顧客投入的金額與選購商品金額比較后的找零出貨動作, 其輸入和輸出信號分別如下 : ( 1) 輸入信號: reset:復(fù)位信號; sysclk:系統(tǒng)時鐘輸入信號; start_in:啟動與取消操作信號; timer_down:選擇倒計時到輸入信號; ok_buy:確定購買商品按鍵輸入信號; money_1:選擇商品總金額輸入信號; money_2:顧客投入的紙幣金額輸入信號。 ( 2) 輸出信號: deliver:出貨信號; change:找零金額輸出信號。 第四章 自動售貨機控制電路的算法狀態(tài)機圖描述 由系統(tǒng)的分析可知,自動售貨機控制電路主要 是控制電路和計數(shù)電路,因此直接用算法狀態(tài)機圖描述比較簡潔。 本次設(shè)計的自動售貨機能銷售 3 種不同單價的商品, 且能對商品的數(shù)量進行 1,2,3 的選擇,這樣主控制器共有 9 種狀態(tài),如果用這 9 種狀態(tài)的算法狀態(tài)機圖來描述,則其狀態(tài)轉(zhuǎn)換將會變得復(fù)雜而難以處理,當(dāng)考慮到商品種類和商品數(shù)量的選擇是相對獨立的,沒有很強的關(guān)聯(lián)性,因此,可以用 3 個算法狀態(tài)機圖來描述。 9 商品種類選擇控制狀態(tài)機圖 系統(tǒng)復(fù)位后進入默認的商品種類 1 狀態(tài),并輸出默認狀態(tài)的控制信號 set_type1, 并 判斷定時倒計時信號 timer_down 是否有效,如果有效,則表明 放棄繼續(xù)購買, set_type1 置 0 回到系統(tǒng)默認狀態(tài); 如果無效則判斷商品種類選擇按鍵是否按下,如果未按下,則仍處在默認狀態(tài),如果已按下,則進入商品種類 2 狀態(tài) 及 set_type2 置 1。通過類似的操作和判斷,該狀態(tài)機可在商品 1,商品 2,商品 3 三種狀態(tài)下循環(huán)選擇和工作,并送出相應(yīng)的狀態(tài)信號,具體的VHDL 代碼框圖如下圖中的圖(一)。 商品數(shù)量選擇控制狀態(tài)機圖如上所示,其結(jié)構(gòu)與商品種類選擇控制狀態(tài)機圖一 致,所不同的僅僅是狀態(tài)名,狀態(tài)輸出信號和 引起狀態(tài)轉(zhuǎn)換的按鍵信號, VHDL 代碼框圖如圖(二)。 10 11 12 /取消控制算法狀態(tài)機圖描述 本設(shè)計的自動售貨系統(tǒng)用了一個多功能啟動 /取消按鍵,來啟動系統(tǒng)和在購買過程中隨時取消的操作,如此系統(tǒng)有 2 種工作狀態(tài):取消狀態(tài)(停止狀態(tài))和啟動狀態(tài),系統(tǒng)復(fù)位是進入停止狀態(tài),當(dāng) start_cancel 按鍵按下時,狀態(tài)轉(zhuǎn)移至啟動狀態(tài),并輸出啟動控制信號 start_out。再按下 start_cancel 鍵時,是取消購買操作,系統(tǒng)又回到停止狀態(tài),這樣可以人為的進行系統(tǒng)的取消購買行為,具體 VHDL 代碼 程序框圖 如 啟動 /取消多功能按鍵流程圖。 啟動 /取消多功能按鍵流程圖 2. 選擇定時模塊 選擇定時模塊有 23 種狀態(tài):停止狀態(tài)( IDLE),和計時狀態(tài)( INCCOUNT), VHDL 代碼框圖如 倒計時 程序框 圖。 系統(tǒng) 復(fù)位后就進入停止狀態(tài)( IDLE),在停止狀態(tài)下不斷判斷啟動信號 start_in 是否為 1,如果為 1,則表明啟動鍵已按下,定時器開始工作,轉(zhuǎn)移的下一個狀態(tài)為計數(shù)狀態(tài);否則仍停13 留在停止狀態(tài)。 在計數(shù)狀態(tài)( INCCOUNT)下,先要判斷啟動信號是否仍為 1,因為啟動 /取消按鍵是一個多功能按鈕,按一次狀態(tài)轉(zhuǎn)換一次,如果復(fù)位后 按一下啟動 /取消按鍵,使 start_in=1,則定時器開始計數(shù)。如果再按一次啟動 /取消按鍵,使 start_in=0,則定時器處于等待再次啟動狀態(tài)。 系統(tǒng)中確認按鍵也能影響定時器的計數(shù),所以也要判斷它的狀態(tài),當(dāng)確認后,定時器計數(shù)值清零, 定時器也回到等待再次啟動狀態(tài)。 在計數(shù)狀態(tài)下,如果 start_in=1,接著判斷秒 clk_1s 上升沿是否到來,如果未到來,則仍停留在計數(shù)狀態(tài),若秒時鐘的上升沿已到來,則秒計數(shù)器就進行減 1 倒計時操作,接著判斷時間是否減到了 0,如果到 0 了則發(fā)出倒計時時間到信號( timer_down),如果沒減到 0 則仍處于計數(shù)狀態(tài)。 倒計時程序框圖 14 通過以上對 VHDL 代碼框圖的分析,更加容易的完成了 VHDL 代碼的編寫,后面的的幾個模塊由于程序比較簡單,只要看看 VHDL 代碼就能看出它的程序框圖的流程,所以這里就沒有在畫其他模塊的 VHDL 代碼框圖,具體分析見 VHDL 代碼。 第五章 自動售貨機控制電路 各 模塊 仿真結(jié)果及分析 : 通過對系統(tǒng)時鐘的計數(shù)來分頻,每一位相當(dāng)于一個 2分頻, div1[7]為 2的 8次方分頻, div2[3]為 2 的 4 次方分頻,系統(tǒng)中當(dāng) div2[3]中計到 10 時 清零,所以 div2[3]實際完成的是 10 分頻,同理 div3[3]也為 10 分頻, div4[1]為 2 的 2 次方分頻,系統(tǒng)中 div4[1]中計到 3 時清零,所以div4[1]實際完成的是 3 分頻,通過這樣的分頻便得到了秒信號。 : Type_sel 為商品種類選擇按鍵,復(fù)位時系統(tǒng)默認 type1 及 type1_out 為高電平, type_sel 每按一次種類的選擇轉(zhuǎn)換一次; quantity_sel 為商品數(shù)量選擇,它的分析與 type_sel 一致 ; start_out為啟動 /取消同步輸出信號,當(dāng)啟動時 start_out 輸出高電平,當(dāng)取消時 start_out 輸出低電平;timer_down 為倒計時時間,時間到系統(tǒng)復(fù)位,等待再次啟動。 15 : 系統(tǒng)啟動時及 start_in 為高電平時,倒計時開始計數(shù),當(dāng)確認購買時及 ok_buy 為高電平時計數(shù)值清零,系統(tǒng)從新開始倒計時,這里以計時 4 秒來替代 30 秒的選擇倒計時,方便仿真。 : 系統(tǒng)在啟動狀態(tài),倒計時未到且確認購買時,根據(jù)顧客對商品的選擇,計算出商品的金額,這里 type1 的單價為 1 元, type2 的單價為 2 元, type3 的單價為 3 元; quan1 指選擇一個商品, quan2 指選擇 2 個商品, quan3 指選擇 3 個商品。單價 *商品數(shù)量即為商品總金額。 : 16 系統(tǒng)在啟動狀態(tài),倒計時未到且確認購買時,系統(tǒng)根據(jù)輸入的投幣信號,輸出顧客投入的金額。這里 give_1yuan 指顧客投入的是 1 元, give_5yuan 指顧客投入的是 5 元, give_10yuan指顧客投入的是 10 元,這樣就能識別 1 元, 5 元和 10 的紙幣。 : 系統(tǒng)在啟動狀態(tài),倒計時未到且確認購買時,系統(tǒng)將商品的實際金額和顧 客投入的金額進行比較,當(dāng)顧客投入的金額大于商品實際金額時,系統(tǒng)找出相應(yīng)的錢數(shù)并出貨;當(dāng)小于時,系統(tǒng)退出顧客已投入的錢數(shù)。 : Start_cancel 啟動系統(tǒng),倒計時開始計時,顧客在此期間選擇商品種類及 type_sel 按鍵輸入,和 商品數(shù)量選擇及 quantity_sel 按鍵輸入,它們的狀態(tài)均為每按一次狀態(tài)轉(zhuǎn)換一次,商品選擇好了,確認購買及 ok_buy 為高電平后,顧客投幣,系統(tǒng)比較后進行找零和出貨操作。 17 第 六 章 自動售貨機控制電路的 具體 VHDL 描述 LIBRARY IEEE。 USE 。 USE 。 ENTITY sysclk_div IS PORT(sysclk:IN STD_LOGIC。 clk :OUT STD_LOGIC)。 END ENTITY sysclk_div。 ARCHITECTURE rtl OF sysclk_div IS SIGNAL div1:STD_LOGIC_VECTOR(7 DOWNTO 0)。 SIGNAL div2:STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL div3:STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL div4:STD_LOGIC_VECTOR(1 DOWNTO 0)。 SIGNAL clk1,clk2,clk3:std_logic。 BEGIN div_256:PROCESS(sysclk)IS BEGIN IF(sysclk39。EVENT AND sysclk=39。139。)THEN div1=div1+1。 END IF。 END PROCESS。 clk1=div1(7)。 div10:PROCESS(clk1)IS BEGIN IF(clk139。EVENT AND clk1=39。139。)THEN IF(div2=1001)THEN div2=0000。 ELSE div2=div2+1。 END IF。 END IF。 18 END PROCESS。 clk2=div2(3)。 div_10:PROCESS(clk2)IS BEGIN IF(clk239。EVENT AND clk2=39。139。)THEN IF(div3=1001)THEN div3=0000。 ELSE div3=div3+1。 END IF。 END IF。 END PROCESS。 clk3=div3(3)。 div_3:PROCESS(clk3)IS BEGIN IF(clk339。EVENT AND clk3=39。139。)THEN IF(div4=10)THEN div4=00。 ELSE div4=div4+1。 END IF。 END IF。 END PROCESS。 clk=div4(1)。 END ARCHITECTURE rtl。 LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY main_control IS PORT(reset,sysclk,start_cancel,type_sel,quantity_sel,timer_down:IN STD_LOGIC。 19 type1_out,type2_out,type3_out,start_out:OUT STD_LOGIC。 quan1_out,quan2_out,quan3_out:OUT STD_LOGIC)。 END ENTITY。 ARCHITECTURE rtl OF main_control IS TYPE state1TYPE IS(s_type1,s_type2,s_type3)。 TYPE state2TYPE IS(s_quan1,s_quan2,s_quan3)。 TYPE state3TYPE IS(s_start,s_cancel)。 SIGNAL state1,nextstate1:state1TYPE。 SIGNAL state2,nextstate2:state2TYPE。 SIGNAL state3,nextstate3:state3TYPE。 SIGNAL start_cancel_rising,start_cancel_dlayed,setstart,clrstart:STD_LOGIC。 SIGNAL type_sel_dlayed,typesel_rising,quantity_sel_dlayed,quantitysel_rising:STD_LOGIC。 SIGNAL timer_down_rising,timer_down_dlayed:STD_LOGIC。 SIGNAL set_type1,set_type2,set_type3,start,set_quan1,set_quan2,set_quan3:STD_LOGIC。 BEGIN typesel_rising=type_sel AND (NOT type_sel_dlayed)。 quantitysel_rising=quantity_sel AND (NOT quantity_sel_dlayed)。 start_cancel_rising=start_cancel AND (NOT start_cancel_dlayed)。 timer_down_rising=timer_down AND (NOT timer_down_dlayed)。 type_ctr:PROCESS(typesel_rising,state1,timer_down)IS BEGIN set_type1=39。039
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1