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

正文內容

c51課程設計報告(液晶時鐘)(已修改)

2025-01-30 22:23 本頁面
 

【正文】 深圳職業(yè)技術學院Shenzhen Polytechnic嵌入式C語言課程設計報告課題: 學院: 班級: 姓名: C51液晶時鐘設計報告 水漾天藍目錄一、設計方案 1功能簡介 1開發(fā)測試環(huán)境選擇 1二、液晶時鐘程序設計 1功能狀態(tài)轉換圖 1主要功能模塊 2 2 2 3 3 4三、小結 4四、附錄 5使用說明 5參考文獻資料 5附表1 6一、設計方案功能簡介本文所設計的簡易電子時鐘可輸出當前時間以及鬧鈴時間,并可通過機械按鍵來實現修改當前時間、修改鬧鈴時間、退出修改以及控制鬧鈴的打開和關閉,并通過1602型號的液晶屏顯示出不同操作時的不同界面。本程序共設計按鍵5個,按鍵及功能分別是1鍵:選擇功能界面下選擇時間修改、時間和鬧鈴修改狀態(tài)下的增加“1”計數;2鍵:選擇功能界面下選擇鬧鈴修改、時間和鬧鈴修改狀態(tài)下的減少“1”計數;3鍵:主顯示界面下進入選擇功能界面、時間和鬧鈴修改狀態(tài)下切換修改項目、修改完成退回主顯示界面;4鍵:時間和鬧鈴修改狀態(tài)下直接退回主顯示界面;5鍵:主顯示界面下控制鬧鈴的開關。開發(fā)測試環(huán)境選擇開發(fā)軟件選擇了ARM公司的KeiluVision4,仿真軟件選擇了英國Labcenter electronics公司的proteus7 professional,測試硬件選擇了普中的HC6800開發(fā)箱。首先在KeiluVision4下進行程序設計,編譯通過后用proteus7 professional進行仿真并嘗試下載到開發(fā)箱中進行操作,最后下載到開發(fā)箱中進行操作演示。二、液晶時鐘程序設計功能狀態(tài)轉換圖主要功能模塊注:本文中提到的函數均見附表1的液晶時鐘源程序中,本次使用的是1602液晶。主顯示模塊包含了時間顯示模塊void TimeDisplay(void)函數,其運行過程為首先讀取初始值,再通過定時器中斷TO的中斷服務函數void T0_int () interrupt 1 來進行秒計時并通過void TimeRunning(void)函數進行時間的加計數和進位運算;鬧鈴顯示模塊void AlarmDisplay(void),其運行過程為首先讀取初始值,再通過void AlarmRunning(void)來進行比較,如果預設時間與當前時間相等就將響鈴標記變量SoundFlage_1置為1,進而引發(fā)主函數中的響鈴事件。在鬧鈴顯示模塊還包含了鬧鈴開關控制模塊,用于控制鬧鈴是否開啟,若鬧鈴開啟會,鬧鈴時間后就會顯示“P”字母。主顯示界面仿真結果如圖2:功能選擇模塊包含了void Menu_display (void)函數,其運行過程為當按鍵3時間觸發(fā),切換到功能選擇界面是顯示時間修改及鬧鈴修改的提示,并等待按鍵1(時間修改)事件或者按鍵2(鬧鈴修改)事件。功能選擇界面仿真結果如圖3:時間修改模塊主要通過調用時間顯示函數和按鍵響應函數:按鍵讀值uchar GetKey(void)和響應void QueryKeyboard(void),并通過時間設置標記變量SetTimeFlage的值來判斷是否執(zhí)行時間修改。時間修改模式下計時會暫停,按鍵按鍵按鍵3以及按鍵4會響應,實現時間的加減、項目切換及退回主界面的操作。進行時間加減時,計數會循環(huán)變化,如:當時間為23:59:59時,時加會變?yōu)?0,分加會變?yōu)?0并且時會加1,秒同理;當時間為00:00:00時,時減會變?yōu)?3,分減會變?yōu)?9并且時會減1,秒同理。同時,當進入時間修改界面后三盞指示LED燈就會分別點亮,第一盞點亮表示時修改,第二盞點亮表示分修改,第三盞點亮表示秒修改(初始為時修改,可按按鍵3進行切換)。時間修改界面仿真結果如圖4:鬧鈴修改模塊與時間修改模塊結構類似,通過調用鬧鈴顯示函數和按鍵響應函數,并通過鬧鈴設置標記變量SetAlarmFlage的值來判斷是否執(zhí)行鬧鈴修改。鬧鈴修改模式下,計時不會暫停但鬧鈴不會響應,按鍵按鍵按鍵3以及按鍵4會響應,實現時間的加減、項目切換及退回主界面的操作。進行時間加減時,計數會循環(huán)變化,如:當鬧鈴時間為23:59:59時,時加會變?yōu)?0,分加會變?yōu)?0并且時會加1,秒同理;當時間為00:00:00時,時減會變?yōu)?3,分減會變?yōu)?9并且時會減1,秒同理。同時,當進入鬧鈴修改界面后三盞指示LED燈就會分別點亮,第一盞點亮表示時修改,第二盞點亮表示分修改,第三盞點亮表示秒修改(初始為時修改,可按按鍵3進行切換)。鬧鈴修改界面仿真結果如圖5(見下一頁): 本模塊包含了,void init_lcd1602 (void) 1602液晶初始化函數,void lcd_w_dat ( uchar dat )對1602液晶寫數據函數void lcd_w_cmd ( uchar )對1602液晶寫指令函數,void delay_us ( uchar t )延時函數,均為1602型液晶必須函數。除了以上介紹的模塊以外,本程序還編寫了其他的輔助模塊函數以及變量。如前面提到的GetKey(void)讀按鍵值函數,void QueryKeyboard(void)查詢按鍵函數,還有SetTimeFlage設置時間標志,DisplayFlage=0顯示標志,用于防止在發(fā)生中斷時,切斷當前的顯示,防止造成顯示亂碼,SetAlarmFlage設置鬧鐘標志,SetFlage 設置標志位,用于在設置選擇時,防止在液晶第二行顯示鬧鐘的時間,SoundFlage_1用于控制的鬧鐘的開和關的標志位,SoundFlage_2用于計算響鈴的秒數,Alarm_ON鬧鈴開關point_dis、mes用于定時器計時標志。三、小結本次設計是采用液晶顯示,若僅是在液晶上顯示時鐘且無其他功能,程序的編寫非常簡單,但若加上可調鬧鈴、可調時間,那么程序設計上就要花費點功夫。編程調試時主要遇到如下問題:鬧鈴的響應,如果將整個模塊放到WHILE中,可能會造成響鈴時其他操作無法響應;時間和鬧鈴調節(jié)時液晶的響應與按鍵的關系,如果將整個調節(jié)進程放到顯示函數中,由于液晶的特性就導致了按鍵按下卻無響應的情況;設置時的顯示提示,由于時間的調節(jié)需要調節(jié)時分秒三個項目,且切換到某個項目卻無提示是沒有意義的,但是實現時分秒的閃爍比較麻煩。解決方法:2:通過編寫自定義函數,并設置對應的標記變量,用標記變量來控制對應函數的運行,進而解決了響應問題;通過外接3個LED燈,在設置時分秒時點亮對應的燈進行提示。四、附錄使用說明本程序下載到HC6800單片機開發(fā)箱的使用方法如下:a. 連接:,用連接線(排線或者杜邦線)分別將P3^0、P3^P3^P3^3連接到獨立按鍵的KKKKK5;分別將P1^0、P1^P1^2連接到8*1的LED等的DDD3,再在相應的位置插上1602型液晶屏。b. 操作方法:主界面下:按鍵3(設置)、按鍵5(鬧鈴開關)有效,按下按鍵3可進入功能選擇界面,按鍵5可實現鬧鐘的開和關。功能選擇界面下:按鍵按鍵2有效,按下按鍵1可進入時間修改界面,按下按鍵2可進入鬧鈴修改界面。時間修改界面:按鍵按鍵按鍵按鍵LED1(對應時)、LED2(對應分)、LED3(對應秒)有效。按鍵1能進行加1計數,按鍵2能進行減1計數,按鍵3能進行LED1~3的順序切換(LED3時再按一次則會回到主界面),按鍵4可直接退回主界面。鬧鈴修改界面:與時間修改界面相同。參考文獻資料:C語言版/王靜霞主編.——北京:電子工業(yè)出版社。6C51液晶時鐘設計報告 水漾天藍附表1液晶時鐘源程序include define uchar unsigned char define RingingTime 30 //定義鬧鐘響鈴時間
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1