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

正文內(nèi)容

基于at89s52的光電編碼器計(jì)數(shù)顯示(參考版)

2024-11-12 01:50本頁(yè)面
  

【正文】 if(temp!=0xf0) { temp=P2。0xf0。 temp=P2。0xf0。 } while(temp!=0xf0) { temp=P3。 case 0x7a: key_manage4()。 case 0xba: key_manage3()。 case 0xda: key_manage2()。 switch(temp) { case 0xea: key_manage1()。 if(temp!=0xf0) { delay(100)。 temp=tempamp。 } /********************鍵盤(pán)掃描子程序 ********************/ void key_scan() { /*掃描第一行 */ P2=0xfa。 }。0x80)==0x80) { EN=0。 EN=1。 RS=0。 write_data(‘ ’ )。 write_data(‘ B’ )。 write_data(0x3A)。//分別在固定的位置輸入 C: A:及 B: write_data(0x3A) write_(0x80+0x40)。//清屏 write_(0x80)。//開(kāi)顯示,顯示光標(biāo),光標(biāo)不閃爍 write_(0x06)。 write_(0x38)。 led2=0。 delay=(5) en=0。 delay(5)。 } /********************1602 液晶寫(xiě)數(shù)據(jù)子程序 ********************/ void write_data(uchar date) { rs = 0。 en=1。 P0=。y)。x) for(y=110。 for(x=z。 uchar num , num1, num2。 char p=0,q=0,r=0,s=0。 uchar code tab[]=0123456789ab。 /*定義位變量 */ bdata unsigned char 。 /*SI 由 產(chǎn)生 */ sbit so=P3^1。/*片選信號(hào)由 產(chǎn)生 */ sbit sck=P3^3。 sbit t2en=P1^1。 sbit led2=P1^6。 sbit en = P1^4。 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 30 參考文獻(xiàn) [1]胡漢才 .《 單片機(jī)原理及其接口技術(shù) 》 .北京:清華大學(xué)出版社, 2020 [2]陳杰 ,黃鴻 .《 傳感器與檢測(cè)技術(shù) 》 . 北京:高等教育出版社, 2020 [3]張永瑞 .《 電子測(cè)量技術(shù)基礎(chǔ) 》 .西安 :西安電子科技大學(xué)出版 ,1998 [4]周明德 .《 微型機(jī)算計(jì)原理及其應(yīng)用 》 .北京 :清華大學(xué)出版社 ,2020 [5]閻石 .《 數(shù)字電子技術(shù)基礎(chǔ) 》 . 北京 :高等教育出版社 ,2020 [6]李剛 .《 電力電子技術(shù)基 礎(chǔ) 》 .北京 :北京航空航天大學(xué)出版社 ,2020 [7]張毅剛 .《 新編 MCS51 單片機(jī)應(yīng)用設(shè)計(jì) 》 .哈爾濱工業(yè)大學(xué)出版社 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 31 附錄 1 程序流程圖 初始化子程序 開(kāi)總中斷,開(kāi)外部中斷 0,設(shè)置為下降沿觸發(fā) 設(shè)置 T2定時(shí)計(jì)數(shù)器為十六位自動(dòng)重載模式,賦初值,開(kāi)計(jì)數(shù)器 讀取 TL2 及 TH2 中的數(shù)據(jù),轉(zhuǎn)換 判斷轉(zhuǎn)換數(shù)據(jù)是否大于 1000 N 開(kāi)始 數(shù)據(jù)減 1000 1000 減去轉(zhuǎn)換的數(shù)據(jù) 調(diào)用數(shù)碼管動(dòng)態(tài)顯示子程序 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 32 調(diào)用鍵盤(pán)掃描子程序,鍵值處 理子程序,設(shè)定計(jì)數(shù)的上限及下限 調(diào)用 1602 寫(xiě)指令,寫(xiě)命令子程序,顯示轉(zhuǎn)向,顯示鍵值 判斷轉(zhuǎn)向 外部中斷子程序,判斷轉(zhuǎn)動(dòng)的圈數(shù),處理數(shù)據(jù) 調(diào)用 1602 寫(xiě)指令,寫(xiě)數(shù)據(jù),顯示圈數(shù) 判斷是否超出鍵盤(pán)設(shè)定范圍 1602 液晶顯示 WARNING! 1602 液晶顯示 OK! Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 33 口檢測(cè)到下降沿,進(jìn)入中斷 檢測(cè) 是否為高電平 方向判斷為正,轉(zhuǎn)動(dòng)圈數(shù)加一,方向及圈數(shù)送 1602 顯示 方向判斷為反,轉(zhuǎn)動(dòng)圈數(shù)減一,方向及圈數(shù)送 1602 顯示 將初始化 數(shù)據(jù)送入 TH0,TL0 跳出中斷 返回圈數(shù)數(shù)據(jù) N Y 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 34 掃描 3 4 鍵盤(pán)第一行 給 P2口賦值為 0xfa,讀取 P2 口狀態(tài) 將 P2口讀出狀態(tài)與 0xf0 相與 若結(jié)果 為 0xea 調(diào)用鍵值處理程序 0 若結(jié)果 為 0xda 調(diào)用鍵值處理程序 1 若結(jié)果 為 0xba 調(diào)用鍵值處理程序 2 若結(jié)果 為 0x7a 調(diào)用鍵值處理程序 3 延時(shí) 100ms,消抖,確實(shí)按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測(cè),與 0xf0 相與 結(jié)果不為 oxf0 檢測(cè)第二行 Y N Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 35 掃描 3 4 鍵盤(pán)第二行 給 P2口賦值為 0xf9,讀取 P3 口狀態(tài) 將 P2口讀出狀態(tài)與 0xf0 相與 若結(jié)果 為 0xe9 調(diào)用鍵值處理程序 4 若結(jié)果 為 0xd9 調(diào)用鍵值處理程序 5 若結(jié)果 為 0xb9 調(diào)用鍵值處理程序 6 若結(jié)果 為 0x79 調(diào)用鍵值處理程序 7 延時(shí) 100ms,消抖,確實(shí)按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測(cè),與 0xf0 相與 結(jié)果不為 0xf0 檢測(cè)第三行 Y N Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 36 掃描 3 4 鍵盤(pán)第三行 給 P3口賦值為 0xf3,讀取 P3 口狀態(tài) 將 P3口讀出狀態(tài)與 0xf0 相與 若結(jié)果 為 0xe3 調(diào)用鍵值處理程序 0 若結(jié)果 為 0xd3 調(diào)用鍵值處理程序 1 若結(jié)果 為 0xb3 調(diào)用鍵值處理程序 2 若結(jié)果 為 0x73 調(diào)用鍵值處理程序 3 延時(shí) 100ms,消抖,確實(shí)按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測(cè),與 0xf0 相與 結(jié)果不為 oxf0 跳出鍵盤(pán)檢測(cè) Y N Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 37 讀取要顯示的數(shù)據(jù) 顯示數(shù)據(jù)對(duì) 100 取整,取出數(shù)據(jù) 經(jīng)查表得出數(shù)碼管的段選碼 打開(kāi)第一位數(shù)碼管的位選,顯示數(shù)據(jù) 數(shù)據(jù)對(duì) 100 取余,再對(duì) 10 取整,取出十位 經(jīng)查表得出數(shù)碼管的段選碼 打開(kāi)第二位數(shù)碼管的位選,顯示數(shù)據(jù) 打開(kāi)第三位數(shù)碼管的位選,顯示數(shù)據(jù) 經(jīng)查表得出數(shù)碼管的段選碼 顯示數(shù)據(jù)對(duì) 10 取余,取出個(gè)位數(shù) 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 38 設(shè)置 int x, y, z 給 z 賦值為 x 給 y 賦值為 110 z=0? y=0? 跳出延時(shí) y 自減 1 給 x賦初值 z 自減 1 Y N Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 39 關(guān)位選信號(hào) 設(shè)置為 160216 2 顯示, 5 7 點(diǎn)陣, 8 位數(shù)據(jù)接口 開(kāi)顯示,顯示光標(biāo),光標(biāo)不閃爍 每顯示一個(gè)數(shù)字,地址加一,整屏顯示不移動(dòng) 清屏 , 地址指針指向第一位 寫(xiě)入數(shù)據(jù),在設(shè)定位置顯示 C: A:+ B: 將 P0=0xff,開(kāi)命令選擇,開(kāi)讀選擇,開(kāi)液晶使能端 將 P0與 ox80 相與,輸出結(jié)果 結(jié)果為 0x80? 關(guān)使能端 關(guān)使能端 開(kāi)使能端 Y N 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 40 附錄 2 C 語(yǔ)言源程序 include define uint unsigned int define uchar unsigned char sbit rs = P1^2。獨(dú)立地完成了單片機(jī) c 程序的編寫(xiě),對(duì)于編寫(xiě)程序有了更進(jìn)一步的掌握。能夠熟練應(yīng)用數(shù)碼管的動(dòng)態(tài)或者靜態(tài)顯示,更加靈活地使用了 1602 液晶來(lái)顯示靜態(tài)數(shù)據(jù)。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無(wú)法捕捉回程序時(shí),則看門(mén)狗定時(shí)時(shí)間很快增長(zhǎng)到預(yù)置時(shí)間,迫使系統(tǒng)復(fù)位。 看門(mén)狗電路的定時(shí)時(shí)間長(zhǎng)短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時(shí)最大循環(huán)周期的時(shí)間略長(zhǎng)即可。 WD1= 1, WD0=0,預(yù)置時(shí)間為 。 X25045 狀態(tài)寄存器 WD1= 0, WD0=0,預(yù)置 時(shí)間為 。硬件看門(mén)狗是真正意義上的 “ 程序運(yùn)行監(jiān)視器 ” ,如計(jì)數(shù)型的看門(mén)狗電路通常由 555 多諧振蕩器、計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。工控系統(tǒng)在運(yùn)行時(shí),通常都會(huì)遇到各種各樣的現(xiàn)場(chǎng)干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個(gè)重要指標(biāo)。 三端穩(wěn)壓電路 7805 輸入電壓應(yīng)高于輸出電壓 4V7V,(壓差較大穩(wěn)定 ,但功耗也大 ,7805 應(yīng)加大散熱片)輸出電壓才穩(wěn)定 。 接口如下圖所示。 74LS244 為三態(tài)八緩沖器 /線驅(qū)動(dòng)器 /線接收器 由于單片機(jī)不能同時(shí)驅(qū)動(dòng)三個(gè)數(shù)碼管,所以加一個(gè) 驅(qū)動(dòng)器 74LS244 來(lái)驅(qū)動(dòng) 3 位數(shù)碼管。在初始化程序中關(guān)掉三個(gè)數(shù)碼管的位選端 。 如圖所示 ,數(shù)碼管接成共陰極的接法 ,數(shù)碼管的段選碼由單片機(jī)的 P0 口輸出 ,三位數(shù)碼管的的位選端分別通過(guò) NPN型的三極管接地。由于人們的眼睛存在的視覺(jué)惰性,這種顯示頻率超過(guò)每秒 50 次以上時(shí),人們感覺(jué)到的只是顯示的平均結(jié)果。 A: 后面的數(shù)據(jù) 代表的是鍵盤(pán)輸入的轉(zhuǎn)動(dòng)上限 B:后面的數(shù)據(jù)代表的是鍵盤(pán)輸入的轉(zhuǎn)動(dòng)下限 在 判 斷 轉(zhuǎn) 動(dòng)位 置 是否 超 出上 下 限 之后 ,1602 在 固 定位 置 顯 示出“ WARING!”或者“ OK!”。 圖 P0 口接上拉電阻 1602液晶初始化 本設(shè)計(jì)中 1602 液晶初始化需要將液晶初始化為如圖的樣式。 嚴(yán)格根據(jù)讀寫(xiě)時(shí)序進(jìn)行給 1602 寫(xiě)命令,寫(xiě)數(shù)據(jù)。 R/W接單片機(jī)的 , RS接單片機(jī)的 口, E接單片機(jī)的 口。如圖 。這樣就消除了鍵盤(pán)抖動(dòng)對(duì)于 系統(tǒng)的影響。若不做鍵盤(pán)消抖處理,會(huì)引起很多錯(cuò)誤,進(jìn)行鍵盤(pán)消抖的方法是對(duì)當(dāng)掃描到有鍵按下的時(shí)候,就進(jìn)行延時(shí),大約延時(shí) 10~20ms,再檢測(cè)鍵盤(pán)是否按下,如果再次檢測(cè)到鍵按下,做鍵位掃描。 鍵盤(pán)按鍵檢測(cè)的方法為先掃描鍵盤(pán)的列,若檢測(cè)到鍵盤(pán)某一列中有鍵按下,再去檢測(cè)鍵盤(pán)的行接口,判斷是哪一行中的鍵按下,從而實(shí)現(xiàn)了鍵位的檢測(cè)。經(jīng)處理之后的鍵值保存到一個(gè)設(shè)定的數(shù)組當(dāng)中,然后 1602液晶的數(shù)據(jù)從數(shù)組中取出,并顯示鍵值。 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 22 矩陣鍵盤(pán)和單片機(jī)的連接及鍵值處理 圖 鍵盤(pán)與單片機(jī)的接口電路 鍵盤(pán)接口及鍵位確定 所用到的鍵盤(pán)為 3 4的矩陣鍵盤(pán),鍵盤(pán)接到單片機(jī)的 ~ , 一個(gè)開(kāi)關(guān)鍵所接的兩條線之間的關(guān)系為線與關(guān)系。電路圖如圖 圖 計(jì)數(shù) 器計(jì)數(shù)電路 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì)) 21 單片機(jī) 對(duì)于編碼器圈數(shù)的計(jì)數(shù)及外部中斷 0 圖 編碼器圈數(shù)計(jì)數(shù) 如圖 ,編碼器的外部中斷 0接到編碼器的 Z相輸入上 ,Z相為每編碼器每轉(zhuǎn)一圈 ,輸出一個(gè)高電平 ,所以將外部中斷 0設(shè)置為
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1