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

正文內(nèi)容

基于at89s52的光電編碼器計數(shù)顯示-資料下載頁

2024-11-08 01:50本頁面

【導(dǎo)讀】單片機定時/計數(shù)器2可逆計數(shù)的實現(xiàn)...

  

【正文】 系統(tǒng)和內(nèi)部定時計數(shù)器也有了更深的了解。獨立地完成了單片機 c 程序的編寫,對于編寫程序有了更進一步的掌握。 在畢業(yè)設(shè)計過程中遇到了很多困難和問題,走了很多的彎路 ,感謝李越老師在畢業(yè)設(shè)計過程中的悉心指導(dǎo)和嚴格的監(jiān)督。 煙臺大學(xué)畢業(yè)論文(設(shè)計) 30 參考文獻 [1]胡漢才 .《 單片機原理及其接口技術(shù) 》 .北京:清華大學(xué)出版社, 2020 [2]陳杰 ,黃鴻 .《 傳感器與檢測技術(shù) 》 . 北京:高等教育出版社, 2020 [3]張永瑞 .《 電子測量技術(shù)基礎(chǔ) 》 .西安 :西安電子科技大學(xué)出版 ,1998 [4]周明德 .《 微型機算計原理及其應(yīng)用 》 .北京 :清華大學(xué)出版社 ,2020 [5]閻石 .《 數(shù)字電子技術(shù)基礎(chǔ) 》 . 北京 :高等教育出版社 ,2020 [6]李剛 .《 電力電子技術(shù)基 礎(chǔ) 》 .北京 :北京航空航天大學(xué)出版社 ,2020 [7]張毅剛 .《 新編 MCS51 單片機應(yīng)用設(shè)計 》 .哈爾濱工業(yè)大學(xué)出版社 煙臺大學(xué)畢業(yè)論文(設(shè)計) 31 附錄 1 程序流程圖 初始化子程序 開總中斷,開外部中斷 0,設(shè)置為下降沿觸發(fā) 設(shè)置 T2定時計數(shù)器為十六位自動重載模式,賦初值,開計數(shù)器 讀取 TL2 及 TH2 中的數(shù)據(jù),轉(zhuǎn)換 判斷轉(zhuǎn)換數(shù)據(jù)是否大于 1000 N 開始 數(shù)據(jù)減 1000 1000 減去轉(zhuǎn)換的數(shù)據(jù) 調(diào)用數(shù)碼管動態(tài)顯示子程序 煙臺大學(xué)畢業(yè)論文(設(shè)計) 32 調(diào)用鍵盤掃描子程序,鍵值處 理子程序,設(shè)定計數(shù)的上限及下限 調(diào)用 1602 寫指令,寫命令子程序,顯示轉(zhuǎn)向,顯示鍵值 判斷轉(zhuǎn)向 外部中斷子程序,判斷轉(zhuǎn)動的圈數(shù),處理數(shù)據(jù) 調(diào)用 1602 寫指令,寫數(shù)據(jù),顯示圈數(shù) 判斷是否超出鍵盤設(shè)定范圍 1602 液晶顯示 WARNING! 1602 液晶顯示 OK! Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 33 口檢測到下降沿,進入中斷 檢測 是否為高電平 方向判斷為正,轉(zhuǎn)動圈數(shù)加一,方向及圈數(shù)送 1602 顯示 方向判斷為反,轉(zhuǎn)動圈數(shù)減一,方向及圈數(shù)送 1602 顯示 將初始化 數(shù)據(jù)送入 TH0,TL0 跳出中斷 返回圈數(shù)數(shù)據(jù) N Y 煙臺大學(xué)畢業(yè)論文(設(shè)計) 34 掃描 3 4 鍵盤第一行 給 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 延時 100ms,消抖,確實按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測,與 0xf0 相與 結(jié)果不為 oxf0 檢測第二行 Y N Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 35 掃描 3 4 鍵盤第二行 給 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 延時 100ms,消抖,確實按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測,與 0xf0 相與 結(jié)果不為 0xf0 檢測第三行 Y N Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 36 掃描 3 4 鍵盤第三行 給 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 延時 100ms,消抖,確實按下 ,讀取 P2口當(dāng)前值 結(jié)果不為 oxf0 再次檢測,與 0xf0 相與 結(jié)果不為 oxf0 跳出鍵盤檢測 Y N Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 37 讀取要顯示的數(shù)據(jù) 顯示數(shù)據(jù)對 100 取整,取出數(shù)據(jù) 經(jīng)查表得出數(shù)碼管的段選碼 打開第一位數(shù)碼管的位選,顯示數(shù)據(jù) 數(shù)據(jù)對 100 取余,再對 10 取整,取出十位 經(jīng)查表得出數(shù)碼管的段選碼 打開第二位數(shù)碼管的位選,顯示數(shù)據(jù) 打開第三位數(shù)碼管的位選,顯示數(shù)據(jù) 經(jīng)查表得出數(shù)碼管的段選碼 顯示數(shù)據(jù)對 10 取余,取出個位數(shù) 煙臺大學(xué)畢業(yè)論文(設(shè)計) 38 設(shè)置 int x, y, z 給 z 賦值為 x 給 y 賦值為 110 z=0? y=0? 跳出延時 y 自減 1 給 x賦初值 z 自減 1 Y N Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 39 關(guān)位選信號 設(shè)置為 160216 2 顯示, 5 7 點陣, 8 位數(shù)據(jù)接口 開顯示,顯示光標,光標不閃爍 每顯示一個數(shù)字,地址加一,整屏顯示不移動 清屏 , 地址指針指向第一位 寫入數(shù)據(jù),在設(shè)定位置顯示 C: A:+ B: 將 P0=0xff,開命令選擇,開讀選擇,開液晶使能端 將 P0與 ox80 相與,輸出結(jié)果 結(jié)果為 0x80? 關(guān)使能端 關(guān)使能端 開使能端 Y N 煙臺大學(xué)畢業(yè)論文(設(shè)計) 40 附錄 2 C 語言源程序 include define uint unsigned int define uchar unsigned char sbit rs = P1^2。 sbit rw = P1^3。 sbit en = P1^4。 sbit led1=P1^5。 sbit led2=P1^6。 sbit led3=P1^7。 sbit t2en=P1^1。 sbit cs=P3^4。/*片選信號由 產(chǎn)生 */ sbit sck=P3^3。 /*時鐘信號由 產(chǎn)生 */ sbit si=P3^0。 /*SI 由 產(chǎn)生 */ sbit so=P3^1。 /*SO 由 產(chǎn)生 */ sbit c=ACC^7。 /*定義位變量 */ bdata unsigned char 。 uchar tab_key[50]。 uchar code tab[]=0123456789ab。 uchar code table1[]=WARING! uchar code table2[]=OK! uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}。 char p=0,q=0,r=0,s=0。 uchar n=0,temp,key。 uchar num , num1, num2。 /********************延時子程序 ********************/ void delay(uint z) { 煙臺大學(xué)畢業(yè)論文(設(shè)計) 41 uint x,y 。 for(x=z。x0。x) for(y=110。y0。y)。 } /********************1602 液晶寫命令子程序 ********************/ void write_(uchar ) { rs = 0。 P0=。 delay(5)。 en=1。 delay=(5) en=0。 } /********************1602 液晶寫數(shù)據(jù)子程序 ********************/ void write_data(uchar date) { rs = 0。 P0=date。 delay(5)。 en=1。 delay=(5) en=0。 } /********************1602 液晶及數(shù)碼管初始化子程序 *************/ void init() { led1=0。 led2=0。 led3=0。 write_(0x38)。//設(shè)置為 16 2顯示, 5 7 點陣, 8位數(shù)據(jù)接口 write_(0x0e)。//開顯示,顯示光標,光標不閃爍 write_(0x06)。//每顯示一個數(shù)字 ,地址加一,整屏顯示不移動 煙臺大學(xué)畢業(yè)論文(設(shè)計) 42 write_(0x01)。//清屏 write_(0x80)。//地址指針指向第一位 write_data(‘ C’ )。//分別在固定的位置輸入 C: A:及 B: write_data(0x3A) write_(0x80+0x40)。 write_data(‘ A’ )。 write_data(0x3A)。 write_data(‘ +’ ) write_(0x80+0x49)。 write_data(‘ B’ )。 write_data(0x3A)。 write_data(‘ ’ )。 } /********************1602 液晶忙檢測 ********************/ void busytest() //測試是否忙 { P0=0xff。 RS=0。 RW=1。 EN=1。 while((P0amp。0x80)==0x80) { EN=0。 EN=1。 }。 EN=0。 } /********************鍵盤掃描子程序 ********************/ void key_scan() { /*掃描第一行 */ P2=0xfa。 temp=P2。 temp=tempamp。0xf0。 if(temp!=0xf0) { delay(100)。 煙臺大學(xué)畢業(yè)論文(設(shè)計) 43 if(temp!=0xf0) { temp=P2。 switch(temp) { case 0xea: key_manage1()。 break。 case 0xda: key_manage2()。 break。 case 0xba: key_manage3()。 break。 case 0x7a: key_manage4()。 break。 } while(temp!=0xf0) { temp=P3。 temp=tempamp。0xf0。 } } } /********************掃描第二行 ********************/ P2=0xf9。 temp=P2。 temp=tempamp。0xf0。 if(temp!=0xf0) { delay(100)。 if(temp!=0xf0) { temp=P2。
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1