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

正文內容

基于8051單片機的流水燈設計(編輯修改稿)

2025-02-14 14:46 本頁面
 

【文章內容簡介】 作于基本I/O方式,也可以作為A、B選通方式時的控制聯(lián)絡線。方式2時,A、B、C口都工作于基本I/O方式,可以直接和外設相連,采用“MOVX”類的指令進行輸入/輸出操作。方式3時,A口為選通I/O方式,由C口的低三位作聯(lián)絡線,其余位作I/O線;B口為基本I/O方式。方式4時,A、B口均為選通I/O方式,C口作為A、B口的聯(lián)絡線。本設計的A,B,C三個I/O口都是作為基本輸入輸出I/O用的。A,B口為輸出驅動16個LED,C口為輸入完成按鍵掃描功能。 定時/計數(shù)器使用 8155的可編程定時/計數(shù)器是一個14位的減法計數(shù)器,在TIMERIN端輸入計數(shù)脈沖,計滿時由TIMEROUT輸出脈沖或方波,輸出方式由定時器高8位寄存器中的MM1兩位來決定。當TIMERIN接外脈沖時為計數(shù)方式,接系統(tǒng)時鐘時為定時方式,實際使用時一定要注意芯片允許的最高計數(shù)頻率!定時/計數(shù)器的初始值和輸出方式由高、低8位寄存器的內容決定,初始值14位,其余兩位定義輸出方式。1) 定時/計數(shù)器的輸出方式 2) 定時/計數(shù)器的工作8155對內部定時器的控制是由8155控制字的DD6位決定的,現(xiàn)總結如下表所示。 8051單片機并行I/O擴展使用單片機本身的I/O口,可以實現(xiàn)一些簡單的數(shù)據(jù)輸入/輸出傳送,但是對于復雜的I/O操作,必須有接口電路的協(xié)調與控制才能進行。 8051并行擴展總線雖然系統(tǒng)擴展需要地址總線和數(shù)據(jù)總線,但在單片機芯片上并沒有為此提供專用的地址引腳和數(shù)據(jù)引腳,實際擴展時都是由I/O口線來充當?shù)刂肪€和數(shù)據(jù)線。1. 以P0口的8位口線充當?shù)臀坏刂肪€/數(shù)據(jù)線由于P0口一線兩用,既傳送地址又傳送數(shù)據(jù),所以采用分時技術對它上面的地址和數(shù)據(jù)進行分離。使用分時技術被分離出的是低8位。2. 以P2口的口線作高位地址線。P2口只作為高位地址線使用 8051單片機與8155的接口8051和8155的接口非常簡單,因為8155內部有一個8位地址鎖存器,故無需外接鎖存器。 8051與8155地址、數(shù)據(jù)線連接方法是,8051 P0口與8155的AD總線直接連接,既作為低8位地址總線,又作為數(shù)據(jù)總線。8051的地址鎖存信號ALE與8155的ALE直接連接。如圖所示 8051與8155的連接,IO/。,=1,訪問8155的I/O口;=0,則訪問8155的RAM單元。由此得到圖中8155的地址編碼如下:命令/狀態(tài)口 7F00HA口 7F01H B口 7F02HC口 7F03H定時器低字節(jié) ?7F04H定時器高字節(jié) ?7F0。第四章 單片機與8155的接口設計的應用 LED顯示發(fā)光二極管就是LED(Light Emitting Diode),是一種由磷化鎵(GaP)等半導體材料制成的、能直接將電能轉變成光能的發(fā)光顯示器件。當其內部有一定電流通過時,它就會發(fā)光。發(fā)光二極管(LED)具有功耗低、體積小、可靠性高、壽命長和相應快等優(yōu)點,早己廣泛應用于儀器儀表、計算機、汽車、電子玩具、通訊、自動控制、軍事等領域。在這個設計里面我用的是16只燈,。8155的A,B兩個口加起來剛好就是16個I/O,我們只需要將一個16位二進制數(shù)(程序中一般習慣用十六進制表示如0x7FFF)送到8155的A,B口,由于我們的發(fā)光二極管(LED)是共陽極的接法,當8155的I/O口輸出為低電平時對應的LED就點亮。我們只需要將初值(0x7FFF)不斷地循環(huán)右移或左移那么就會看到LED輪流被點亮,也就實現(xiàn)了流水燈功能。在實際的操作中,我設計了幾個流水模式,分別是一只燈亮,間隔兩只燈亮,連續(xù)四只燈亮,間隔兩組四只燈亮,連續(xù)八只燈亮和連續(xù)十二只燈亮。流水燈的幾個模式實現(xiàn)方法都是一樣的。只是初值不同而已。幾種模式對應的寄存器初值如下:0x7FFF。0x7F7F。 0x0FFF。 0x0F0F。 0x00FF。 0x000F。如果我們把初值設定為0x0FFF那么同一時間內就會有4只LED點亮,最終的效果就是四只LED在跑。為了控制流動速度,我使用了一個定時器來設定兩次移位的間隔時間。此外我還設置了正轉和反轉,正轉和反轉其實就是循環(huán)左移和循環(huán)右移的區(qū)別。 LED顯示與按鍵掃描電路 按鍵掃描本設計采用獨立式按鍵接口設計。獨立式按鍵是每個按鍵占用一根I/O端線。適用于按鍵數(shù)量較少的場合。特點:①各按鍵相互獨立,電路配置靈活;②按鍵數(shù)量較多時,I/O端線耗費較多,電路結構繁雜;③軟件結構簡單。按鍵開關去抖動問題 鍵盤的抖動時間一般為5~10ms,抖動現(xiàn)象會引起CPU對一次鍵操作進行多次處理,從而可能產生錯誤。消除抖動不良后果的方法:軟件去抖動:檢測到按鍵按下后,執(zhí)行延時10ms子程序后再確認該鍵是否確實按下,消除抖動影響。2. 按鍵掃描設置8155的C口為輸入模式,在沒有按鍵按下的時候,8155接按鍵的幾個I/O都被相應的上拉電阻拉為高電平,那么MCU讀到的都是高電平;當有按鍵按下時,對應的I/O被接地,輸入低電平,此時MCU從8155C口讀到對應位為0,這些都是在按鍵掃描程序里面完成的,主函數(shù)中根據(jù)按鍵值可以設定一些控制操作。合理配合按鍵與狀態(tài)變量還可以實現(xiàn)一個按鍵多種功能。在程序中,定義了一個16位的整型變量lamp,用來存儲16個LED的數(shù)據(jù)。設初值為0x7FFF,啟動50MS定時器,當按下開始鍵后置位開始標志,每隔50MS進行循環(huán)移一位,第一次移位后 為0xBFFF,第二次移位后為0xDFFF…… 按鍵掃描流程圖第五章 結 論單片機將不斷的引導電子產品的創(chuàng)新,所以學好單片機的相關知識是十分必要的,例如單片機的組成及結構知識,單片機的指令系統(tǒng),程序設計,還有相關的擴展應用知識,本設計就是一個很典型的也很簡單的單片機擴展應用,此外還有接口技術等等。 本文的重要研究工作及結論如下:1. 介紹了很經典的常用的MCS51系列單片機,介紹了8051的引腳功能、存儲器配置、并行輸入輸出電路、定時計數(shù)器等。2. 介紹了并行擴展芯片8155,介紹了8155的命令狀態(tài)寄存器,I/O口的工作方式,以及計數(shù)/定時器的使用。還有8051與8155的接口。3. 介紹了單片機8051與并行接口芯片8155的接口設計的應用——流水燈(或叫跑馬燈)。并設置了幾個流水模式,讓設計更顯豐富。這是一個非常簡單的設計,通過本設計,本人對單片機與并行接口芯片的接口設計做了一些研究工作,并作出了實物,積累了一定的經驗,為以后的科研和工作打下了堅實的基礎參考文獻1. 南建輝,熊鳴,王軍茹 MCS51單片機原理及應用實例 清華大學出版社 2004年3月2. 何立民 單片機原理及系統(tǒng)設計(系統(tǒng)配置與接口技術) 北京航空航天大學出版社 1994年3. 張迎新 單片微型計算機原理、應用及接口技術 國防工業(yè)出版社 1993年4. 陳粵初 單片機應用系統(tǒng)設計與實踐 北京航空航天大學出版社 1993年5. 孫涵芳,徐愛卿 MCS51/96系列單片機原理及應用(修訂版) 北京航空航天大學出版社 2000年6. 李廣弟,朱月秀,冷祖祈 單片機基礎(第三版) 北京航空航天大學出版社 2007年畢業(yè)設計小結2009年3月,我開始了我的畢業(yè)論文工作,時至今日,論文基本完成。從最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,整個寫作過程難以用語言來表達。歷經了幾個月的奮戰(zhàn),緊張而又充實的畢業(yè)設計終于落下了帷幕?;叵脒@段日子的經歷和感受,我感慨萬千,在這次畢業(yè)設計的過程中,我擁有了無數(shù)難忘的回憶和收獲。 下面來對畢設總結一下:1. 選定方案。拿到畢設題目要盡快選定系統(tǒng)方案,不能走一步看一步,必須把整體把握好。而我的這次畢設,反復更換了好幾個方案才最終定下來做流水燈應用,這樣大大浪費了時間。2. 與老師和同學交流討論。在做設計時一定會遇到很多問題,除了要獨立思考外,還應多與老師及同學交流討論,這樣不僅能加深對知識的理解而且還能拓展知識。3. 電路設計。在設計電路初期,由于沒有設計經驗,覺得無從下手,空有很多設計思想,卻不知道應該選哪個,經過導師的指導,我的設計漸漸有了頭緒,通過查閱資料,逐漸確立系統(tǒng)方案。4. 軟件的學習。由于需要做出實物,所以一定要學習相關的作圖軟件。在學習軟件時一定要邊做邊學軟件,下載一些軟件教程的視頻來看,然后邊看邊自己操作,千萬不能拿著軟件教程書從第一頁開始看,這樣效率太低。5. 制作實物。作工科類畢業(yè)設計最好是能做出實物,如果條件允許的話。這樣可以鞏固理論知識,又可以提高動手能力,正所謂實踐是檢驗真理的唯一標準。附 錄//filename://功能:流水燈include include include define uchar unsigned char //定義uchar 為無符號字符型 8位define uint unsigned int //定義uint為無符號整型 16位define count_T1_L 0xB0 //T1定時器初值 50MS定時define count_T1_H 0x3Cchar xdata PortA _at_ 0x7F01。 //A口地址char xdata PortB _at_ 0x7F02。 //B口地址char xdata PortC _at_ 0x7F03。 //C口地址char xdata PortComd _at_ 0x7F00。//命令口地址uchar count_Y=0。uchar count_N=0。uint lamp=0x7FFF。bit Flag_TM=0。 //T1溢出中斷標志bit Flag_K=0。bit Flag_INV=0。 /******************************************************/void t1_int(void) interrupt 3 //T1溢出中斷{ TL1=count_T1_L。 //定時器初值 TH1=count_T1_H。 Flag_TM=1。 return。}/******************************************************/uchar KeyScan8155(void) //8155C口鍵盤掃描{ uchar i=0。 uchar key=0。 key=PortC。 key=~key。 keyamp。=0x07。 if((key0)amp。(Flag_K==0)) //判斷是否有鍵按下 { if(count_Y10) //為消除抖動干擾只有連續(xù)10次掃描都有鍵按下才認為鍵已按下 { Flag_K=1。 count_Y=0。 return(key)。 //返回按鍵值 } else { count_Y++。 } } else { count_Y=0。 if(key==0) { if(count_N10) //判斷是否有鍵放開 { Flag_K=0。 count_N=0。 } else { count_N++。 } } else { count_N=0。 } } return(0x00)。 }/******************************************************/void stateSel(uchar sel){ switch(sel)
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1