VHDL狀態機控制ADC0809 轉貼

2021-05-11 10:06:59 字數 1065 閱讀 6680

以前做硬體,現在轉做軟體了,對以前做的東西還是很懷念,想當年做的乙個用altera公司的epm7128slc84-7和adc0809做的乙個簡單系統,玩得團團轉,多有成就感啊。特別覺得狀態機的思想很奇妙。所以現在找了一篇vhdl狀態機的程式,**懷念。

基於vhdl語言實現對adc0809簡單控制原始碼

--檔名:adc0809.vhd

--功能:基於vhdl語言,實現對adc0809簡單控制

--說明:adc0809沒有內部時鐘,需外接10khz~1290hz的時鐘訊號,這裡由fpga的系

--統時鐘(50mhz)經256分頻得到clk1(195khz)作為adc0809轉換工作時鐘。

--最後修改日期:2004.3.20.

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity adc0809 is

port (   d       : in std_logic_vector(7 downto 0);               --adc0809輸出的取樣資料

clk,eoc   : in std_logic;                                              --clk為系統時鐘,eoc為adc0809轉換結束訊號

clk1,start, ale,en: out std_logic;                              --adc0809控制訊號

abc_in    :in std_logic_vector(2 downto 0);              --模擬選通訊號

abc_out   :out std_logic_vector(2 downto 0);             --adc0809模擬訊號選通訊號

q        : out std_logic_vector(7 downto 0));               --送至8個併排數碼管訊號

end adc0809;

VHDL描述狀態機

狀態機是一種描述或處理數字控制系統的方法。一般將數字控制系統看做是乙個系統黑箱,當有來自環境的輸入刺激時,不但會改變系統現狀,同時黑箱還會輸出反應,改變後的系統狀態稱為次態。這個系統可能是一台機器裝置或乙個電路,用來表示其內部詳細動作的方式,稱為狀態機。通常,狀態機是控制單元的主題,他接收外部訊號,...

基於狀態機的簡單控制

基於狀態機的簡單控制 公司是做一些簡單的夾具的,大部分功能是幾個按鍵加上幾個電磁閥,再加乙個顯示屏就構成了乙個簡單的控制系統。工控行業一般要求是比較穩定的,所以我需要在啟動電磁閥之後去判斷我的氣缸是否到了指定位置,這樣我們就需要用到了sensor,那麼問題來了 首先我按下了按鍵,氣缸也動作了,接下來...

tcp 擁塞控制引擎 狀態機

tcp核心 流量控制 擁塞控制 流量控制 滑動視窗來實現,防止接收方能夠處理過來 擁塞控制 防止過多的包被傳送到網路中,避免出現網路負載過大 說一說 擁塞控制 擁塞控制狀態機的狀態有五種,分別是open,disorder,cwr,recovery和loss狀態 四個演算法為慢啟動,擁塞避免,擁塞發生...