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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機(jī)的函數(shù)發(fā)生器的軟件設(shè)計(參考版)

2024-12-07 19:07本頁面
  

【正文】 感謝學(xué)校給我這次畢業(yè)設(shè)計的機(jī)會, 感謝科學(xué)前輩和學(xué)校圖書館給予我們這一代年輕人提供這么好的一個學(xué)習(xí)平臺供我們學(xué)習(xí)。 在這次畢業(yè)設(shè)計中,老師的教導(dǎo)和同學(xué)們的協(xié)作,使我受益匪淺 。 } } 函數(shù)發(fā)生器的軟 硬 件設(shè)計 35 致謝 持續(xù)緊張和忙碌幾個月的畢業(yè)設(shè)計終于完了,在此我特別感謝帶我的指導(dǎo)老師 — 老師 ,感謝 老師在百忙之中抽空批閱我的論文, 老師 在 我不懂的地方予以指點,在錯誤的地方予以指出,我由衷的感謝老師的諒解和包容,感謝 老師在這次畢業(yè)設(shè)計中對我的不厭其煩的 指導(dǎo)和幫助。 q++。amp。amp。\039。amp。 } lcd1602_WriteCmd(0xc0)。 q++。amp。\039。amp。 lcd1602_WriteCmd(0x80)。 INT8U *data q。 lcd1602_e=0。 lcd1602_e=1。 lcd1602_rs=1。 lcd1602_e=0。 lcd1602_e=1。 lcd1602_rs=0。 } 函數(shù)發(fā)生器的軟 硬 件設(shè)計 33 while(lcd1602_busy)。 lcd1602_e=0。 lcd1602_rs=0。t move lcd1602_WriteCmd(0x01)。 //display enable,flag enable,flash enable, lcd1602_WriteCmd(0x06)。 液晶初始化函數(shù) void lcd1602_Init() { lcd1602_WriteCmd(0x38)。 } 函數(shù)發(fā)生器的軟 硬 件設(shè)計 32 液晶顯示 液晶模塊作為一個獨立的顯示器件,由于其控制線和數(shù)據(jù)線比較多,其自身配有操作這些信號線的專用控制器,對外的接口 為通用定義的控制接口,單片機(jī)對其操作需要注意一定的時序,先送命令控制字,后送數(shù)據(jù),在每次發(fā)送數(shù)據(jù)或命令給液晶顯示控制器之前必須先查詢液晶控制器是否忙,如果讀出忙標(biāo)志,則需要等待,繼續(xù)查詢,直到忙標(biāo)志不在時才可以向液晶控制器寫入數(shù)據(jù),否則將會發(fā)生意想不到的錯誤,導(dǎo)致無法顯示。 TL0=tl。 else P0=0xff*chh/50。 d++。 c++。 } else if(choice==2) //三角波 {if(c=128)P0=c*chh/50。 if(choice==1) { P0=tosin[b]*chh/50。 //定時器高八位值 (43) tl = t % 256。其中方波的占空比可以通過 K 變量來控制 。 i++。 while(1) { if(i0x7f) P0=0x00。 變 變i =0變 變 變i =255變 變 變 圖 45 方波流程圖 方波的程序如下: fangbo(){ uchar i。 b++。 函數(shù)發(fā)生器的軟 硬 件設(shè)計 28 正弦波產(chǎn)生源程序: zhengxianbo() { if(choice==1) { int b。計算值可以用 C 語言編程得到。 其實在計算正弦波形數(shù)據(jù)的時候,并不需要算出整個 0— 2π區(qū)間的每一個值,而只需計算出 0— 21 π中的值就行,其他區(qū)間的值都可以 通過對 0— 21 π中的值取不同的變換。/256 ) …… ,如此計算下去,將這些模擬量正弦值都轉(zhuǎn)換為單極性方式下的數(shù)字量,得到一張按照點號順序排列的正弦波波形數(shù)據(jù)表格。;第 2 點的角度為 360176。將一個周期內(nèi)的正弦波形 等分為 256 份,那么第 1 點的角度為 0176。 DAC0832 是 8 位的 D/A 轉(zhuǎn)換器件,其工作電壓是 0— 5V,當(dāng)輸入 00 數(shù)字量的時候,輸出為 0V 電壓;當(dāng)輸入 80 數(shù)字量的時候,輸出為 電壓;當(dāng)輸入 FF數(shù)字量的時候,輸出為 5V電壓。} } 正弦波發(fā)生程序設(shè)計 本設(shè)計采用 查表 的方法設(shè)計 正弦波的產(chǎn)生 ,通過輸出的兩點間的延 時來實現(xiàn) 頻率變化 功 能,我們通過兩個周期的語句作為 頻 率改變 的最小時間單位,通過循環(huán)次數(shù) 控制時間 。 函數(shù)發(fā)生器的軟 硬 件設(shè)計 27 temp+=i。 流程圖如下: 變 變i = 0 , i + +i≥ 2 5 5 i + +t = 0 , t t = 0t NNY Y 圖 44 三角波流程圖 程序如下: void sanjiaobo() { uchar i=1,temp=0x00。 break。 break。 break。 break。//消抖延時 if(temp!=0xf0) { temp=P1。0xf0。//第二行掃描 11111101; temp=P1。 break。 break。 break。 break。//消抖動程序; if(temp!=0xf0) { temp=P1。0xf0。//第一行掃描 11111110; temp=P1。 表 41 鍵盤處理程序 鍵值 對應(yīng)處理程序 0x7d key1 鍵選擇發(fā)波類型( 1 為正弦波 ,2 為三角波 ,3 為方波) 0xee key2 幅度增加 0xde Key3 幅度減小 0xbe Key4 無功能 0x7e Key5 頻率增加 0xed Key6 頻率減 小 0xdd Key7 占空比增大調(diào)整 0xbd Key8 占空比減小調(diào)整 鍵盤掃描源程序如下: void judge(void) { uchar temp。鍵盤所在的行和所在的列函數(shù)發(fā)生器的軟 硬 件設(shè)計 24 用 0 表示,其它的行和列用 1 表示。其框圖如 圖 42 所示: 函數(shù)發(fā)生器的軟 硬 件設(shè)計 23 變P1變變變變變變10ms變變變變P1變變變變變變變變變變YN 圖 42 鍵盤掃描 對應(yīng)鍵盤如圖 43 所示 : 圖 43 鍵盤實現(xiàn) 鍵盤采用矩陣式鍵盤,由軟件產(chǎn)生相應(yīng)編碼,再根據(jù)相應(yīng)編碼調(diào) 用相應(yīng)的子程序。在監(jiān)視鍵盤過程中,允許定時器 T0 中斷,即同時動態(tài)顯示數(shù)據(jù)和輸出波形。在該設(shè)計中的鍵盤的行列線連接于 89C51的 P1 口上。即在鍵盤有健按下時,才執(zhí)行鍵盤掃描,執(zhí)行該鍵功能程序。通常是利用單片機(jī)內(nèi)部定時器產(chǎn)生 10ms 的定時中斷, CPU響應(yīng)定時器溢出中斷請求,對鍵盤進(jìn)行掃描,以響應(yīng)鍵盤輸入請求。 ⑵ 程序控制掃描方式 這種方式就是只有當(dāng)單片機(jī)空閑時,才調(diào)用鍵盤掃描子程序,響應(yīng)鍵盤的輸入請求。因此,要根據(jù)應(yīng)用系統(tǒng)中的 CPU 的忙、閑情況,選擇好鍵盤的工作方式。 CPU 忙于各項工作任務(wù)時,如何兼顧鍵盤掃描。 下面分別介紹其功能及設(shè)計思想 [16]。 系統(tǒng)的初始化流程如圖 41 所示。 ⑺ 加強(qiáng)軟件抗干擾設(shè)計,它是提高系統(tǒng)應(yīng)用可靠性的有利措施。 ⑸ 要合理分配系統(tǒng)資源,包括 ROM、 RAM、定時數(shù)器、中斷資源等。即根據(jù)功能要求,描述各個輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)好壞的重要因素。既便于調(diào)試、鏈接,又便于移植、修改。設(shè)計出軟件的總體結(jié)構(gòu),使其結(jié)構(gòu)清晰、流程合理。 函數(shù)發(fā)生器的軟 硬 件設(shè)計 20 4 函數(shù)發(fā)生器軟件設(shè)計 軟件總體設(shè)計 應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求而設(shè)計的,能可靠地實現(xiàn)系統(tǒng)的各種功能。 LCD 顯示與單片機(jī)連接電路圖如圖 313 所示 : 函數(shù)發(fā)生器的軟 硬 件設(shè)計 19 D4D3D5D7RWRSD2ED6D0D1AT89C51 DM162 液晶模塊VDDV0VSS10K電位器+5V 圖 313 液晶原理圖 通過液晶 1602 顯示輸出的波形、頻率,其電路圖如 圖 314所示 : 圖 314 液晶顯示 如圖 314 所示, 1602 的八位數(shù)據(jù)端接單片機(jī)的 P1 口,其三個使能端 RS、 RW、E分別接單片機(jī)的 — 。光標(biāo)加 1), N=0(讀或?qū)懸粋€字符后地址指針減 1 amp。 指令集 : 1602 通過 D0~D7 的 8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。A’ [15]。 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器( CGROM)已經(jīng)存儲了 160 個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母 “A” 的代碼是01000001B( 41H),顯示時模塊把地址 41H 中的點陣字符圖形顯示出來,我們就能看到字母 “A” 。 與 LED數(shù)碼管相比,液晶顯示器的顯示效果相對較好,液晶顯示器顯示不僅直觀,而且界面具有人機(jī)交互美觀的特點。 函數(shù)發(fā)生器的軟 硬 件設(shè)計 18 指令 10:寫數(shù)據(jù)。 指令 8: DDRAM 地址設(shè)置。 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示 5x7 的點陣字符,高電平時顯示 5x10 的點陣字符。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與 關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。高電平表示有效,低電平則無效。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 1602 的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。 第 15 腳:背光電源接 5V正電壓。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第 5 腳: RW 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。 第 3 腳: V0 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱, 接地電源時對比度最高,對比度過高時會產(chǎn)生 “ 鬼影 ” ,使用時可以通過一個 10K 的電位器調(diào)整對比度。 LCD1602 以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧 的諸多優(yōu)點,在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用 ,實物圖如圖 312 所示: 外形尺寸 (LxWxH) 視域尺寸 (WxHxT) 驅(qū)動電壓 (V) or 工作溫度 :(oC) 0~50 or 20~70 存儲溫度 :(oC) 10~60 or 30~80 顯示類型 : STN or FSTN 顏色 : 藍(lán)色 (帶背光 ) 生產(chǎn)工藝 : SMT 其主要技術(shù)參數(shù)為: 顯示容量: ~; 工作電流: ( ) 模塊最佳工作電壓: 字符尺寸: ( WXH) mm 1602 采用標(biāo)準(zhǔn)的 16 腳接口,其管腳定義如下 : 圖 312 LCD1602實物圖 第 1 腳: VSS 為地電源。 P1 口輸出 F0H,進(jìn)行列掃描,保存列掃描狀態(tài) Y,取出鍵值 Z=X|函數(shù)發(fā)生器的軟 硬 件設(shè)計 16 一行第一列有鍵按下,那么行掃描讀入的狀態(tài)為 00001110,列掃描讀入的狀態(tài)為11100000,最后鍵值 Z=11101110=EEH,然后轉(zhuǎn)去執(zhí)行相 應(yīng)的服務(wù)程序。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為 1。讀入 P1口的狀態(tài)來判別。 鍵盤中斷工作方函數(shù)發(fā)生器的軟 硬 件設(shè)計 15 式如圖 310所示: 圖 310 鍵盤中斷工作方式 ⑶ 系統(tǒng)鍵盤的實現(xiàn) 依據(jù)上述工作原理,結(jié)合本設(shè)計實際,設(shè)計出本系統(tǒng)鍵
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1