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

正文內(nèi)容

基于fpga的led點陣顯示屏的設(shè)計_學(xué)士學(xué)位論文-在線瀏覽

2024-09-12 21:26本頁面
  

【正文】 小時寄存器( 85h、 84h)的位 7 用于定義 DS1302 是運行于 12 小時模式還是 24小時模式。在 12 小時模式時,位 5 是 ,當(dāng)為 1 時,表示 PM。 秒寄存器( 81h、 80h)的位 7定義為時鐘暫停標(biāo)志( CH)。 控制寄存器( 8Fh、 8Eh)的位 7 是寫保護(hù)位( WP),其它 7 位均置為 0。當(dāng) WP位為 1時,寫保護(hù)位防止對任一寄存器的寫操作。 DS1302 是 SPI 總線驅(qū)動方式。 圖 312 DS1302 有關(guān)日歷、時間的寄存器 圖 313 靜態(tài) RAM 南昌航空大學(xué)學(xué)士學(xué)位論文 12 要想與 DS1302 通信,首先要先了解 DS1302 的控制字。 控制字的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入到DS1302 中。 控制字總是從最低位開始輸出。同樣,在緊跟 8位的控制字指令后的下一個 SCLK 脈沖的下降沿,讀出 DS1302 的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 圖 315 數(shù)據(jù)讀寫時序 圖 314 控制字(即地址及命令字節(jié)) 圖 315 數(shù)據(jù)讀寫時序 南昌航空大學(xué)學(xué)士學(xué)位論文 13 3 .RTC 時鐘電路 時鐘顯示電路 本設(shè)計主要采用六位獨立的數(shù)碼管分別顯示時鐘。數(shù)碼管可分為共陽和共陰。每一個數(shù)碼管通過一個 9012 三極管放大電流。反之,當(dāng)SEL 拉高時,數(shù)碼管不顯示。 Verilog HDL是一種非常容易掌握的硬件描述語言,而 VHDL語言是一個規(guī)模龐大的語言 ,在使用它之前完全學(xué)會它是很難的。由于 Verilog在其門級描述的底層,也就是在晶體管開關(guān)的描述方面比 VHDL有更強的功能,所以,即使是 VHDL的設(shè)計環(huán)境,在底層實質(zhì)上也是由 Verilog HDL描述的器件庫所支持的 [1]。 Verilog HDL作為一種高級的硬件描述編程語言,與 C語言的風(fēng)格有許多類似之處。 Quartus II 軟件綜述 Altera 公司的 Quartus II 設(shè)計軟件提供了完整的多平臺設(shè)計環(huán)境,能夠直接滿足特定設(shè)計需要,為可編程芯片系統(tǒng) ( SOPC)提供全面的設(shè)計環(huán)境。 圖 41 Quartus II 設(shè)計流程 南昌航空大學(xué)學(xué)士學(xué)位論文 15 Quartus II 設(shè)計工具支持基于 VHDL、 Verilog HDL 和圖形的設(shè)計,其內(nèi)部嵌有VHDL、 Verilog HDL 邏輯綜合器。此外 Quartus II 與MATLAB 和 DSP Builder 結(jié)合,可以進(jìn)行基于 FPGA 的 DSP 系統(tǒng)開發(fā)。 ModelSim 仿真軟件綜述 ModelSim 由 Mentor Graphics 公司的子公司 Model Tech 公司開發(fā),是業(yè)界最優(yōu)秀的 HDL 語言仿真器。ModelSim 最大的特點是其強大的調(diào)試功能,先進(jìn)的數(shù)據(jù)流窗口,可以迅速地追蹤到產(chǎn)生不定或者錯誤狀態(tài)的原因;性能分析工具幫助分析性能瓶頸,加速仿真;代碼覆蓋率檢查確保測試的完備;多種模式的波形比較功能;可以實現(xiàn)與 Matlab的 Simulink的聯(lián)合仿真。將 16位的行數(shù)據(jù)移位進(jìn)入 74HC164的寄存器中,將 32位的列數(shù)據(jù)移位進(jìn)入 74HC595中。由于人眼暫留時間,只有當(dāng)畫面刷新頻率大于 50Hz時才不會出現(xiàn)閃爍現(xiàn)象。程序中利用計數(shù)器 t作為行移位標(biāo)志,當(dāng)計數(shù)器計數(shù)到 19999時移位一次, T=(19999+1)/20xx0000=1ms,(系統(tǒng)使用 20MHz晶振 ),所以本設(shè)計刷新周期為 1ms。 AB,s_clk用于驅(qū)動 74HC164; ser, sclk, rclk用于驅(qū)動 74HC595。h55_55_F0_0A、 row_data=1639。移完所有 32位數(shù)據(jù)時, rclk產(chǎn)生一脈沖信號將列數(shù)據(jù)鎖存。 圖 43 點陣顯示驅(qū)動仿真波形 南昌航空大學(xué)學(xué)士學(xué)位論文 17 行數(shù)據(jù)控制模塊 行數(shù)據(jù)控制模塊主要實現(xiàn)控制顯示的上下移位功能。 其中, key_up表示上鍵標(biāo)志信號, key_down表示下鍵標(biāo)志信號, key_stop為停止移位標(biāo)志信號, row_data為行數(shù)據(jù)輸出。所以當(dāng)按下停止鍵時,則直接輸出 1639。當(dāng)有其他鍵按下時則觸發(fā)移位。如圖 44所示,仿真 key_up鍵按下時, row_data每 循環(huán)右移一次。 以下為模塊的例化程序: module column_control( input clk, input rst, 圖 44 行數(shù)據(jù)控制仿真波形 南昌航空大學(xué)學(xué)士學(xué)位論文 18 input key_left, input key_right, input key_stop, input [31:0] rdata, output [31:0] data )。 rdata為原列數(shù)據(jù), data為移動后的列數(shù)據(jù)。h05_05_A0_A0,每 。 設(shè)計思路: ( 1)一旦檢測到有按鍵按下(高電平到低電平變化),電平檢查模塊就會拉高 H2L_Sig電平,然后拉低。 ( 3)當(dāng)按鍵被釋放時,電平檢測模塊會拉高 L2H_Sig,然后拉低。 組合按鍵則是組合五個獨立按鍵模塊,如圖 47 所示。 其中,五位 Key_In 輸入連接至 I/O 端口,五位 Key_Out 主要傳輸給行列控制模塊。 其中, detect_module模塊的輸入是連接至引腳 rx,它主要檢測一幀數(shù)據(jù)的第 0位,也就是起始位,然后產(chǎn)生一個高脈沖經(jīng) H2L_Sig 給 rx_control_module模塊 ,以表示一幀數(shù)據(jù)接收工作已經(jīng)開始。它是配置波特率的模塊。本設(shè)計使用 9600bps傳輸速率。以 20Mhz時鐘頻率要得到上述的定時需要設(shè)置的計數(shù)次數(shù) N: N = / ( 1 / 20Mhz ) = 2083 如果從零開始算起 2083 1 亦即 2082 個計數(shù)?;旧? rx_bps_module模塊只有在 Count_Sig拉高的時候,模塊才會開始計數(shù)。針對串口的配置主要是 1幀 11位的數(shù)據(jù),重視八位數(shù)據(jù)位,無視起始位、校驗位和結(jié)束位。 圖 48 串口接收模塊 南昌航空大學(xué)學(xué)士學(xué)位論文 21 串口接收接口 模塊 RTL圖如圖 49所示。當(dāng)串口接收頂層控制模塊接收到串口接收模塊反饋的完成信號,就會關(guān)閉串口接收模塊。 FIFO是英文 First In First Out 的縮寫,是一種先進(jìn)先出的數(shù)據(jù)緩存器,他與普通存儲器的區(qū)別是沒有外部讀寫地址線,這樣使用起來非常簡單,但缺點就是只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動加 1完成,不能像普通存儲 器那樣可以由地址線決定讀取或?qū)懭肽硞€指定的地址。 FIFO的深度: THE DEEPTH,它指的是 FIFO可以存儲多少個 N位的數(shù)據(jù)(如果寬度為 N)。 滿標(biāo)志: FIFO已滿或?qū)⒁獫M時由 FIFO的狀態(tài)電路送出的一個信號,以阻止 FIFO的寫操作繼續(xù)向 FIFO中寫數(shù)據(jù)而造成溢 出( overflow)。 讀指針:指向下一個讀出地址。 寫指針:指向下一個要寫入的地址的,寫完自動加 1。 以下是數(shù)據(jù)處理模塊的端口實例化程序: module address ( input CLK, input RSTn, input [7:0] FIFO_Write_Data , output [15:0] write_data, input isdone )。 isdone 為行掃描更新標(biāo)志位,由LED 點陣驅(qū)動模塊提供。 程序設(shè)計思路: ( 1)讀取高四位,使用 case 語句判 斷 BCD 值,當(dāng)接收到行掃完畢標(biāo)志后( isdone),送顯相應(yīng) BCD 值的列數(shù)據(jù),循環(huán)逐行送顯; ( 2)讀取低四位,使用 case 語句判斷 BCD 值,當(dāng)接收到行掃完畢標(biāo)志后( isdone),送顯相應(yīng) BCD 值的列數(shù)據(jù),循環(huán)逐行送顯。如圖 410 所示,inter_face 完成對時鐘初始化和讀取時鐘以及作為 smg 模塊與 ds1302 的接口。 _function模塊端口實例化程序: module _function( input CLK, input RSTn, input [1:0] start, output done, input [7:0] addr, input [7:0] write_data, output [7:0] read_data, output rst, output sclk, inout SIO )。 編程思路: ( 1)根據(jù) start判斷進(jìn)行讀操作還是寫操作 ; ( 2)讀操作或?qū)懖僮鞫夹枰劝l(fā)送一個字節(jié)操作碼; 圖 411 時鐘芯片讀寫模塊 南昌航空大學(xué)學(xué)士學(xué)位論文 24 ( 3) 讀操作時,使 SIO作為輸入,依次讀取 DS1302輸入的 8位數(shù)據(jù)保存于 read_data; ( 4)寫操作時,使 SIO作為輸出口,依次發(fā)送 write_data的八位數(shù)據(jù); ( 5)操作完畢時向外界發(fā)送一脈沖信號 done。 其中, cmd為 8位命令; wrtime保存待寫數(shù)據(jù); rdtime保存讀取的時鐘; start控制 _function模塊讀寫操作選擇 ; done為 _function完成一次操作后的觸發(fā)信號;done_sig完成一次時鐘操作的標(biāo)志信號;其他信號都是用于聯(lián)絡(luò) _function模塊。 Cmd[ 7..0 ] 位命令 功能 0110_0000 變更年寄存器 0101_0000 變更月寄存器 0100_0000 變更日寄存器 0011_0000 變更時寄存器 0010_0000 變更分寄存器 0001_0000 變更秒寄存器 南昌航空大學(xué)學(xué)士學(xué)位論文 25 0000_0110 讀取年寄存器 0000_0101 讀取月寄存器 0000_0100 讀取日寄存器 0000_0011 讀取時寄存器 0000_0010 讀取分寄存器 0000_0001 讀取秒寄存器 表 41 功能分配 編程思路: 根據(jù)輸入的不同命令 cmd依據(jù)圖 312所示進(jìn)行分配不同的操作碼至 _function模塊。反之,后四位全為零時進(jìn)行寫 操作,置 start為 2’ b10。程序端口實例化程序為: module smg( input CLK, input RSTn, input[23:0] data, output [7:0] smg_data, output [5:0] scan)。 基本設(shè)置: 每一位 停留時間 1ms;一次性掃描時間 6ms;掃描頻率 。 南昌航空大學(xué)學(xué)士學(xué)位論文 26 data[23:0] 位代表(從左邊數(shù)起) data[23:20] 第一位 數(shù)字 | 數(shù)碼管 data[19:16] 第二位 數(shù)字 | 數(shù)碼管 data[15:12] 第三位 數(shù)字 | 數(shù)碼管 data[11:8] 第四位 數(shù)字 | 數(shù)碼管 data[7:4] 第五位 數(shù)字 | 數(shù)碼管 data[3:0] 第六位 數(shù)字 | 數(shù)碼管 表 42 data分配表 南昌航空大學(xué)學(xué)士學(xué)位論文 27 第五章 調(diào)試及結(jié)果分析 硬件調(diào)試及結(jié)果分析 調(diào)試過程主要分為以下幾個步驟: 第一步,首先在硬件電路沒有上電的情況下,檢查 PCB 板線路是否無誤。檢查 +5V、5V的電源線是否全
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1