【正文】
74LS138 為 3- 8 譯碼器,共有 54/74138 和 54/74LS138 兩種線路結構型式,其工作原理如下: 當一個選通端( G1)為高電平,另兩個選通端( /(G2A)和 /(G2B))為低電平時,可 將 30 地址端( A、 B、 C)的二進制編碼在一個對應的輸出端以低 平電譯出。從開始接到論文題目到系統的實現,再到論文文章的完成,每走一步對我來說都是新的嘗試與挑戰(zhàn),這也是我在大學期間獨立完成的最大的項目。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。 E International[D],1996. [10] Xilinx,The Programmable Logic Data Book[M].20xx 33 附錄 A VHDL 程序匯總 1 四位二進制顯示數據轉換為八位段顯信號 : library ieee。 entity chang is port( a: in std_logic_vector(0 to 3)。 begin process(a) begin case a is when 0000 =tem=11000000。 when 0100 =tem=10011001。 when 1000 =tem=10000000。 end process。 USE 。 oclk : OUT STD_LOGIC)。 BEGIN PROCESS (iclk) BEGIN IF iclk39。 clk_i= not clk_i。 END PROCESS。 use 。 stop: in std_logic。 architecture dacc of regist is signal temp: std_logic_vector(3 downto 0)。then tem=39。 when 010 =temp=num3。 when 110 =temp=num7。 else temp=0000。 end process。 4 秒信號的產生 : use library ieee。 entity second is port( clk : in std_logic。 end second。139。139。139。 tem=39。 end process。 use 。 start: in std_logic。 architecture dacc of selec is signal q1,q2,q3,q4,q5,q6,q7,q8: std_logic_vector(3 downto 0)。or reset = 39。q3=0000。q7=0000。 then if q1=1001 then q1=0000。 if q5=1001 then q5=0000。 else q8=q8+1。 else q6=q6+1。 else q4=q4+1。 else q2=q2+1。 else q3=q3+1。 else q5=q5+1。 else q7=q7+1。 if q7=1001 then q7=0000。 if q3=1001 then q3=0000。event and clk=39。q5=0000。 then q1=0000。 begin process(clk,start,reset) begin if start=39。 clk:in std_logic)。 entity selec is port( num1,num2,num3,num4,num5,num6,num7,num8:out std_logic_vector(3 downto 0)。 end architecture。 end if。139。 elsif clk39。039。 signal tem: std_logic。 reset :in std_logic。 use 。 start=tem。039。 when others=null。 when 100 =temp=num5。 case sec is when 000 =temp=num1。 begin process(sec,stop) begin if stop = 39。 sec:in std_logic_vector(2 downto 0))。 entity regist is port( 34 num1,num2,num3,num4,num5,num6,num7,num8:in std_logic_vector(3 downto 0)。 END one。 END IF。139。 ARCHITECTURE one OF fenpinqi IS signal clk_i :std_logic。 ENTITY fenpinqi is PORT ( iclk : IN STD_LOGIC。 end architecture。 when others=null。 when 0110 =tem=10000011。 when 0010 =tem=10100100。 end。 use 。希望這次的經歷能讓我在以后學習中激勵我繼續(xù)進步。 雖然我的論文作品不是很成熟,還有很多不足之處,但我可以自豪的說,這里面的每一段資料,都有我的勞動。 與數碼管的連接如圖 57 所示。位選信號輸入后 ,經 38 譯碼器譯碼給八位數碼管只有一位是高電平,即只有一個數碼管可以點亮。這種連接方式的數碼管叫做共陰極數碼管。當按下時秒信號計數器與八位十進制計數器同時清零復位 ,以保證兩者的同步。 圖 55 按鍵 電路 在設計中共有五個按鈕按鍵,分別是 S S S S4 和 S5, S1S4 用于頻率的控制 ,按 下為高電平 ,彈起為低電平。 ( 3) CS( 片選信號 )、 WR1( 寫信號 1)、 XFER( 傳送控制信號 )和 ,WR2( 寫信號 2),低電平有效。 一個 8 位 D/A 轉換器有 8 個輸入端(其中每個輸入端是 8 位二進制數的一位) ,有一個模擬輸出端。 DAC0832 輸出的是電流 ,一般要求輸出是電壓 ,所以還必須經過一個外接的運算放大器轉換成電壓。 Rfb:是集成在片內的外接運放的反饋電阻。 WR1:寫信號 1,低電平有效。一個三位的二進制位選信號輸出 ,一個七位的段顯信號輸出 ,一個七位的正選信號輸出。 生成模塊 圖 說明: q 值隨著脈沖的到來實現 063 之間的循環(huán)變化, dd4(所產生信號的幅度)根據q 的變化而變化,產生所需要的波形。 end case。 when 61=dd4=253。 when 57=dd4=234。 when 53=dd4=198。 when 49=dd4=140。 when 45=dd4=90。 when 41=dd4=47。 when 37=dd4=15。 when 33=dd4=1。 when 29=dd4=5。 when 25=dd4=29。 when 21=dd4=67。 when 17=dd4=115。 when 13=dd4=165。 when 09=dd4=208。 when 05=dd4=240。 when 01=dd4=254。 entity sin4 is port(q:in integer range 63 downto 0。 查表 此表根據相位由公式 y=[sin( x) +1]* 取整所得 相位幅度表程序library ieee。 q=qq。139。 end。 use 。 時序仿真圖如 圖 48: 20 圖 48 說明: 當輸入四進制 0111 時,輸進數碼管里為 00000111,段顯就是 7 正弦 波信號 我們本次設計所產生的信號以正 弦 波信號為例 ,我們正弦 波的產生根據信號相位的增加查表產生 。 end process。 when 1000 =tem=10000000。 when 0100 =tem=10011001。 begin process(a) begin case a is when 0000 =tem=11000000。 entity chang is port( a: in std_logic_vector(0 to 3)。具體轉換見程序如下所示: library ieee。 end dacc。 end if。 end case。 when 101 =temp=num6。 when 001 =temp=num2。139。 end。 start: out std_logic。具體實現程序如下 : library ieee。 數碼顯示數據處理 數碼顯示 的數據為采集的頻率值。 直到 reset或 start 為 1 停止計數 。開始秒信號的計數,當計數個數到達預定的 100 時使 stop(秒結束標志位)信號置 1。 stop=tem。039。then if q=100 then tem=39。) then q=0。)or(reset=39。 architecture dacc of second is signal q: integer range 0 to 100。 start : in std_logic。 。 num8=tem8。 num4=tem4。 end process。 tem6=q6。 tem2=q2。 end process。 end if。 end if。 end if。 end if。 if q6=1001 then q6=0000。 if q2=1001 then q2=0000。 elsif clk39。q4=0000。139。 signal tem1,tem2,tem3,tem4,tem5,tem6,tem7,tem8: std_logic_vector(3 downto 0)。 reset: in std_logic。 use 。脈沖計數用八 位十進制計數器 ,計數器在 START 置一時, 秒信號的計數脈沖數清零同時計數器清零 ,當 STARE置零時秒信號與計數器同時開始工 作。 仿真 的時序圖 如圖 : 圖 42 說明:當按鍵顯示為 0001 時,輸出頻率是基準頻率的二分之一, 實現二分頻。 END PROCESS。 clk_i= not clk_i。 BEGIN PROCESS (iclk) BEGIN IF iclk39。 oclk : OUT STD_LOGIC)。 USE 。為了更直觀的看到當前頻率 ,本文 采用 直接 采集頻率輸 出 到數碼管顯示 。與其它的 HDL 相比, VHDL 具有更強的行為描述能力,從而決定了它成為系統設計領域最佳的硬件描述語言。 Altera 的 PLD 具有高性能、高集成度和高 性價比的優(yōu)點 ,此外它還提供了功能全面的開發(fā)工具和豐富的 IP 核、宏功能庫等 ,因此Altera 的產品獲得了廣泛的應用。(4)增益誤差和總諧波失真很低。 采用低頻正弦波 DDS 單片電路的解決方案 Micro Linear 公司的電源管理事業(yè)部推出低頻正弦波 DDS 單片電路 ML2035 以其價格低廉、使用簡單得到廣泛應