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

正文內(nèi)容

基于單片機的多路定時控制系統(tǒng)設計(編輯修改稿)

2024-07-24 19:42 本頁面
 

【文章內(nèi)容簡介】 入。上升沿時移位寄存器中的數(shù)據(jù)進入存儲寄存器,下降沿時存儲寄存器中的數(shù)據(jù)保持不變。應用時通常將ST_CP置為低點平,移位結(jié)束后再在ST_CP端產(chǎn)生一個正脈沖更新顯示數(shù)據(jù)。OE:輸出允許,高電平時禁止輸出(高阻態(tài))。引腳不緊張的情況下可以用STC89C52的一個引腳來控制它,這樣可以很方便地產(chǎn)生閃爍和熄滅的效果。實際應用時可以將它直接連低電平(GND)。DS:移位寄存器的串行數(shù)據(jù)輸入,接STC89C52的某個數(shù)字I/O引腳。VCC:單元端,通常接+5V電壓。 提示電路 提示電路,提示電路由驅(qū)動芯片驅(qū)動一位共陽極數(shù)碼管構(gòu)成。其中,則移位寄存器總是比存儲寄存器早一個脈沖。,用于接收來自單片機的數(shù)據(jù)。復位端MR接高電平,防止移位寄存器中的數(shù)據(jù)清0,輸出允許端OE因單片機引腳緊缺,所以接地,允許輸出。存儲寄存器的輸出Q0Q6接共陽數(shù)碼管的ag段,用以顯示相關的提示數(shù)字(提示數(shù)字為:07)。,在需要顯示提示數(shù)字的時候,三極管導通,在數(shù)碼管的公共端產(chǎn)生高電平,使能數(shù)碼管;在不需要顯示提示數(shù)字是,三極管截止,數(shù)碼管的公共端為低電平,不使能數(shù)碼管。蜂鳴器由一個PNP三極管驅(qū)動,蜂鳴器發(fā)聲;置1時,蜂鳴器不發(fā)生。用于提示按下的某個按鍵是否被檢測,成為有效按鍵。 控制電路的設計 ULN2803芯片介紹 ULN2803引腳圖ULN2803是八路NPN達林管連接晶體管陣系列,特別適用于低邏輯電平數(shù)字電路(諸如TTL, CMOS或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應用于計算機,工業(yè)用和消費類產(chǎn)品中的燈、繼電器、打印錘或其它類似負載中。所有器件具有集電極開路輸出和續(xù)流箱位二極管,用于抑制躍變。ULN2803的設計與標準TTL系列兼容,而ULN2804 最適于6至15伏高電平CMOS或PMOS。,引腳說明如下:18引腳:輸入端1118引腳:輸出端9引腳:地端10引腳:電源端 控制電路, 控制電路ULN2803的公共端接5V電源,輸出引腳1118分別經(jīng)限流電阻接LED燈燈7燈0(燈從上到下編號為07,對應電器支路07),LED燈采用共陰極接法。實物中沒有采取ULN2803芯片,LED采用共陽極接法;實際生活中,LED燈應該接繼電器。,對應的LED會亮(模擬電器支路從斷到通);輸出為1時,對應的LED燈從亮到滅(模擬電器支路從通到斷)。4 系統(tǒng)軟件的設計 系統(tǒng)主程序,畫出了系統(tǒng)的主程序流程圖,從圖中可以看出程序的執(zhí)行過程主要包括程序初始化、時間校準模式、動作時間設定模式、動作路徑選擇模式、動作次第與動作性質(zhì)設定模式。程序初始化程序可以獨立完成,后面的4個模式都要鍵盤輸入電路的配合才能完成,可見按鍵檢測的重要性。在后面的內(nèi)容中,先介紹按鍵檢測子程序然后再分別介紹程序初始化、時間校準子程序、動作時間設定子程序、動作路徑選擇子程序、動作次第與動作性質(zhì)設定子程序,每個子程序會舉例說明,必要時會給流程圖。 按鍵檢測子程序本次畢設中,由于按鍵設置的模式較多,需要個數(shù)達到9個,為了節(jié)約I/O口,選擇使用33矩陣鍵盤,矩陣鍵盤有查詢式和中斷式兩種,本次畢設采用查詢式,采用按行查詢。在判斷鍵盤中有無按鍵按下時,先判斷是那根行線的狀態(tài)為低電平,其他線為高電平。在確認某行線為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與低電平的行線交叉處的按鍵就是閉合的按鍵。現(xiàn)給出部分按鍵檢測程序,以便說明。uchar ScanKey() //鍵盤掃描{ uchar temp,temp1,key。 temp=P3。 //讀取P3端口狀態(tài) tempamp。=0x87。 //判斷行線狀態(tài) switch(temp) { case 0x86: // { P3=0xB8。 delay(100)。 //延時片刻,以利于狀態(tài)的獲取否進入路徑選擇模式進入動作次第與動作性質(zhì)設定模式進入動作時間設定模式等待動作支路動作否是是否是程序初始化,進入時間校準時間校準是否完成?動作時間設定是否完成?開始動作次第與動作性質(zhì)設定是否完成?是否連續(xù)進行了8次動作設置?是否需要進行下一次動作設定?路徑選擇是否完成?否否否是是是 系統(tǒng)總體執(zhí)行流程圖 temp1=P3。 //讀取P3端口狀態(tài)temp1amp。=P3。 //判斷列線狀態(tài) switch(temp1) { case 0xB0: //,表示”0“鍵被按下 key=0。 /鍵值為0 break。 //跳出列線判斷狀態(tài) case 0xA8: //,表示”1“鍵被按下 key=1。 //鍵值為1 break。 //跳出列線判斷狀態(tài) case 0x98: //,表示”2“鍵被按下 key=2。 //鍵值為2 break。 //跳出列線判斷狀態(tài) default: //列線沒有發(fā)生狀態(tài)變化 break。 } P3=0x87。 break。 } return (key)。}程序中只給出了按鍵0、按鍵1和按鍵2的檢測程序,先檢測行線,給P3口賦初值0x87,當按鍵按下后P3口狀態(tài)變?yōu)?x86。后檢測列線,給P3口賦初值0xB8,當按鍵按下后P3口狀態(tài)變?yōu)?xB0,此時檢測按鍵0被按下;當按鍵按下后P3口狀態(tài)變?yōu)?xA8,檢測按鍵1被按下;當按鍵被按下后P3口狀態(tài)變?yōu)?x98,檢測按鍵2被按下。 系統(tǒng)初始化系統(tǒng)初始化包括中斷初始化、DS1302初始化和LCD1602初始化。中斷初始化,設開始定時中斷0初始化LCD1602初始化DS1302初始化初始化結(jié)束 程序初始化流程圖置了定時器0的工作方式、定時初值、開放總中斷和啟動定時器0。DS1302初始化將時、分、秒、年、月、日、星期的值賦值為0。LCD初始化設置了顯示格式、清除了LCD顯示內(nèi)容。時間校準就是檢查LCD1602顯示的時間是否準確,如果時間不準確,將影響后面的設置。時間校準校準的是基準時間(通常以當前時間為基準時間),可以消除DS1302長時間走時所產(chǎn)生的累計誤差。按鍵0進入時間校準,按鍵3使校準時標加1,按鍵4使校準時標減1,校準完一個時標后,按鍵2右移到下一個時標進行校準,當所有時標都校準完成后,按鍵5退出時間校準模式。校準順序:年→月→日→星期→時→分→秒,現(xiàn)以校準年的過程為例說明如何校準時間。 動作時間設定子程序動作時間設定模式中,可以設置動作時間。設置過程與時間校準相同,只是設置時標只有時、分、秒,設置順序為時→分→秒。設置時,按鍵1進入動作時間模式,按鍵 LCD顯示年是否大于準確年?LCD顯示年等于準確年?LCD顯示年小于準確年?按鍵3,使顯示年加1按鍵4,使顯示年減1否是否是是LCD顯示年等于準確年?否否是按鍵0,進入時間校準模式按鍵2,右移到校準月 校準年流程圖鍵3使設置的時標加1,按鍵4使設置的時標減1,設置完一個時標按鍵2向右移位,當最后一個時標都設置好了之后,按鍵5退出動作時間設定模式。例如設置動作時間為12:50:10。(1)按鍵1進入動作時間設定模式,LCD顯示第二行顯示Alarm:00:00:00,且小時在閃爍。(2)多次按鍵3,使顯示的小時為12后,按鍵2右移到時標分。(3)多次按鍵4,使顯示的分為50后,按鍵2右移到時標秒。(4)多次按鍵3,使顯示的秒為10后,按鍵5退出動作時間設定模式。動作路徑選擇是緊接動作時間設定后的操作,就是當你設定的動作時間到后,哪幾條電器支路動作,可以選擇18條動作路徑。在這個模式中,數(shù)碼管顯示的數(shù)字十分重要,顯示數(shù)字范圍為07,對應支路07,數(shù)碼管的數(shù)字是通過按鍵3(按一下數(shù)碼管數(shù)字加1)和按鍵4(按一下使數(shù)碼管數(shù)字減1)來改變的。按鍵2的作用是選中支路,如數(shù)碼管顯示0時,按下按鍵2就代表選中了支路2。當你選中支路2后,可以繼續(xù)改變數(shù)碼管的數(shù)字,接著選中其他的路徑,也可以按鍵5退出路徑選擇。注意在此模式中,按下的鍵要求有效,即按下某個鍵蜂鳴器發(fā)聲,才能保證設置無誤。例如,選中支路2和支路3的操作步驟如下:(1)按鍵6,進入動作路徑選擇模式,此時數(shù)碼管顯示為0,對應支路0.(2)多次按鍵3,使數(shù)碼管顯示為2,按鍵2,選中支路2.(3)按鍵3,是數(shù)碼管顯示為3,按鍵2,選中支路3,兩條支路選擇完成后,按鍵5退出動作路徑選擇模式。此程序是緊接動作路徑選擇之后的程序,也是最后需要按鍵設置的程序,設置動作次第就是用一個多維數(shù)組,存放動作時間設定模式中設定好的動作時間,人為的給其確定一個次第,這個次第的取值范圍是07,建議逐次設置,這樣不容易出錯;動作性質(zhì)設置,就是給在動作路徑選擇模式中選擇的路徑一個信號,讓它們在動作時間到的時候產(chǎn)生動作開或者動作關。動作開對應實物上的燈亮,動作關對應實物上的燈滅。動作性質(zhì)是通過一系列算法產(chǎn)生的。例如,設置路徑2和路徑3動作次第為0、動作性質(zhì)為開,設置步驟如下:(1)按鍵7,進入動作次第與動作性質(zhì)設定模式,此時數(shù)碼管顯示0,對應次第0,在該模式中,數(shù)碼管顯示幾表示對應的次第是幾,不再對應支路。數(shù)碼管顯示的數(shù)字可以通過按鍵3和按鍵4改變。(2)按鍵2,設定動作性質(zhì)為開。(按鍵8,設定動作性質(zhì)為關)設定完成,按鍵5退出動作次第與動作性質(zhì)設定模式。5 系統(tǒng)的安裝調(diào)試 仿真與編程軟件簡介 仿真軟件簡介仿真軟件采用Proteus ISSI軟件,ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2等軟件。④具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大。 編程軟件簡介編程軟件采用Kei C51軟件,Keil C51是德國Keil 公司推出的單片機開發(fā)軟件,它是一個基于32位Windows環(huán)境的應用程序,支持C語言和匯編語言編程,(通常稱為μV2)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:μVisionIDE集成開發(fā)環(huán)境(包括工程管理器、源程序編輯器、程序調(diào)試器)、C51編譯器、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標文件生成器以及Monitor5RTX51實時操作系統(tǒng)。 系統(tǒng)安裝調(diào)試 硬件調(diào)試硬件調(diào)試步驟如下:,檢測所有的線路是否有漏焊,焊錯的地方。檢查結(jié)果:單片機上的EA管腳未接電源;DS1302的主電源引腳為VCC2,接成了VCC1。檢查結(jié)果:LCD1602有條數(shù)據(jù)線虛焊;按鍵也存在虛焊。 軟件調(diào)試軟件編譯不成功,主要有以下方面的問題:1. 定義變量過多,超出范圍;2. 使用了未聲明的變量和函數(shù);3. 定義了函數(shù)但為使用;4. 變量名和函數(shù)名寫錯;5. 在語句的結(jié)尾漏寫結(jié)束符號“;”。 軟硬結(jié)合調(diào)試硬件和軟件調(diào)試之后,進行軟硬結(jié)合調(diào)試。,程序功能是通電后8個LED燈全亮,實物顯示時有的燈時亮時滅,原因是單片機沒插牢。插牢之后,所有的燈正常顯示。,編寫小程序檢測按鍵程序是否好使,程序功能是按下鍵幾燈幾亮,結(jié)果按鍵不好使,所有按鍵都試了,按鍵檢測無效。檢查程序知,是P3口賦初值不正確,修改初值后按鍵好使。,針對蜂鳴器編寫一段小程序,功能是按下一個按鍵,蜂鳴器發(fā)聲一次,結(jié)果蜂鳴器一直發(fā)聲,原因是蜂鳴器的驅(qū)動三極管焊錯,把PNP型三極管,當成了NPN型三極管。,功能是通電后數(shù)碼管顯示8,結(jié)果是數(shù)碼管顯示8但亮度弱,原因是數(shù)碼管為共陰數(shù)碼管,換數(shù)碼管,改相關程序后亮度夠。,燒錄進單片機進行最后的調(diào)試。在調(diào)試過程中,主要遇到以下問題:(1)在時間校準過程中出現(xiàn)按下鍵3,時標不加1的現(xiàn)象,查找原因是因為按鍵檢測程序有問題,解決方法:在按鍵檢測函數(shù)后添加一個Yes函數(shù),作用是確認有按鍵按下,按鍵檢測只能檢測出按下鍵的鍵值,然后在每個涉及按鍵語句的前面都加上一條“K=Yes()”語句。(2)在動作時間設定過程中,出現(xiàn)進入動作時間設定模式難的問題,原因是條件復雜,需要按下按鍵1和顯示“:”時,才能進入。解決方法:改變進入條件,使按鍵1按下就可以進入動作時間設定模式。(3)在路徑選擇過程中,出現(xiàn)按一次鍵3,數(shù)碼管顯示數(shù)字加2的現(xiàn)象。解決方法:延長按鍵檢測程序中的去抖時間。(4)在動作次第與動作時間設定過程中,設置完成后,動作不準確。如上一次動作結(jié)果為燈0和燈7亮,其他燈滅。這次預計結(jié)果為燈0和燈7滅,其他燈狀態(tài)不改變。動作時間到后,燈0和燈7滅,其他燈亮。解決方法:修改程序中的算法。結(jié)論本文主要闡述了基于單片機實現(xiàn)的
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1