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

正文內(nèi)容

基于單片機的自動打鈴器的設計畢業(yè)設計(編輯修改稿)

2025-07-19 01:50 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù)保持時間(寫操作)tHD210——ns表10 DS1602時序參數(shù) 喇叭模塊本模塊采用的HXD蜂鳴器。原理圖如圖八所示:圖十 喇叭模塊原理圖第三章 系統(tǒng)軟件設計系統(tǒng)通電后,首先執(zhí)行單片機的初始化命令。每次通電后,系統(tǒng)將被初始化成時鐘模式,然后再進入到系統(tǒng)的內(nèi)部循環(huán)部分。系統(tǒng)正常工作時,先讀取時鐘日歷芯片DS1302的時鐘信息,作為LCD1602液晶模塊原始數(shù)據(jù),待單片機處理后,即送往顯示模塊進行時間實時數(shù)據(jù)顯示。由于開機后系統(tǒng)默認時間12:00開始運行時間,若檢測到按鍵信號輸入,則根據(jù)按鍵的控制進行打鈴器時間設定,時間到了打鈴器鈴響。系統(tǒng)軟件設計主流程圖如下所示:YN開始初始化讀時鐘信息實時數(shù)據(jù)顯示按鍵?鬧鈴開?按鍵處理子程序鬧鈴處理子程序圖十一 總設計流程圖 系統(tǒng)軟件按鍵程序設計按鍵掃描模塊用來完成自動打鈴器打鈴時間的設定功能。主程序開始,在完成對相關I/O口數(shù)據(jù)的初始化工作后,才可以調(diào)用按鍵掃描子程序。進入子程序后,首先判斷系統(tǒng)是否有鍵按下,若沒有鍵按下,則直接返回;否則,對按下的功能鍵依次進行判斷,然后執(zhí)行相應的按鍵處理程序。完成對按鍵的處理后,則可返回至主程序。按鍵掃描模塊子程序流程圖如下圖所示:YYYYNNNN開始S13按下?S14按下?應按鍵處理程序S11按下?S12按下?圖十二 按鍵處理流程圖 系統(tǒng)軟件打鈴器時間設置設計時鐘芯片DS1302為系統(tǒng)提供實時時鐘、日歷信息,主程序開始后,將完成對芯片的初始化工作。當在主程序中調(diào)用DS1302子程序時,系統(tǒng)會依次讀取芯片的時鐘日歷信息并存儲,其讀取、存儲順序為:秒、分、時、日、月、周、年。時鐘/RAM 的讀/ 工作時功耗很低, 是由DS1202 改進而來,為可編程涓流充電電源附加七個字節(jié)存儲器。當數(shù)據(jù)成功讀取、存儲后,需要對讀取到的7字節(jié)十六進制數(shù)據(jù)依次進行BCD處理,即將其依次轉(zhuǎn)換成十進制數(shù)據(jù)。每進行一次BCD處理,則完成一字節(jié)數(shù)據(jù)的轉(zhuǎn)換。每轉(zhuǎn)換一字節(jié)數(shù)據(jù),則需對轉(zhuǎn)換次數(shù)進行一次判斷,直到7字節(jié)的數(shù)據(jù)全部轉(zhuǎn)換完成,則可退出當前操作。否則,程序?qū)⒗^續(xù)對數(shù)據(jù)進行BCD處理。當系統(tǒng)完成對全部數(shù)據(jù)的BCD處理,則返回主程序。至此,系統(tǒng)完成對DS1302時鐘日歷信息的一次讀?。粗鞒绦蛲瓿蓪ψ映绦虻恼{(diào)用)。YYYYYNNNNN開始點數(shù)=1?點數(shù)=1?點數(shù)=1?點數(shù)=1?點數(shù)=1?鬧鈴時間比較程序圖十三 打鈴器設置流程圖第四章 系統(tǒng)功能介紹及調(diào)試該課題是基于單片機設計的自動打鈴器,如今,單片機在生活的中的應用極為廣泛,使用起來也比較簡單,易于使用者接受。 打鈴器功能簡介具備一般電子時鐘的功能;能進行多點時間的定時以及定時時間到自動打鈴;能通過鍵盤查看各定點時間; 打鈴器優(yōu)點自動打鈴器的出現(xiàn)解決了人為打鈴的煩惱,基于單片機的自動打鈴器還有很多優(yōu)點:216。 應用廣泛;216。 操作簡單;216。 計時準確;216。 編程方便;216。 價格低廉;216。 制作快捷; 打鈴器缺點與不足提示音是刺耳、單調(diào)的機械鈴聲;鈴聲響起之后一分鐘才能停止。 系統(tǒng)調(diào)試 硬件調(diào)試在單片機開發(fā)過程中,從硬件設計到軟件設計幾乎是開發(fā)者針對本系統(tǒng)特點親自完成的。這樣雖然可以降低系統(tǒng)成本,提高系統(tǒng)的適應性,但是每個系統(tǒng)的調(diào)試占去了總開發(fā)時間的2/3,可見調(diào)試的工作量比較大。單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調(diào)試以進一步排除故障??梢娪布恼{(diào)試是基礎,如果硬件調(diào)試不通過,軟件設計則是無從做起。 軟件調(diào)試軟件調(diào)試是一個很講究方法的工作,好的方法能讓一些復雜的問題變的出乎意料的簡單。反之,如果方法不當則會一籌莫展。keil的軟件仿真器,就提供了一個輸出型調(diào)試功能(對于信號輸出都可以在那里直接得到仿真驗證),對于有外部輸入信號的調(diào)試,只能在相關硬件上去調(diào)試了。將程序載入keil進行模擬仿真,在程序運行沒有錯誤之后會產(chǎn)生一個HEX文件,然后在用STC_ISP_V479下載器將HEX文件下載到單片機芯片中,進行實物仿真。結束語單片機在目前的發(fā)展形勢下,表現(xiàn)出幾大趨勢: 可靠性及應用越來越水平高和互聯(lián)網(wǎng)連接已是一種明顯的走向。 所集成的部件越來越多;NS(美國國家半導體)公司的單片機已把語音、圖象部件也集成到單片機中,也就是說,單片機的意義只是在于單片集成電路,而不在于其功能了;如果從功能上講它可以講是萬用機。原因是其內(nèi)部已集成上各種應用電路。 功耗越來越低和模擬電路結合越來越多。 隨著半導體工藝技術的發(fā)展及系統(tǒng)設計水平的提高,單片機還會不斷產(chǎn)生新的變化和進步,最終人們可能發(fā)現(xiàn):單片機與微機系統(tǒng)之間的距離越來越小,甚至難以辨認。參考文獻1. 何立民 《單片機應用與技術大全》 北京航空航天大學2. 張毅剛 《單片機原理及接口技術》 哈工大出版社3. 劉國榮 《單片微型計算機技術》 機械工業(yè)出版社4. 房小翠 《單片機實用系統(tǒng)設計技術》 國防工業(yè)出版社5. 何立民 《單片機應用系統(tǒng)設計》 北航出版社6. 王迎旭 《單片機原理及及應用》 機械工業(yè)出版社7. 趙曉安 《MCS51單片機原理及應用》 天津大學出版社8. 肖洪兵 《跟我學用單片機》 北京航空航天大學出版社9. 何橋 《單片機應用與原理》 中國鐵道出版社10. 周航慈 《單片機應用程序設計技術》 北京航空航天大學出版社11. WEI Hongli. Design of a bus stop reporter[J]. JOURNAL of XI’AN INSTITUTE OF TECHNOLOGY. 2003致謝本設計是在指導老師林愿老師親切關懷和悉心指導下完成。在整個畢業(yè)設計的過程中,林老師花了大量的時間對我進行了悉心的指導和幫助,并不斷地提出了修改和完善報告、論文的寶貴意見。非常感謝林老師在設計中耐心的指導和對設計報告一次又一次細心的修改!同時也要感謝同組的幾位同學,感謝他們能和我在設計階段共同學習、共同進步!在畢業(yè)設計中我遇到了很多難題,從一開始拿到課題,到最后完成課題,林老師給我提供莫大的幫助,每次遇到很難解決的問題時,林老師總能耐心的給我講解,林老師平時工作繁多,但在我畢業(yè)設計的每個階段,從查閱資料,設計草案的確定和修改,到中期檢查,后期詳細設計,裝配草圖等整個過程中都給予了我悉心的指導。我的設計較為復雜煩瑣,但是林老師仍然細心的對我指導。除了敬佩林老師的專業(yè)水平外,她的治學嚴謹和科學研究的精神也是我永遠學習的榜樣,并將積極影響我今后的學習和工作。 然后還要感謝大學四年來所有的老師,為我們打下電信專業(yè)知識的基礎;同時還要感謝所有的同學們,正是因為有了他們的支持和鼓勵。此次畢業(yè)設計才會順利完成。 最后感謝我的母校,大學四年來對我的大力栽培。楊鵬飛2010年6月附錄附錄1程序清單/****************************//主程序//********************************/includeincludeincludeincludeincludebit SetFlag。 //更新時間標志位unsigned char flag。 //顯示界面選擇,為0則顯示日期時間模式,為1則顯示進入鬧鈴設置調(diào)時界面,2則調(diào)分unsigned char time_buf2[16]。//sbit bp=P2^0。sbit BP = P2^0。//Pin6void UART_Init(void){ SCON = 0x50。 /* SCON: 模式1, 8bit UART, 使能接收*/ TMOD |= 0x20。 /* TMOD: timer 1, mode 2, 8bit reload*/ TH1 = 0xFD。 /* TH1: reload value for 9600 baud @ */ TR1 = 1。 /* TR1: timer 1 run */ EA = 1。 /*打開總中斷*/ ES = 1。 /*打開串口中斷*/}main(){ unsigned char i。 UART_Init()。 P0=0。 //取顯示數(shù)據(jù),屏蔽數(shù)碼管顯示 ds1302_init()。 /*DS302初始化函數(shù)*/ ds1302_write_time()。 InitLcd()。 //初始化LCD DelayMs(15)。 //延時用于穩(wěn)定功能 flag=0。n=1。ring_open=0。BP=1。 while(1) { ds1302_read_time()。 //讀取時鐘信息 for(i=1。i8。i++) TempData[i]=time_buf1[i]。 keyscan()。 disp()。 //液晶顯示時間信息 if(flag==1) { if(a=1) { ShowString(0,FirstLine1)。 //時:分:秒 ShowString(1,SecondLine1)。 a++。 } WriteCommand(0xc6)。 //時鐘低位地址 WriteCommand(0x0F)。 //光標閃動 DelayMs(5)。 } else if(flag==2) { WriteCommand(0xc9)。 //分鐘低位地址 } ring_on_off()。 if(SetFlag) //如果接收到串口信息則更新時鐘 { for(i=0。i8。i++) { time_buf1[i]=time_buf2[2*i]*10+time_buf2[2*i+1]。 //數(shù)據(jù)整合,如2個數(shù) 1和5整合成15 } SetFlag=0。 //時鐘信息更新后標志位清零 } } }/******************************************************************//* 串口中斷程序 *//******************************************************************/void UART_SER (void) interrupt 4 //串行中斷服務程序{ unsigned char Temp。 //定義臨時變量 unsigned char i。 if(RI) //判斷是接收中斷產(chǎn)生 { RI=0。 //標志位清零 Temp=SBUF。 //讀入緩沖區(qū)的值 time_buf2[i]=Tempamp。0x0F。 i++。 if(i==16) //連續(xù)接收16個字符信息 { i=0。 SetFlag=1。 //接收完成標志位置1 } SBUF=Temp。 //把接收到的值再發(fā)回電腦端 //P1=Tempamp。0x0F。 //調(diào)試時候顯示 } if(TI) //如果是發(fā)送標志位,清零
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1