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

正文內(nèi)容

可編程脈沖信號(hào)發(fā)生器的設(shè)計(jì)(已改無(wú)錯(cuò)字)

2022-10-02 09:45:48 本頁(yè)面
  

【正文】 先有程序逐行 對(duì)鍵盤進(jìn)行掃描,再通過(guò)檢測(cè)列的狀態(tài)來(lái)確定按鍵的行列位置。 脈沖信號(hào)輸出電路 通過(guò)鍵盤將脈沖信號(hào)參數(shù)指標(biāo)送入到 AT89C51 單片機(jī)。單片機(jī)從預(yù)設(shè)置空間中取出參數(shù)指標(biāo)數(shù)據(jù)并加以處理,得到產(chǎn)生脈沖信號(hào)需要的數(shù)據(jù),接著產(chǎn)生滿足參數(shù)指標(biāo)的脈沖信號(hào)。軟件上,先調(diào)用顯示子程序,關(guān)掉顯示。然后調(diào)用顯示子程序顯示脈沖信號(hào)指標(biāo)關(guān)鍵字頻率( PL)、占空比( ZKB)、個(gè)數(shù)( NUM),提示用戶輸入脈沖信號(hào)參數(shù)指標(biāo)。若沒(méi)有按鍵或者發(fā)生竄鍵,則 CPU 處于等待狀態(tài),直到檢測(cè)到有有效按鍵為止,這時(shí)調(diào)用按鍵分析子程序計(jì)算出被按按鍵 的鍵值。 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 17 脈沖信號(hào)輸出電路圖如圖 25 所示。 圖 25 脈沖信號(hào)輸出電路圖 按上述方式依次輸入三組數(shù)據(jù)并求出各位數(shù)的鍵值,并且調(diào)用液晶屏顯示驅(qū)動(dòng)子程序,在液晶屏指定位置顯示脈沖信號(hào)頻率、占空比、脈沖個(gè)數(shù)信息。 然后,調(diào)用脈沖生成子程序產(chǎn)生滿足指標(biāo)參數(shù)的脈沖信號(hào)。然后將流程回到脈沖生成子程序的開(kāi)始處,準(zhǔn)備產(chǎn)生下一個(gè)脈沖信號(hào),這樣周而復(fù)始,直到輸出完要求個(gè)數(shù)的脈沖信號(hào)。最后,若檢測(cè)到重置信號(hào)時(shí)返回主程序開(kāi)始處,進(jìn)行數(shù)據(jù)設(shè)定輸出新周期的脈沖信號(hào),否則程序?qū)⒌却谥鞒绦虻慕Y(jié)束處。其中,定時(shí)初值從特定緩沖區(qū)得到。定時(shí) 初值的不同,就洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 18 會(huì)得到不同的電平寬度,從而得到不同周期的脈沖,也就得到了不同頻率的脈沖了。調(diào)整高低電平所占的時(shí)間,便可以改變脈沖信號(hào)的占空比。 考慮到周圍電磁環(huán)境以及信號(hào)突變的輸出脈沖信號(hào)的影響,這里將得到的脈沖信號(hào)經(jīng) 555 定時(shí)器構(gòu)成的施密特觸發(fā)器輸出。 施密特觸發(fā)器,具有回差電壓特性,能將邊沿變化緩慢的電壓波形整形為 邊沿陡峭的矩形脈沖。 1265V CC R DO555 3Ov7vvI2I1vIC8 412IvCCV V CC 2RttvIOv 123CCVCC1V3(a)電路圖 (b)波形圖v 圖 26 555 定時(shí)器構(gòu)成的施密特觸發(fā)器 ( 1) VI =0V 時(shí), vo1輸出高電平。 ( 2)當(dāng) VI 上升到 ccV32 時(shí), Vo1輸 出低電平。當(dāng) VI 由 ccV32 繼續(xù)上升, vo1保持不變。 ( 3)當(dāng) VI 下降到 ccV31 時(shí),電路輸出跳變?yōu)楦唠娖?。而且?VI 繼續(xù)下降到 0V 時(shí),電路的這種狀態(tài)保持不變。 圖 26 中, R、 VCC2 構(gòu)成另一輸出端 Vo2,其高電平可以通過(guò)改變 VCC2進(jìn)行調(diào)節(jié) [12]。 正是由于施密特觸發(fā)器具有回差電壓特性,可以有效的避免因電磁環(huán)境引起的小幅度電壓突變?cè)斓拿}沖信號(hào)的變化。此外,當(dāng)施密特觸發(fā)器輸入端為低電平時(shí),輸出端為高電平;當(dāng)施密特觸發(fā)器輸入 端為高電平時(shí),輸出端為低電平,這樣當(dāng)輸出占空比較大的脈沖信號(hào)時(shí)就能有效的減少單片機(jī)的能耗,延長(zhǎng)單片機(jī)的使用壽命。如果要頻繁的輸出小占空比的脈沖信號(hào),可以通過(guò)改變輸出端口的預(yù)置值來(lái)實(shí)現(xiàn)。這也正體現(xiàn)出了本課題設(shè)洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 計(jì)良好的經(jīng)濟(jì)性和可拓展性。 系統(tǒng)電路原理圖 以 AT89C51 單片機(jī)為核心,以矩陣鍵盤作為輸入設(shè)備,以液晶顯示屏SMC1602 為顯示設(shè)備。通過(guò) 4*4 矩陣非編碼鍵盤將脈沖信號(hào)參數(shù)頻率、個(gè)數(shù)、占空比送入 AT89C51 單片機(jī) ,單片機(jī)調(diào)用數(shù)值處理子程序進(jìn)行數(shù)據(jù)處理,再調(diào)用液晶屏驅(qū)動(dòng)子程序驅(qū)動(dòng)液晶屏在制定的 位置顯示脈沖信號(hào)相關(guān)的參數(shù);根據(jù)不同的控制策略,生成不同指標(biāo)要求的脈沖信號(hào)并通過(guò)端口 端口送出單片機(jī),將脈沖信號(hào)經(jīng) 555定時(shí)器構(gòu)成的施密特觸發(fā)器輸出。 系統(tǒng)電路原理圖如圖 27 所示: 圖 27 系統(tǒng)電路原理圖 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 20 第 3 章 可編程脈沖信號(hào)發(fā)生器的軟件設(shè)計(jì) 矩陣鍵盤的程序設(shè)計(jì) 通常鍵盤有編碼和非編碼兩種,本次課題設(shè)計(jì)使用的是非編碼鍵盤。鍵盤上的按鍵一般排成行、列矩陣格式,每個(gè)交叉點(diǎn)上可接一個(gè)按鍵。 按鍵的作用只是使相應(yīng)接點(diǎn)接通或斷開(kāi),在相應(yīng)程序配合下可產(chǎn)生被按按鍵的鍵碼。采用非編碼式鍵盤, CPU 必須對(duì)所有按鍵進(jìn)行監(jiān)視,一旦發(fā)現(xiàn)有鍵下, CPU 應(yīng)通過(guò)程序加以識(shí)別,并轉(zhuǎn)入相應(yīng)的處理程序,錄入相應(yīng)的字符,字符對(duì)應(yīng)關(guān)系如表 31 所示: 表 31 字符對(duì)應(yīng)關(guān)系表 0x0e(1 列 ) 0x0d(2 列 ) 0x0b(3 列 ) 0x07(4 列 ) 0xe0(1 行 ) 1 4 7 0xd0(2 行 ) 2 5 8 * 0xb0(3 行 ) 3 6 9 k 0x70(4 行 ) 0 . % 判斷按鍵是否按下 CPU 監(jiān)視鍵盤中按鍵是否按下的原理很簡(jiǎn)單。 CPU 只要讀取 P1 口的值就可以判斷按鍵是否按下。如果沒(méi)有按鍵按下,則返回 值必為 ff;若有鍵按下,則值必因被按按鍵的接通而不等于 ff。 按鍵去抖和竄鍵處理 在按下某個(gè)按鍵時(shí),被按下按鍵的簧片會(huì)有輕微的抖動(dòng),這種抖動(dòng)通常會(huì)持續(xù) 10ms 左右的時(shí)間。因此, CPU 在按鍵抖動(dòng)期間掃描鍵盤必然會(huì)得到錯(cuò)誤的鍵值,最好的辦法是使 CPU 在檢測(cè)到有鍵按下時(shí)延時(shí) 20ms 再進(jìn)行掃描。用戶在操作時(shí)常常因不小心同時(shí)按下了一個(gè)以上的按鍵,即發(fā)生了竄鍵。 CPU處理竄鍵的原則是把最后放開(kāi)的按鍵認(rèn)為真正被按的按鍵。 CPU在處理發(fā)生在兩個(gè)不同行上的竄鍵時(shí),可進(jìn)行一個(gè)短延時(shí), CPU 再掃描一次 P1 口,若倆次得到數(shù)值相同 則說(shuō)明確實(shí)有鍵按下,否則說(shuō)明是竄鍵,CPU 也就不調(diào)用相應(yīng)的程序?qū)ζ溥M(jìn)行相應(yīng)的處理 [4]。 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 21 液晶屏 顯示的程序設(shè)計(jì) 硬件電路圖中,在液晶屏 SMC1602 在指定位置進(jìn)行脈沖信號(hào)指標(biāo)關(guān)鍵字頻率、占空比和個(gè)數(shù)的顯示。脈沖信號(hào)指標(biāo)關(guān)鍵字頻率、占空比和個(gè)數(shù)通過(guò)矩陣鍵盤送到單片機(jī)后,單片機(jī)調(diào)用數(shù)值處理子函數(shù)進(jìn)行相關(guān)運(yùn)算,進(jìn)而調(diào)用液晶屏顯示驅(qū)動(dòng)子程序,計(jì)算預(yù)顯示的位置并在對(duì)應(yīng)位置顯示 。 SMC 1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器( CGROM)已經(jīng)存儲(chǔ)了 160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大 小寫(xiě)、常用的符號(hào)、和日文假名等,每個(gè)字符都有 其 固定的代碼,比如的 阿拉伯?dāng)?shù) 字 “ 0” 的代碼是 00110000B( 30H),顯示時(shí)模塊把地址 30H 中的點(diǎn)陣字符圖形顯示出來(lái),我們就 可以 看到 阿拉伯?dāng)?shù)字 “ 0” 。因?yàn)?1602能夠 識(shí)別的是 ASCII 碼,試驗(yàn)可以 通過(guò) ASCII 碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如 ‘ 0’ 。 與 HD44780 相兼容,芯片時(shí)序表如下: 表 33 操作時(shí)序表 讀狀態(tài) 輸入 RS=L, R/W=H, E=H 輸出 D0— D7=狀態(tài)字 寫(xiě)指令 輸入 RS=L, R/W=L, D0— D7=指令 碼 , E=高脈沖 輸出 無(wú) 讀數(shù)據(jù) 輸入 RS=H, R/W=H, E=H 輸出 D0— D7=數(shù)據(jù) 寫(xiě)數(shù)據(jù) 輸入 RS=H, R/W=L, D0— D7=數(shù)據(jù), E=高脈沖 輸出 無(wú) 1602 液晶模塊控制指令見(jiàn)附錄Ⅰ。 讀寫(xiě)操作時(shí)序如圖 31 及 32 所示: 圖 31 讀操作時(shí)序圖 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 22 圖 32 寫(xiě)操作時(shí)序圖 液晶顯示模塊是一個(gè)慢顯示器件,在執(zhí)行每條指令以前一定要確定模塊忙標(biāo)志是否為低電平。當(dāng)模塊的忙標(biāo)志位為低電平時(shí),表示不忙;否則,此條指令失效。需要顯示字符時(shí),要先輸入要顯示字符的地址,也就是告訴模塊要在哪個(gè)位置顯示字符。圖 33 是 1602 的內(nèi)部顯示地址圖。 圖 33 LCD1602 內(nèi)部顯示地址圖 1602 指令集 1602 通過(guò) D0D7 的 8 位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。 數(shù)據(jù)指針設(shè)置: 數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為 80H+地址碼 (027H, 4067H) 其他設(shè)置: 01H(顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0); 02H(顯示回車,數(shù)據(jù)指針 =0)。 通常推薦的初始 化過(guò)程: 延時(shí) 15ms 寫(xiě)指令 38H 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 23 延時(shí) 5ms 寫(xiě)指令 38H 延時(shí) 5ms 寫(xiě)指令 38H 延時(shí) 5ms (以上都不檢測(cè)忙信號(hào)) (以下都要檢測(cè)忙信號(hào)) 寫(xiě)指令 38H 寫(xiě)指令 08H 關(guān)閉顯示 寫(xiě)指令 01H 顯示清屏 寫(xiě)指令 06H 光標(biāo)移動(dòng)設(shè)置 寫(xiě)指令 0CH 顯示開(kāi) 關(guān) 及光標(biāo)設(shè)置 完畢 例如第二行首字符的地址是 40H,那么是否直接寫(xiě)入 40H 就可以把光標(biāo)定位在第二行首字符的位置呢?這樣是不行的,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位 D7 一直保持高電平 1,因此實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是 01000000B( 40H) +10000000B(80H)=11000000B(C0H)。 在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí),光標(biāo)是自動(dòng)向右移動(dòng)的,不需要人工干預(yù)。每次輸入指令以前都要判斷液晶模塊是否處于忙的狀態(tài)。 脈沖生成的程序設(shè)計(jì) 脈沖信號(hào)在單片機(jī)的 引腳輸出。具體來(lái)說(shuō),脈沖信號(hào)的頻率、占空比、脈沖個(gè)數(shù)參數(shù)可以通過(guò)鍵盤輸入, 單片機(jī)調(diào)用數(shù)值處理子函數(shù)進(jìn)行相關(guān)運(yùn)算,計(jì)算出定時(shí)器的預(yù)置值并 啟動(dòng)定時(shí)器,定時(shí)時(shí)間到了后,進(jìn)入定時(shí)中斷。在定時(shí)中斷中先停止記時(shí),接著取 反 然后重裝定時(shí)初值,并開(kāi)啟定時(shí) ,為下一次時(shí)作好準(zhǔn)備,接著返回定時(shí)中斷并 等待下一個(gè)定時(shí)中斷申請(qǐng)的提出。這樣周而復(fù)始地取反 就可以在 引腳上得到脈沖信號(hào)了。我們發(fā)現(xiàn),只要改變定時(shí)初值,就 可以改變產(chǎn)生脈沖的頻率;洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 24 只要改變?nèi)》? 口的次數(shù),就可以得到一定數(shù)目的脈沖輸出; 只要改變 取反的時(shí)間間隔,就可以得到不同占空比的脈 沖信號(hào)。 程序流程圖 主程序流程圖 N Y N Y 圖 34 主程序流程圖 LCD 初始化 顯示脈沖信號(hào)關(guān)鍵字 鍵入脈沖信號(hào)指標(biāo),賦給相關(guān)參數(shù) 在液晶屏上指定位置顯示參 數(shù) 數(shù)值處理 脈沖信號(hào)輸出 開(kāi)始 脈沖個(gè)數(shù)到? 檢測(cè)到重置信號(hào)?號(hào)? 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 25 鍵盤分析子程序流程圖 Y 圖 35 鍵盤分析子程序流程圖 P1 口賦值 0x0f 是否有鍵按下? 有鍵按下 延時(shí) 20ms P1 口與 0x0f 相與,求得按鍵列碼 P1 口賦值 0xf0 掃描 P1 口 P1 口與 0xf0 相與,求得按鍵行碼 查詢按鍵與字符對(duì)應(yīng)表 查的字符賦給變量 KEY 返 回 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 26 顯示子程序流程圖 N Y 圖 36 顯示子程序流程圖 送預(yù)顯示地址碼和預(yù)顯示參數(shù)地址 合成預(yù)顯示地址 SMC1602 EN 端口清零 SMC1602 RS 端口置一 SMC1602 R/ w 端口清零 把要顯示的參數(shù)送到緩存區(qū) SMC1602 EN 端口置一 SMC1602 EN 端口清零 預(yù)顯示參數(shù)地址加 1 參數(shù)顯示完畢 返回 參數(shù)是否等于 ‘ \0’ 洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 27 數(shù)值處理子程序流程圖 Y N Y N 圖 37 數(shù)值處理子程序流程圖 送參數(shù)地址 amp。pl[0]及參數(shù)位數(shù) n 到緩沖區(qū) Pl[0]是否等于‘ 0’‘
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1