下載手機(jī)汽配人

急那位大俠幫我寫個(gè)程序,用51控制DS1302,LCD1602控制繼電器,按下開關(guān)繼電器通并在1602顯示號(hào)碼和日期時(shí)

急!急!急! 51控制DS1302,LCD1602控制繼電器,按下開關(guān)繼電器通并在1602一行顯示號(hào)碼在另一行顯示日期時(shí)間,級(jí)別低傳不上圖,謝謝啦
提問者:網(wǎng)友 2018-08-12
最佳回答
#include #include #define uchar unsigned char #define uint unsigned int #define ADDATA P0 sbit RS=P2^0; sbit RW= P2^1; sbit E=P2^2; sbit Acc0=ACC^0; sbit Acc7=ACC^7; sbit Ds1302_clk=P1^0; sbit Ds1302_rst=P1^2; sbit Ds1302_DQ=P1^1; uchar code time1[]={"time:"}; uchar code data1[]={"date:"}; uchar code week1[]={"week:"}; uchar data timestr[8]; uchar data datestr[8]; uchar data weekstr[3]; void delayms(uint tt ) { uint i; while( tt-- ) for(i=113;i>0;i--); } //*************check busy**************// void lcd_busy() { RS= 0; RW = 1; E = 1; _nop_(); _nop_(); _nop_(); _nop_(); while(P0&0x80); } void write_date( uchar dat)//寫數(shù)據(jù) { lcd_busy() ; RS=1; RW=0; E=1; P0=dat; delayms(1); E=0; delayms(2); } void write_com(uchar dat)//寫指令 { lcd_busy(); RS=0; RW=0; E=1; P0=dat; delayms(1); E=0; delayms(2); } void write_string(uchar *p)// 寫數(shù)組, { uchar i=0; while(*(p+i)!='\0') { write_date(*(p+i)); i++; } } void Init_LCD()//初始化 { write_com(0x30);//基本指令, 擴(kuò)充指令為34H write_com(0x01);//待令模式,清屏 delayms(50); write_com(
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號(hào)?立即注冊(cè)

我要提問

汽配限時(shí)折扣

本頁(yè)是網(wǎng)友提供的關(guān)于“急那位大俠幫我寫個(gè)程序,用51控制DS1302,LCD1602控制繼電器,按下開關(guān)繼電器通并在1602顯示號(hào)碼和日期時(shí)”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。