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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3435|回復: 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]); } }
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美国产一区二区 | 国产区精品 | 亚洲视频一区在线 | 一区二区三区四区电影 | 国产精品久久久亚洲 | 午夜av电影 | 亚洲一区二区av | 美女在线国产 | 麻豆毛片 | 欧美性久久 | 一级片免费视频 | 国产成人高清成人av片在线看 | 国产福利在线视频 | 97视频精品 | 欧美一级欧美三级在线观看 | 国产一区二区三区色淫影院 | 久久免费香蕉视频 | www久久国产 | 欧美乱做爰xxxⅹ久久久 | 黄色一级大片在线观看 | 午夜日韩 | 国产成人免费网站 | 欧美 日韩 国产 成人 在线 | 亚洲成av人片在线观看 | 亚洲精品乱码久久久久久久久 | 亚洲欧美激情精品一区二区 | 黄色av网站在线观看 | 日韩欧美三级电影 | 成人国产精品一级毛片视频毛片 | 亚洲三区在线播放 | 91天堂网 | 日本在线中文 | 国产三级网站 | 国内精品在线视频 | 国产精品久久久久久久久久三级 | 欧美午夜一区 | 精品国产一区二区三区日日嗨 | 视频第一区 | 精品视频一区二区三区在线观看 | 国产日韩一区二区三区 | 国产成人精品久久 |