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

正文內(nèi)容

工程實踐與科技創(chuàng)新設計報告-資料下載頁

2024-11-03 01:31本頁面

【導讀】工程實踐與科技創(chuàng)新[2A]. 設計小組編號:101. 上海交通大學電子信息與電氣工程學院。姓名班級學號具體負責的工作聯(lián)系方式。板實現(xiàn)基礎增益、音。樂播放和函數(shù)發(fā)生的。拓展部分,及實驗報。三個模塊,以及basys板實現(xiàn)的可控增益放大器、函數(shù)信號發(fā)生器。此報告包括了它們的主要。功能、系統(tǒng)框圖,系統(tǒng)硬件以及軟件的設計和實現(xiàn)方法,系統(tǒng)的技術指標,調(diào)試分析,針對用。戶操作的詳細說明,對系統(tǒng)中某幾個部分的深入擴展研究,心得體會,問題調(diào)試和實物照片等

  

【正文】 1液晶輸出位置指針 unsigned char data pos=0。 函數(shù)信號發(fā)生暨音樂播放模塊: 信號放大倍率 unsigned char bdata RATE。 sbit R0= RATE ^ 0。 sbit R1= RATE ^ 1。 sbit R2= RATE ^ 2。 sbit R3= RATE ^ 3。 sbit R4= RATE ^ 4。 sbit R5= RATE ^ 5。 sbit R6= RATE ^ 6。 樂譜數(shù)據(jù) 《喀秋莎》: unsigned int code music_data1[][2]; 《 塞北的雪 》: unsigned int code music_data2[][2]; 波形數(shù)據(jù) 正弦波: unsigned int xdata sin_data[T]; 方波: unsigned int xdata squ_data[T]; 鋸齒波: unsigned int xdata saw_data[T]; 三角波: unsigned int xdata tri_data[T]; 可調(diào)參數(shù) 頻率可調(diào): unsigned char xdata frequency[17]; 幅度可調(diào): unsigned char xdata magnitude[11]; 其他變量 音量控制變量: unsigned int volumn 蜂鳴標志: bit buzzer_flag。 模式指針: unsigned int mode。 頻率數(shù)組指針: unsigned int freq。 控制模式選擇: unsigned int bool。 第 25頁 上海交通大學 電子信息與電氣工程學院 幅度數(shù)組指針: unsigned int mag。 樂譜數(shù)組指針: unsigned int (*ptr)[2]。 音樂選擇指針: unsigned int music。 FPGA模塊: Verilog 硬件描述語言中不強調(diào)全局變量和局部變量的定義,所以我們將程序中用到的板上資源以變量形式列舉: mclk: 50Mhz 時鐘輸入 btn[3:0]:四個按鍵 sw[7:0]: 8 個撥碼開關,不同的軟件使用其中的某個幾個開關 Led[7:0]: 8 個 Led 燈,用于表示當前顯示波形的種類。 PIO[79:73]:用于控制外部電路電壓增益。 PIO[72]用于輸出可變頻率的方波 a_to_g[6:0]:七段碼,用于數(shù)碼管顯示 an[3:0]:數(shù)碼管公共端,用于掃描 流程邏輯 圖 45 為函數(shù)信號發(fā)生器暨音樂播放器的邏輯流程圖 第 26頁 上海交通大學 電子信息與電氣工程學院 圖 45 函數(shù)信號發(fā)生器暨音樂播放器邏輯流程圖 液晶顯示、 FPGA流程邏輯與軟件結構類似 控制線性增益和液晶顯示 描述 功能描述 實現(xiàn)液晶的初始化和開機滾動字幕顯示功能。滾動字幕顯示“ Wele to use this amplifer!” 每 秒字幕整體向右移一位,以達到滾動的效果。 輸入輸出項描述 輸入:按任意鍵跳出開機滾動字幕狀態(tài),進入控制線性增益和液晶顯示的主循環(huán)中。 輸出:液晶屏第一行滾動顯示 “ Wele to use this amplifer!” 第 27頁 上海交通大學 電子信息與電氣工程學院 數(shù)據(jù)結構 1) 寄存器: PA XBYTE[0xE000]: 8255 PA口寄存器地址 PB XBYTE[0xE001]: 8255 PB口寄存器地址 CONTROL XBYTE[0xE003]: 8255 控制字寄存器地址 2) 全局變量: unsigned char bdata busy: 8255 PB口輸入輸出緩存,可位尋址最高位 [7] sbit BF = busy^7 unsigned char pos:液晶輸出位置指針 sbit RST=P1^4: 8255 復位端變量 3) 記錄狀態(tài)變量: unsigned char count1:液晶移位時間間隔計數(shù)器 調(diào)用函數(shù) 說明 timer1() interrupt 3 using 0 功能:定時中斷 1,每 5ms 進入中斷 輸入:無 輸出:無 詳細說明:定時器 1 從初始的 EE00 開始計數(shù)直到 FFFF 溢出,進入中斷。 void initialize() 功能:液晶初始化,清屏,清除顯示緩存區(qū)內(nèi)容 輸入:無 輸出:無 詳細說明: 函數(shù)流程如圖 46 所示。 第 28頁 上海交通大學 電子信息與電氣工程學院 圖 46 initialize()函數(shù)流程圖 [8] void wait_busy()。 功能:液晶忙信號檢測與等 待 輸入:無 輸出:無 詳細說明: 函數(shù)流程如圖 47 所示。 第 29頁 上海交通大學 電子信息與電氣工程學院 圖 47 wait_busy()函數(shù)流程圖 由于要從液晶模塊讀入標志位 BF,需要將 8255 B 口改為輸入狀態(tài),并在 BF=0 時,改回輸出狀態(tài),需要改變 D07 控制字,如表 41 所示。 控制字 A口 B口 D7 D6 D5 D4 D3 D2 D1 D0 十六進制 1 0 0 0 0 0 0 0 80H 輸出 輸出 1 0 0 0 0 0 1 0 82H 輸出 輸入 表 41 8255 在方式 0 在輸入 /輸出組合 [9] void lcdpos()。 功能:液晶輸出位置控制 輸入:無 輸出: pos 位置指針右移或換行 詳細說明:當一行滿了 16 個字符則換行,否則右移一位。 void lcdoutput(char n)。 功能:液晶屏輸出字符 n 第 30頁 上海交通大學 電子信息與電氣工程學院 輸入:字符 n 輸出:液晶屏上顯示字符 n 詳細說明:先調(diào)用 lcdpos()確定顯示字符的位置,然后再將顯示指令與要顯示的數(shù)據(jù)傳給液晶 算法 鍵盤掃描和消抖 中斷程序每隔 5ms 執(zhí)行一次鍵盤掃描。 KEY1~4 的值代表相應的端口的高低電平,低電平說明按鍵按下,高電平說明按鍵 彈起。 程序中使用 time 作為抖動次數(shù)計數(shù)器,由于 KEY1 作為清零鍵使用,故實際上不需要消抖;在本系統(tǒng)中,對 KEY KEY KEY KEY4 都做消抖處理。 當檢測到某一鍵按下時,并不馬上響應,而是由 time 開始計數(shù),當檢測到一定抖動次數(shù)時才進行處理。由于按鍵自設的物理差異,在試驗后選用 30 作為 KEY1~KEY4 的標志次數(shù)。 放大倍數(shù)的計算 程序中放大倍數(shù)以變量 count 保存,根據(jù)用戶按鍵的情況, count 在合理范圍內(nèi)自增或自減。 放大倍數(shù)的控制和顯示 程序通過 R4,R3,R2,R1 代 表的端口輸出高低電平,控制 4066 各開關的通斷來控制放大倍數(shù)。count 的值介于 0 和 15 之間,其 4 位二進制值分別送入 R R R R1 。使用 switch_output 函數(shù)計算各開關的二進制值,并實現(xiàn)開關的開閉。代碼如下: void switch_output() { switch(count) { case 1: // R1 R1=1。 R2=0。 R3=0。 R4=0。 break。 case 2: // R2 R1=0。 R2=1。 R3=0。 第 31頁 上海交通大學 電子信息與電氣工程學院 R4=0。 break。 case 3: // R1//R2 R1=1。 R2=1。 R3=0。 R4=0。 break。 case 4: // R3 R1=0。 R2=0。 R3=1。 R4=0。 break。 case 5: // R1//R3 R1=1。 R2=0。 R3=1。 R4=0。 break。 case 6: // R2//R3 R1=0。 R2=1。 R3=1。 R4=0。 break。 case 7: // R1//R2//R3 R1=1。 R2=1。 R3=1。 R4=0。 break。 case 8: // R4 R1=0。 R2=0。 R3=0。 R4=1。 第 32頁 上海交通大學 電子信息與電氣工程學院 break。 case 9: // R1//R4 R1=1。 R2=0。 R3=0。 R4=1。 break。 case 10: // R2//R4 R1=0。 R2=1。 R3=0。 R4=1。 break。 case 11: // R1//R2//R4 R1=1。 R2=1。 R3=0。 R4=1。 break。 case 12: // R3//R4 R1=0。 R2=0。 R3=1。 R4=1。 break。 case 13: // R1//R3//R4 R1=1。 R2=0。 R3=1。 R4=1。 break。 case 14: // R2//R3//R4 R1=0。 R2=1。 R3=1。 R4=1。 break。 第 33頁 上海交通大學 電子信息與電氣工程學院 case 15: // R1//R2//R3//R4 R1=1。 R2=1。 R3=1。 R4=1。 break。 default: R1=0。 R2=0。 R3=0。 R4=0。 } } 七段數(shù)碼管的顯示值由數(shù)組 digi[4]提供,其中前兩位沒有用到,將 digi[0]、 digi[1]時鐘顯示為0。 digi[2]、 digi[3]分別取 count 十位和個位,其中 digi[2]后需要加小數(shù)點。 并口擴展芯片 8255 和液晶模塊 HD44780 的使用原理及編程 8255 的使用 8255 為一并口擴展芯片,有 A、 B、 C 三個 8 位 I/O 端口和一個 8 位數(shù)據(jù)總線。本系統(tǒng)使用74HC138 三態(tài)八位譯碼器連接 8255 與單片機, 74HC138 的Y7引腳與 8255 的片選引腳相連,地址總線的高三位為單片機的 P2^0,P2^1,P2^2,全部置1時選中 8255,故 A、 B、 C 三個端口和控制字寫入分別對應的地址聲明如下: //8255 PA口寄存器地址 define PA XBYTE[0xE000] //8255 PB口寄存器地址 define PB XBYTE[0xE001] //8255 控制字寄存器地址 define CONTROL XBYTE[0xE003] 本例中由B口輸出數(shù)據(jù)和命令。 HD44780 的使用原理及編程 和編程有關的三個引腳定義如表 42: 表 42: HD44780 引腳定義(部分) [4] 引腳號 縮寫 定義 說明 第 34頁 上海交通大學 電子信息與電氣工程學院 4 RS 寄存器選擇信號 H:數(shù)據(jù)寄存器 L:指令寄存器 5 R/W 讀 /寫信號 H:讀 L:寫 6 E 片選信號 下降沿觸發(fā) ,鎖存數(shù)據(jù) 其中 E為使能信號,讀操作中高電平有效,寫操作中下降沿有效。 結合 RS、 R/W 的取值,我們有如下的指令表 (表 43): 表 43: HD44780 指令表 [10] 指令名稱 指 令 碼 說 明 執(zhí)行周期FCP=250KHZ RS R/W DB7
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1