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

正文內(nèi)容

基于51單片機(jī)電子鬧鐘或萬年歷的設(shè)計(jì)課程設(shè)計(jì)-在線瀏覽

2024-08-08 00:20本頁面
  

【正文】 令。在液晶屏完成顯示之前首先要對液晶進(jìn)行初始化。 此電子鬧鐘設(shè)計(jì)是利用Proteus仿真軟件進(jìn)行仿真,基本上實(shí)現(xiàn)了課程設(shè)計(jì)要求實(shí)現(xiàn)的功能。K1鍵為調(diào)整時間功能鍵,K4為設(shè)置鬧鐘功能鍵,KK3分別為上調(diào)和下調(diào)鍵。當(dāng)按下K1鍵時進(jìn)入時間調(diào)整模式,K1按下第一次進(jìn)入年調(diào)整,K1按下第二次進(jìn)入月調(diào)整,K1按下第三次進(jìn)入日調(diào)整;當(dāng)K1按下第四、五、六次時,分別進(jìn)入時、分、秒調(diào)整,K1按下第七次時時間調(diào)整完畢,退出時間調(diào)整功能,顯示器正常顯示時間。通過自己的不懈努力,我終于完成了畢業(yè)設(shè)計(jì)任務(wù)書上的任務(wù)要求。其精確度完全可以滿足日常生活顯示時間的需要;調(diào)時功能,方便快捷;校時功能保證了時鐘準(zhǔn)確和可靠性。但是由于時間比較短,前期設(shè)計(jì)出現(xiàn)部分不足:如位選閃爍功能不能實(shí)現(xiàn)、鬧鐘的開啟與關(guān)閉、間斷蜂鳴聲等。不過經(jīng)仔細(xì)思考和程序的完善,最終將軟件設(shè)計(jì)改進(jìn),并完全可以很好實(shí)現(xiàn)所有要求的功能。數(shù)字時鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。做為新時代的我們,更應(yīng)該提高自身能力,適應(yīng)新時代的發(fā)展。對于上述所提到的研究課題,我們應(yīng)盡量考慮到人的因素,增強(qiáng)時鐘的實(shí)用性和操作性,為使用者提供切實(shí)的方便,營造一種舒適的生活氛圍。另外,在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計(jì)但通過這次設(shè)計(jì)我學(xué)會了很多東西,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認(rèn)為編寫程序簡單,但到編程的時候才發(fā)現(xiàn)一些細(xì)微的知識或低級錯誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。參考文獻(xiàn)[1] 張友德,趙志英,涂時亮.《單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)》[M].上海:復(fù)旦大學(xué)出版社,2008.[2] 趙亮,侯國銳.《單片機(jī)C語言編程與實(shí)例》[M].北京:人民郵電出版社,2003.[3] 高鵬,安濤,寇懷成.《電路設(shè)計(jì)與制版——protel99入門與提高》[M].北京:人民郵電出版社,2006.[4] 譚浩強(qiáng).《C程序設(shè)計(jì)(第三版)》[M].北京:清華大學(xué)出版社,2005.[5] 李朝青.《單片機(jī)原理及接口技術(shù)》[M].北京:北京航空航天大學(xué)出版社,2004. [6] 康光華,《電子技術(shù)基礎(chǔ)—模擬部分(第五版)》[M].北京:高等教育出版社,2005.附錄一 系統(tǒng)原理圖附錄二 系統(tǒng)程序38include //包含單片機(jī)寄存器的頭文件include //包含_nop_()函數(shù)定義的頭文件unsigned char code digit[10]={0123456789}。 //位定義1302芯片的接口,sbit DATA=P1^1。 //位定義1302芯片的接口,sbit K1=P3^2。 //定義按鍵1觸發(fā)中斷1,設(shè)置鬧鐘按鈕sbit K2=P1^4。 //定義按鍵3,sbit BEEP=P3^6。//分別儲存苗、分、小時,日,月,年unsigned char settime=0。unsigned char clock_hour,clock_min,clock_sec。 for(i=0。i++)。 SCLK=0。 //稍微等待,使硬件做好準(zhǔn)備 for(i=0。i++) //連續(xù)寫8個二進(jìn)制位數(shù)據(jù) { DATA=datamp。 //取出dat的第0位數(shù)據(jù)寫入1302 低位在前,高位在后 delaynus(10)。 //上升沿寫入數(shù)據(jù) delaynus(10)。 //重新拉低SCLK,形成脈沖 dat=1。 //禁止數(shù)據(jù)傳遞 SCLK=0。 //啟動數(shù)據(jù)傳輸 delaynus(10)。 //寫入命令字 Write1302(dat)。 //將時鐘電平置于高電平狀態(tài) RST=0。 delaynus(10)。i8。 if(DATA==1) //如果讀出的數(shù)據(jù)是1 dat|=0x80。 //將SCLK置于高電平,為下降沿讀出 delaynus(10)。 //拉低SCLK,形成脈沖下降沿 delaynus(10)。 //將讀出的數(shù)據(jù)返回} /*****************************************************函數(shù)功能:根據(jù)命令字,從1302讀取一個字節(jié)數(shù)據(jù)入口參數(shù):Cmd***************************************************/ unsigned char ReadSet1302(unsigned char Cmd) { unsigned char dat。 //拉低RST SCLK=0。 //啟動數(shù)據(jù)傳輸 Write1302(Cmd)。 //讀出數(shù)據(jù) SCLK=1。 //禁止數(shù)據(jù)傳遞 return dat。 flag= ReadSet1302(0x81)。0x80) { //判斷時鐘芯片是否關(guān)閉 WriteSet1302(0x8E,0x00)。 //根據(jù)寫秒寄存器命令字,寫入秒的初始值 WriteSet1302(0x82,((59/10)4|(59%10)))。 //根據(jù)寫小時寄存器命令字,寫入小時的初始值 WriteSet1302(0x86,((18/10)4|(18%10)))。 //根據(jù)寫月寄存器命令字,寫入月的初始值 WriteSet1302(0x8c,((14/10)4|(9%10)))。 //打開充電功能 選擇2K電阻充電方式 WriteSet1302(0x8E,0x80)。 //根據(jù)寫狀態(tài)寄存器命令字,寫入不保護(hù)指令 WriteSet1302(0x80,((sec/10)4|(sec%10)))。 //根據(jù)寫分寄存器命令字,寫入分的初始值 WriteSet1302(0x84,((hour/10)4|(hour%10)))。 //根據(jù)寫日寄存器命令字,寫入日的初始值 WriteSet1302(0x88,((mon/10)4|(mon%10)))。 //根據(jù)寫年寄存器命令字,寫入年的初始值 WriteSet1302(0x90,0xa5)。 //根據(jù)寫狀態(tài)寄存器命令字,寫入保護(hù)指令 } /*******************************************************************************以下是對液晶模塊的操作程序*******************************************************************************/sbit RS=P2^0。 //讀寫選擇位,sbit E=P2^2。 //忙碌標(biāo)志位,/*****************************************************函數(shù)功能:延時1ms(3j+2)*i=(333+2)10=1010(微秒),可以認(rèn)為是1毫秒***************************************************/void delay1ms(){ unsigned char i,j。i10。j33。 }/*****************************************************函數(shù)功能:延時若干毫秒入口參數(shù):n***************************************************/ void delaynms(unsigned char n) { unsigned char i。in。 } /****蜂鳴器程序*****/void beep(){ unsigned char t。t200。 delaynus(500)。 delaynus(500)。result=1,忙碌。 RS=0。 E=1。 //空操作 _nop_()。 _nop_()。 //將忙碌標(biāo)志電平賦給result E=0。 }/*****************************************************函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate***************************************************/void WriteInstruction (unsigned char dictate){ while(BusyTest()==1)。 //根據(jù)規(guī)定,RS和R/W同時為低電平時,可以寫入指令 RW=0。 //E置低電平,寫指令時,E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 _nop_()。 //空操作兩個機(jī)器周期,給硬件反應(yīng)時間 P0=dictate。 _nop_()。 _nop_()。 //E置高電平,寫指令 _nop_()。 _nop_()。 //空操作四個機(jī)器周期,給硬件反應(yīng)時間 E=0。 //顯示位置的確定方法規(guī)定為80H+地址碼x }/*****************************************************函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫入液晶模塊入口參數(shù):y(為字符常量)***************************************************/ void WriteData(unsigned char y) { while(BusyTest()==1)。 //RS為高電平,RW為低電平時,可以寫入數(shù)據(jù) RW=0。 //E置低電平,寫指令時,E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 P0=y。 _nop_()。 _nop_()。 //E置高電平,寫數(shù)據(jù) _nop_()。 _nop_()。 //空操作四個機(jī)器周期,給硬件反應(yīng)時間 E=0。 //延時15ms,首次寫指令時應(yīng)給LCD一段較長的反應(yīng)時間 WriteInstruction(0x38)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 WriteInstruction(0x38)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 WriteInstruction(0x38)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 WriteInstruction(0x0c)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 WriteInstruction(0x06)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 WriteInstruction(0x01)。 //延時5ms ,給硬件一點(diǎn)反應(yīng)時間 } /**************************************************************以下是1302數(shù)據(jù)的顯示程序**************************************************************//*****************************************************函數(shù)功能:顯示秒入口參數(shù):x***************************************************/ void DisplaySecond(unsigned char x){ unsigned char i,j。//取十位 j=x%10。 //寫顯示地址,將在第2行第10列開始顯示 WriteData(digit[i])。 //將十位數(shù)字的字符常量寫入LCD delaynms(50)。 //j,k十位和個位 i=x/10。//取個位 WriteAddress(0x46)。 //將百位數(shù)字的字符常量寫入LCD WriteData(digit[j])。 //延時1ms給硬件一點(diǎn)反應(yīng)時間 }/*****************************************************
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1