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

正文內(nèi)容

基于51單片機電子鬧鐘或萬年歷的設(shè)計課程設(shè)計(存儲版)

2025-07-28 00:20上一頁面

下一頁面
  

【正文】 地址,將在第1行第7列開始顯示 WriteData(digit[i])。)。E39。)。)。0x0F)。 //從時寄存器讀 hour=((ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 DisplayDay(day)。0xf0)4)*10 + (ReadValueamp。 showTime()。 case 3: WriteAddress(0x0d)。 break。 //從年寄存器讀 nian=((ReadValueamp。 //從日寄存器讀 tian=((ReadValueamp。 //從分寄存器讀 fen=((ReadValueamp。 break。 if(tian==32)tian=1。 } while(BusyTest()==1)。0xf0)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。 case 1: nian。 case 3: tian。 case 5: fen。//settime=0則完成設(shè)置 // } } //TestClock()。 case 1: WriteAddress(0x07)。 break。 WriteInstruction(0xff)。0x0F)。0x0F)。0x0F)。 if(shi==24)shi=0。 DisplaySecond(miao)。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x89)。 //將讀出數(shù)據(jù)轉(zhuǎn)化 /* ReadValue = ReadSet1302(0x85)。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x81)。 // DisplayHour(shi)。 DisplayHour(shi)。 //允許使用外中斷0 IT0=1。 showTime()。 //將液晶初始化 interrupr_init()。 clock_sec=miao。 } //showTime()。 case 1: shi。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。0xf0)4)*10 + (ReadValueamp。 DisplayHour(shi)。 break。 //從分寄存器讀 fen=((ReadValueamp。 //從日寄存器讀 tian=((ReadValueamp。 //從年寄存器讀 nian=((ReadValueamp。 break。 case 3: WriteAddress(0x0d)。 showTime()。 showTime()。 // DisplayHour(shi)。 //DisplayMonth(yue)。//將讀出數(shù)據(jù)轉(zhuǎn)化 switch(settime) { case 0: showTime()。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x83)。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x87)。 ReadValue = ReadSet1302(0x8d)。 if(fen==60)fen=0。 break。0x0F)。0x0F)。0x0F)。 while(!K2)。 case 5: WriteAddress(0x47)。 WriteInstruction(0xff)。 while(!K1)。 //顯示月 ReadValue = ReadSet1302(0x8d)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 DisplayMinute(minute)。 //從秒寄存器讀數(shù)據(jù) second=((ReadValueamp。 //寫小時與分鐘分隔符的顯示地址, 顯示在第2行第6列 WriteData(39。 //寫年月分隔符的顯示地址, 顯示在第1行第9列 WriteData(39。)。 //寫Date的顯示地址,將在第1行第2列開始顯示 WriteData(39。//取十位 j=x%10。 //j,k分別儲存十位和個位 i=x/10。 //延時1ms給硬件一點反應(yīng)時間 } /*****************************************************函數(shù)功能:顯示日入口參數(shù):x***************************************************/ void DisplayDay(unsigned char x){ unsigned char i,j。 //將十位數(shù)字的字符常量寫入LCD delaynms(50)。 //將百位數(shù)字的字符常量寫入LCD WriteData(digit[j])。 //顯示模式設(shè)置:光標右移,字符不移 delaynms(5)。 //顯示模式設(shè)置:162顯示,57點陣,8位數(shù)據(jù)接口 delaynms(5)。 //空操作四個機器周期,給硬件反應(yīng)時間 E=1。 RS=1。 //空操作四個機器周期,給硬件反應(yīng)時間 E=1。 E=0。 _nop_()。 }}/*****************************************************函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。i++) delay1ms()。 for(i=0。 //根據(jù)寫月寄存器命令字,寫入月的初始 WriteSet1302(0x8c,(year/10)4|(year%10))。 //根據(jù)寫年寄存器命令字,寫入年的初始值 WriteSet1302(0x90,0xa5)。 if(flagamp。 //確保寫數(shù)居前SCLK被拉低 RST=1。 //將1取出,寫在dat的最高位 SCLK=1。 //寫數(shù)據(jù) SCLK=1。 //稍微等待,使硬件做好準備 SCLK=0。 //拉低SCLK,為脈沖上升沿寫入數(shù)據(jù)做好準備 delaynus(10)。unsigned char setclock=0。 //位定義1302芯片的接口,sbit RST=P1^2。知識來自實踐,多去生活中探詢所需要的。硬件設(shè)施合乎要求,軟件設(shè)計可以配合硬件實現(xiàn)要求的功能。硬件部分設(shè)置了的三個按鍵KKKK4。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。這時若有設(shè)置鍵按下時,進行時間修改,完成后將數(shù)據(jù)送入時鐘芯片;若沒有按鍵按下,則直接存入EPROM,送入液晶屏顯示。CPU在一個工作周期內(nèi),利用完成其他任務(wù)的空余時間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進而判斷是哪個鍵,并執(zhí)行相應(yīng)的鍵處理程序。當R/W端接高電平時芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),E端為使能信號端。 1602 液晶簡介本設(shè)計中由于要對時間進行顯示,所以選擇液晶顯示屏1602模塊作為輸出。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。僅僅一個單片機是沒有辦法工作的,要想使單片機正常功能,單片機需要有電源電路、復(fù)位電路、晶振。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 計時部分的選擇方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。 方案二:獨立式按鍵。本論文主要研究基于單片機的萬年歷設(shè)計。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。而鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。設(shè)計目標:使基于AT89C52單片機的萬年歷實現(xiàn)以下三個功能:、月、日、星期、時、分、秒等功能;、月、日、星期、時、分、秒校準功能; 單片機型號的選擇通過對多種單片機性能的分析,最終認為AT89C52是最理想的電子時鐘開發(fā)芯片。 由于并不需要經(jīng)常修改時間和設(shè)置鬧鈴時間,而且方案二的程序簡單,按鍵少、成本低,因此,選擇方案二。所以本設(shè)計采用DS1302時鐘芯片。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。 P3口P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。圖32單片機最小系統(tǒng)板4. 數(shù)字電子鐘的設(shè)計原理和方法 設(shè)計原理根據(jù)上述方案設(shè)計出系統(tǒng)整體框圖如下所示 圖41 系統(tǒng)原理圖為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤模塊用來校正液晶上顯示的時間;AT89C52單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作;而系統(tǒng)的時間數(shù)據(jù)則最終通過液晶模塊顯示出來。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)?!癢P”是寫保護位,在任何的對時鐘和RAM的寫操作之前,“WP”必須為0。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,:LCD1602主要管腳介紹: RS為寄存器選擇端,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。圖43 1602液晶電路 蜂鳴器驅(qū)動電路發(fā)音部分是通過三極管放大驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。因此采用獨立式鍵盤。圖53 LCD顯示程序流程圖 DS1302讀寫程序DS1302是SPI總線驅(qū)動方式。圖55 單字節(jié)讀圖56 單字節(jié)寫1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令,其模塊內(nèi)的控制器有11條控制指令。當按下K1鍵時進入時間調(diào)整模式,K1按下第一次進入年調(diào)整,K1按下第二次進入月調(diào)整,K1按下第三次進入日調(diào)整;當K1按下第四、五、六次時,分別進入時、分、秒調(diào)整,K1按下第七次時時間調(diào)整完畢,退出時間調(diào)整功能,顯示器正常顯示時間。不過經(jīng)仔細思考和程序的完善,最終將軟件設(shè)計改進,并完全可以很好實現(xiàn)所有要求的功能。另外,在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計但通過這次設(shè)計我學(xué)會了很多東西,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認為編寫程序簡單,但到編程的時候才發(fā)現(xiàn)一些細微的知識或低級錯誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。 //定義按鍵1觸發(fā)中斷1,設(shè)置鬧鐘按鈕sbit K2=P1^4。 for(i=0。i++) //連續(xù)寫8個二進制位數(shù)據(jù) { DATA=datamp。 //禁止數(shù)據(jù)傳遞 SCLK=0。 delaynus(10)。 //拉低SCLK,形成脈沖下降沿 delaynus(10)。 //讀出數(shù)據(jù) SCLK=1。 //根據(jù)寫秒寄存器命令字,寫入秒的初始值 WriteSet1302(0x82,((59/10)4|(59%10)))。 //根據(jù)寫狀態(tài)寄存器命令字,寫入不保護指令 WriteSet1302(0x80,((sec/10)4|(sec%10)))。 //根據(jù)寫狀態(tài)寄存器命令字,寫入保護指令 } /*******************************************************************************以下是對液晶模塊的操作程序*******************************************************************************/sbit RS=P2^0。j33。t200。 RS=0。 //將忙碌標志電平賦給result E=0。 //空操作
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1