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

正文內(nèi)容

基于at89s52的電子萬年歷設(shè)計報告-預(yù)覽頁

2024-11-25 18:37 上一頁面

下一頁面
 

【正文】 lk=0。 sclk=0。 //然后讀數(shù)據(jù) sclk=0。 LCD_RS = 0。 _nop_()。 delayNOP()。 LCD_RW = 0。 LCD_EN = 1。 圖 13 基于 AT89S52 的電子萬年歷電路原理圖 PCB 制板圖 基于 AT89S52 單片機(jī)的電子萬年歷制板如圖 14 所示: 圖 14 基于 AT89S52 的電子萬年歷 PCB 制板圖 14 整體電路仿真圖以及仿真結(jié)果分析 整體電路仿真圖如圖 15 所示所示。仿真正確顯示了我們需要達(dá)到的要求 ,符合了我們設(shè)計的要求。 七、性能測試與分析 上電測試, LCD1602 能夠正確顯示時間和日期,第一次 K3 按鈕,開始設(shè)置年,再按 K1,年減 1,按 K2,年加 1,按二次 K3,設(shè)置月,按 K1,月減 1,按K2,月加 1,按三次 K3,設(shè)置日,按 K1,日減 1,按 K2,日加 1,按四次 K3,設(shè)置時,按 K1,時減 1,按 K2,時加 1,按五次 K3,設(shè)置分,按 K1,分減 1,按 K2,分加 1,按第五次,設(shè)置時間完成。更重要的是,在課程序設(shè)計里,我們學(xué)會了很多學(xué)習(xí)的方法。老師給我們提出了許多革新非常的好,讓我們能夠有更多的發(fā)揮空間,提高了自己開發(fā)創(chuàng)新的能力。 //LCD1602 指令,數(shù)據(jù)控制端口 sbit LCD_RW = P2^6。//K2 鍵 sbit K3 = P1^2。//6 腳 IO sbit sclk = P2^0。 bit bj_flag=0。 uchar init1[] ={0x00,0x00}。//小喇叭形狀定義 define delayNOP()。_nop_()。 void Set_place(uchar row,uchar col)。 void Play_alarmtime()。 y _nop_()。 LCD_RS = 0。 result = (bit)(P0amp。 } /*********************************************************/ /* /*寫指令數(shù)據(jù)到 LCD /*RS=L, RW=L, E=高脈沖, D0D7=指令碼。 LCD_EN = 0。 delayNOP()。 } /********************************************************/ /* /*寫顯示數(shù)據(jù)到 LCD /*RS=H, RW=L, E=高脈沖 , D0D7=數(shù)據(jù)。 LCD_EN = 0。 delayNOP()。 //清除 LCD 的顯示內(nèi)容 lcd_wcmd(0x38)。 lcd_wcmd(0x38)。 lcd_wcmd(0x06)。 } /********************************************************/ // /********************************************************/ void delay() { uchar j。 } /*******************************************************/ /* /* 寫字符串函數(shù) /* 21 /*******************************************************/ void write_str(uchar addr,uchar *p) { uchar i=0。) { lcd_wdat(p[i])。 lcd_wcmd(place)。 lcd_wcmd(0x40)。 } /*******************************************************/ // 22 /*******************************************************/ void write_byte(uchar inbyte) { uchar i。 //寫的時候低電平改變數(shù)據(jù) if(inbyteamp。 //寫的時候高電平,把數(shù)據(jù)寫入 ds1302 _nop_()。 //設(shè)置為輸入口 for(i=0。 else temp=tempamp。 } return (temp)。 write_byte(indata)。 sclk=0。 //然后讀數(shù)據(jù) sclk=0。 //寫控制字,允許寫操作 for(。 addr=addr+2。n) { 24 *p=read_ds1302(addr)。 sclk=0。 //寫保護(hù)控制字,禁止寫 } /******************************************************/ /* 蜂鳴器響一聲 /******************************************************/ void beep() { unsigned char y。 BEEP=!BEEP。 lcd_wdat(39。 lcd_wdat(0x20)。 //50ms 定時 TL0=0x00。 init_lcd()。 //自動設(shè)置初始時間,日期,年月 while(1) { //****************************************************************// if(!K1) { if(!K2) { set_ds1302(0x80,init2,7)。 if(bj_flag) //bj_flag=1,開定時報警 { write_position(2,16)。 //不顯示自定義字符小喇叭 } 26 } } //*****************************************************************// if(!K4) { alarm_time()。flag) //開始設(shè)定時間 { write_ds1302(0x8e,0x00)。 year=1。 //讀當(dāng)前年數(shù)據(jù) } while(year) //設(shè)定年 { key_set(99,1,3)。)。)。 lcd_wdat(0x20)。 lcd_wdat(39。//寫年的第一和第二位 lcd_wdat(39。 month=1。 //讀當(dāng)前月數(shù)據(jù) } } while(month) //設(shè)定月 { key_set(12,1,6)。 day=1。 //讀當(dāng)前日數(shù)據(jù) } } while(day) //設(shè)定日 { key_set(31,1,9)。 hour=1。 //讀當(dāng)前時數(shù)據(jù) } } while(hour) //設(shè)定時 { 28 key_set(23,1,12)。 min=1。 //讀當(dāng)前分?jǐn)?shù)據(jù) } } while(min) //設(shè)定分 { key_set(59,1,15)。 count=0。 //寫保護(hù)控制字,禁止寫 } } Play_nowtime()。 timecount++。 write_ds1302(0x8e,0x00)。 beep()。 lcd_wdat(init1[0]+0x30)。 lcd_wdat(0x20)。 lcd_wdat(init1[0]+0x30)。 //讀出當(dāng)前時間,讀出 7 個字節(jié) write_position(1,12)。 lcd_wdat(39。 //讀小時 write_position(1,15)。0xf0)4))。+(init[1]amp。039。 lcd_wdat(39。 //讀年 write_position(1,1)。 write_position(1,2)。 write_position(1,6)。0xf0)4))。+(init[4]amp。039。 lcd_wdat(39。 //讀日 write_position(1,5)。 write_position(1,8)。 Play_alarmtime()。 else count=0。 } Set_Flash(row,col)。0xf0)4)*10+(bj_time[2]amp。 bj_time[2]=((init1[0]4)|init1[1])。 count=((bj_time[1]amp。 if(!K4) { Set_place(2,11)。 count=0。0xf0)4)+0x30)。+(bj_time[2]amp。:39。039。 lcd_wdat(39。 //讀分鐘 } /*********************************************************/ // 時間比較 /*********************************************************/ void Time_pare() { if(bj_flag) { if(init[2]==bj_time[2]) { if(init[1]==bj_time[1]) beep()。 掉電信息不丟失。在整個 課程 設(shè)計的過程,態(tài)度端正,學(xué)習(xí)也比較認(rèn)真,時間安排也很合理,能在每個階段完成相應(yīng)的任務(wù) ,靈活 使用了課本上的知識,并查閱相關(guān)資料,有一股非常強(qiáng)的好奇心,在制作的過程中做到持之以恒,不怕失敗,測試電路認(rèn)真、仔細(xì)! 建議成績: 指導(dǎo)教師: 課程設(shè)計指導(dǎo)小組評定 評定成績: 課程設(shè)計指導(dǎo)負(fù)責(zé)人: 年 月 日
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1