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

正文內(nèi)容

基于51單片機(jī)電子萬年歷設(shè)計(jì)有proteus仿真-預(yù)覽頁(yè)

 

【正文】 ............................................... 10 .................................................................................................................................................................... 11 .....................................................................................................................................錯(cuò)誤 !未定義書簽。 ②可以人為校正年、月、日、時(shí)、分。 單片機(jī)芯片的選擇方案和論證 方案一 :采用 89C51 芯片作為硬件核心,采用 Flash ROM,內(nèi)部具有 4KB ROM 存儲(chǔ)空間 ,能于 3V 的超低壓工作 ,而且與 MCS51系列單片機(jī)完全兼容 ,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備 ISP 在線編程技術(shù) , 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的 損壞。 方案二:采用 LCD1602 液晶顯示屏 ,液晶顯示屏的顯示功能強(qiáng)大 ,可顯示大量文字 ,圖形 ,顯示多樣 ,清晰可見,易于編程,穩(wěn)定可靠。所以不 采用此方案。 電路設(shè)計(jì)最終方案決定 綜上各方案所述 ,對(duì)此次設(shè)計(jì)的方案選定 : 采用 AT89C52 作為主控制系統(tǒng) 。采用三線接口( SPI 總線)與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù)。 AT89C52單片機(jī)為 40引腳雙列直插芯片 ,有四個(gè) I/O口 P0,P1,P2,P3, MCS51單片機(jī)共有 4個(gè) 8 位的 I/O 口( P0、 P P P3),每一條 I/O 線都能獨(dú)立地作輸出或輸入。當(dāng) Vcc2 大于 Vcc1+ 時(shí), Vcc2 給 DS1302 供電。 I/O 為串行數(shù)據(jù)輸入端(雙向)。 圖 23 LCD 1062 的電路圖 9 經(jīng)過 KEIL C51 編譯的匯編程序必須下載到單片機(jī)內(nèi)部運(yùn)行,才能實(shí)現(xiàn)所需要的功能。同時(shí)也可以使用看門狗,定時(shí)的喂狗,使程序每次從零地址開始運(yùn)行。如圖 26所示。但在程序調(diào)試時(shí)出現(xiàn)了相對(duì)較多的錯(cuò)誤。因而會(huì)看見顯示的時(shí)間并不隨著設(shè)置 13 的初始化的值變化而變化,甚至我們看見的時(shí)間并不按著一秒一秒的增加。 經(jīng)過多次反復(fù)修改程序 ,對(duì)電路各模塊的原理及功能更加熟悉 ,同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力 .同時(shí)在軟件的編程方面得到更到的提高 ,對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固 . 5 總結(jié) 通過這次制作使我了解了整個(gè)萬年歷的工作過程和各個(gè)部分的工作原理。這也使我又掌握了一門非常實(shí)用的軟件,對(duì)于我以后的畢業(yè)設(shè)計(jì)算是又多了一個(gè)非常好的選擇。 //DS130 時(shí)鐘線 sbit RST = P1^2。 //LCD 使能端 sbit K1=P3^4。 //確定 uchar tCount=0。 //顯示格式 uchar LCD_DSY_BUFFER2[]={TIME 00:00:00 }。 //(分,時(shí),日,月,年)(不調(diào)節(jié)秒與周) /*延時(shí)程序 */ 16 void DelayMS(uint ms) { uchar i。} } //向 DS1302 寫入一字節(jié) // void Write_A_Byte_TO_DS1302(uchar x) { uchar i。0x01。 // 右移 } } //從 DS1302 讀取一字節(jié) // uchar Get_A_Byte_FROM_DS1302() { uchar i,b=0x00。 SCLK=1。 RST = 0。 //先寫入地址 17 dat = Get_A_Byte_FROM_DS1302()。 } //向 DS1302 某地址寫入數(shù)據(jù) // void Write_DS1302(uchar addr,uchar dat) { SCLK=0。 SCLK=0。 //分時(shí)日月年依次寫入 for(i=1。 //加保護(hù) } //讀取當(dāng)前日期時(shí)間 // void GetTime() {uchar i。} } 18 //讀 LCD 狀態(tài) // uchar Read_LCD_State() { uchar state。 //輸出: D0~D7=狀態(tài)字 DelayMS(1)。 return state。 } //向 LCD 寫數(shù)據(jù) // void Write_LCD_Data(uchar dat) { LCD_Busy_Wait()。 //寫數(shù)據(jù), EN為高脈沖, P0=dat。 } //寫 LCD 指令 // void Write_LCD_Command(uchar cmd) { LCD_Busy_Wait()。 //寫指令, EN 高脈沖,輸出: D0~D7=數(shù)據(jù) P0=cmd。 } 19 //LCD 初始化 // void Init_LCD() { Write_LCD_Command(0x38)。 Write_LCD_Command(0x06)。 } // //設(shè)置液晶顯示位置 // void Set_LCD_POS(uchar p){ Write_LCD_Command(p|0x80)。i16。039。amp。i2020+DateTime[6]。 for(i=1。 //保存星期, 0~6 表示星期日,星期一,二, ...,六,為了與 DS1302 的星期格式匹配,返回值需要加 1 DateTime[5]=(w+d)%7+1。 if(x==1amp。 //如果年份變化后當(dāng)前月份的天數(shù)大于上限則設(shè)為上限 if(DateTime[3]MonthsDays[DateTime[4]]) { DateTime[3]=MonthsDays[DateTime[4]]。amp。DateTime[4]1) DateTime[4]。 break。DateTime[3]MonthsDays[DateTime[4]]) DateTime[3]++。 RefreshWeekDay()。DateTime[2]23) DateTime[2]++。 break。 if(x==1amp。 } } //定時(shí)器 0 每秒刷新 LCD 顯示 // void T0_INT() interrupt 1 { TH0=50000/256。 //按指定格式生成 待顯示的日期時(shí)間串 Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5)。 //時(shí)分秒 Format_DateTime(DateTime[2],LCD_DSY_BUFFER2+5)。 23 Display_LCD_String(0x40,LCD_DSY_BUFFER2)。 } Adjust_Index。 LCD_DSY_BUFFER2[14]=Change_Flag[Adjust_Index]。 DelayMS(10)。 if(K3==0) DateTime_Adjust(1)。 //將調(diào)整后的時(shí)間寫入 DS1302 LCD_DSY_BUFFER2[13]=39。 LCD_DSY_BUFFER2[15]=39。 //液晶初始化 IE=0x83。 //設(shè)置定時(shí)器 T0工作方式為方式 1, TH0=50000/256。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1