久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3451|回復: 0
打印 上一主題 下一主題
收起左側

[原創]DS1302 求助

[復制鏈接]
跳轉到指定樓層
樓主
ID:37854 發表于 2012-5-17 00:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一套程序下來LCD 就顯示第一行 : : 第二行00:00:00 然后不動了 預計是LCD 顯示沒問題 問題應該是 處在 DS1302 的 操作上 苦想 幾日都無法找出原因 才到此地求救,求各位高手指點一二。謝謝。 #include #define uchar unsigned char #define uint unsigned int sbit rs=P2^4; sbit rw=P2^5; sbit e=P2^6; sbit clk=P2^3; sbit ds=P2^2; sbit rst=P2^1; sbit bf=P0^7; uchar code shu[]="0123456789"; uchar code yihang[]=" - - "; uchar code erhang[]=" : : "; uchar i,j,miao,fen,shi,ri,yue,nian,xingqi,dsshu; void delayus(unsigned char n) { unsigned char i; for(i=0;i0;x--) for(y=100;y>0;y--); } bit lcdmang(void) //LCD 忙=1 不忙=0 { bit mang; rs=0; rw=1; e=1; delayus(4); mang=bf; e=0; return mang; } void lcddate(uchar date)//寫數據 { while(lcdmang()==1); rs=1; rw=0; P0=date; delay(5); e=1; delay(5); e=0; } void lcdcom(uchar com)//寫指令 { while(lcdmang()==1); rs=0; rw=0; P0=com; delay(5); e=1; delay(5); e=0; } void init() { i=0; lcdcom(0x38); lcdcom(0x0c); lcdcom(0x06); lcdcom(0x01); lcdcom(0x80+0x00); while(yihang!='\0') { lcddate(yihang); i++; delay(20); } lcdcom(0x80+0x40); i=0; while(erhang!='\0') { lcddate(erhang); i++; delay(20); } i=0; } /*LCD顯示子程序部分*/ /*1302子程序部分*/ void dsxie(uchar com,uchar date)//com為命令,date為數據 { rst=0; clk=0; delay(2); rst=1; delay(2); for(i=0;i<8;i++) { clk="0; " delayus(2); ds="com&0x01; " delayus(2); clk="1; " delayus(2); com="com" >>=1; } for(i=0;i<8;i++) { clk="0; " delayus(2); ds="date&0x01; " delayus(2); clk="1; " delayus(2); date="date" >>=1; delayus(2); } rst=0; } unsigned char dsdu(uchar com) //com為命令 返回讀出數據 { unsigned char dsshu; rst=0; clk=0; rst=1; delayus(2); for(i=0;i<8;i++) { clk="0; " delayus(2); ds="com&0x01; " delayus(2); clk="1;" delayus(2); com="com" >>=1; delayus(2); } for(i=0;i<8;i++) { dsshu="dsshu" >>1; delayus(2); if(ds==1) dsshu|=0x80; delayus(2); clk=1; delayus(2); clk=0; delayus(2); } rst=0; return dsshu; } void dsinit() //向LCD 寫初始化數據 { dsxie(0x8e,0x00); dsxie(0x80,0x00);//miao dsxie(0x82,0x00);//fen dsxie(0x84,0x00);//shi dsxie(0x86,0x00);//ri dsxie(0x88,0x00);//yue dsxie(0x8a,0x01);//xingqi dsxie(0x8c,0x11);//nian } dsdudll(void)// 1302全部讀出 { miao=(dsdu(0x81)&0x7f)/16*10+(dsdu(0x81)&0x7f)%16; fen=(dsdu(0x83)&0x7f)/16*10+(dsdu(0x83)&0x7f)%16; shi=(dsdu(0x85)&0x7f)/16*10+(dsdu(0x85)&0x7f)%16; ri=(dsdu(0x87)&0x7f)/16*10+(dsdu(0x87)&0x7f)%16; yue=(dsdu(0x89)&0x7f)/16*10+(dsdu(0x89)&0x7f)%16; nian=dsdu(0x8d)/16*10+dsdu(0x8d)%16; } void main() { init(); dsinit(); while(1) { dsdudll(); lcdcom(0x80+0x46); lcddate(shu[miao/10]); lcddate(shu[miao%10]); lcdcom(0x80+0x43); lcddate(shu[fen/10]); lcddate(shu[fen%10]); lcdcom(0x80+0x40); lcddate(shu[shi/10]); lcddate(shu[shi%10]); } }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品999在线观看 | 欧美mv日韩mv国产网站91进入 | 国产一区二区三区在线看 | 欧美日韩亚洲在线 | 日韩色在线 | 91精品久久久久久久久中文字幕 | 日韩精品 | 欧美视频在线看 | 一区二区视频在线 | 日产久久| 免费观看黄色片视频 | 亚洲91 | 成人免费网视频 | 蜜桃视频在线观看免费视频网站www | 欧美国产精品一区二区三区 | 国产成人在线免费 | 成年人在线观看视频 | 天天综合亚洲 | 久久这里有精品 | 伊人网站在线观看 | 午夜激情免费视频 | 美女视频黄的免费 | 久久亚洲欧美日韩精品专区 | 粉嫩av | 在线成人av | 一区在线视频 | 久久久久免费精品国产 | 国产乱一区二区三区视频 | 国产精品成人国产乱一区 | 欧美在线小视频 | 精品视频成人 | 91在线最新 | 欧美99 | 日韩视频1| 99热都是精品 | 国产成人精品一区二 | 精品国产免费一区二区三区演员表 | 亚洲一区中文字幕 | 毛片久久久 | 午夜精品视频 | 日韩精品a在线观看图片 |