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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5162|回復(fù): 5
收起左側(cè)

DS1302與1602顯示時間正常,但用按鍵無法調(diào)整時間

[復(fù)制鏈接]
ID:33544 發(fā)表于 2017-6-22 17:19 | 顯示全部樓層 |閱讀模式
DS1302與1602顯示時間正常,但用按鍵無法調(diào)整時間,好像是數(shù)據(jù)沒有存入,找不到問題請教大家了下面代碼是DS1302的驅(qū)動代碼;

#include"sys_config.h"

u8 getTimebuf[7];//存放時間數(shù)據(jù)
u8 time[]={"  :  :  "};                                        //時間格式字符串
u8 date[]={"20  -  -  "};                                //日期格式字符串
u8 week[]={"   "};                                                //星期格式字符串
u8 weeklist[]={"SunMonTueWedThuFriSat"};        //星期字符列表


int count=0;//設(shè)定秒分時日月星期年的時候count的值分別為1235647
int alarm=0;//是否進(jìn)入鬧鐘設(shè)置界面 123分別代表開關(guān) 分 小時的設(shè)置
int isOpen;//鬧鐘是否開啟  默認(rèn)不開啟
int fen,shi;//鬧鐘的分鐘小時
int isRing;//鬧鐘是否在響
u8 isInit_1302;//是否初始化時鐘完畢

//sbit scl=P1^3;//時鐘線
//sbit rst=P1^5;//復(fù)位線
//sbit io=P1^4;//數(shù)據(jù)口
/**********************ds1302初始化*****************************/
void init_ds1302(){
        //ds1302初始化
       
        isInit_1302=read_ds1302(0x81);        //讀出時鐘狀態(tài)
        if(isInit_1302&0x80){                        //說明沒有初始化
                write_ds1302(0x8e,0x00);        //關(guān)閉寫保護(hù)  以后一直開著
                write_ds1302(0x90,0xa5);         //輔助電源充電命令 一個二極管  一個2K電阻
                write_ds1302(0x80,0x00);        //秒 CH置0 開啟時鐘
                write_ds1302(0x82,0x00);        //分
                write_ds1302(0x84,0x00);        //時
                write_ds1302(0x86,0x00);        //日
                write_ds1302(0x88,0x01);        //月
                write_ds1302(0x8a,0x01);        //星期
                write_ds1302(0x8c,0x17);        //年
                write_ds1302(0x8e,0x80);
        }
}
/**********************ds1302寫一個字節(jié)數(shù)據(jù)*****************************/
void write_ds1302_byte(u8 temp){
        //ds1302寫一個字節(jié)數(shù)據(jù)
        u8 i;
        for(i=0;i<8;i++){
                io=temp&0x01;//將數(shù)據(jù)放到IO口上
                scl=0;//scl為低時準(zhǔn)備數(shù)據(jù)
                scl=1;//上升沿寫入
                temp>>=1;
        }
}
/**********************向地址add寫入數(shù)據(jù)datds1302*****************************/
void write_ds1302(u8 add,u8 dat){
        //向地址add寫入數(shù)據(jù)dat
        rst=0;
        scl=0;
        rst=1;
        write_ds1302_byte(add);
        write_ds1302_byte(dat);
        scl=1;
        rst=0;
}
/**********************ds1302讀數(shù)據(jù)*****************************/
u8 read_ds1302(u8 add)
        {
        //ds1302讀數(shù)據(jù)
        u8 i,dat;
        rst=0;
        scl=0;
        rst=1;
        write_ds1302_byte(add);//首先寫入要讀的數(shù)據(jù)處的地址
        for(i=0;i<8;i++){
                if(io==1){
                        dat|=0x80;
                }
                scl=1;
                scl=0;//下降沿讀取數(shù)據(jù)
                dat>>=1;
        }
        scl=1;
        rst=0;
        return dat;
}

/**********************ds1302讀時間*****************************/
void read_time(u8 *s){
          u8 i;
          u8 ucAddr = 0x81;
          for (i=0;i<7;i++){
                s[i] = read_ds1302(ucAddr);//格式為: 秒 分 時 日 月 星期 年
                ucAddr += 2;
          }
}

/**********************ds1302設(shè)定時間*****************************/
void set_time(u8 *pSecDa){
        //設(shè)定時間
        u8 i;
        u8 ucAddr = 0x80;
        write_ds1302(0x8e,0x00);       
        for(i =7;i>0;i--){
                write_ds1302(ucAddr,*pSecDa); //秒 分 時 日 月 星期 年
                pSecDa++;
                ucAddr+=2;
        }
        write_ds1302(0x8e,0x80);
}
下面是按鈕賦值代碼,代碼運(yùn)行時,光標(biāo)移動的按鍵更改值都正常,就是更新不了時間
void key_scan()
       
{
        int i;
        u8 code tips1[]="SET SUCCESS";//鬧鐘設(shè)置成功的提示
        u8 code tips2[]="CANCEL SUCCESS";//取消鬧鐘的提示
        if(key_dat==4){//檢測是否按下
                delay(10);//消抖
                if(LCD_cnt)
                {//再次檢測是否按下
                LCD_cnt=0;
                        while(!key_set_time);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_set_time);//再次檢測是否松開
                        if(alarm==0)
                        {//當(dāng)沒有顯示鬧鐘界面時才顯示時間設(shè)定
                                count++;       
                               
                                write_ds1302(0x80,0x80);//讓時鐘停止
                                if(count==8){//繼續(xù)走時,說明時間已經(jīng)設(shè)定好了
                                        Lcd1602_WriteCom(0x0c);//讓光標(biāo)消失
                                        LED1=1;
                                        set_time(getTimebuf);//寫入新的時間
                                        write_ds1302(0x80,0x00);//讓時鐘繼續(xù)
                                        count=0;BE_cnt=500;        //蜂鳴器
                                        return;
                                }
                                LED1=0;
                                switch(count){
                                        case 1:
                                                Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                                break;
                                        case 2:
                                                Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                                break;
                                        case 3:
                                                Lcd1602_WriteCom(0x80+0x40+1);//在時的位置
                                                break;
                                        case 4:
                                                Lcd1602_WriteCom(0x80+14);//在星期的位置
                                                break;
                                        case 5:
                                                Lcd1602_WriteCom(0x80+10);//在日的位置
                                                break;
                                        case 6:
                                                Lcd1602_WriteCom(0x80+7);//在月的位置
                                                break;
                                        case 7:
                                                Lcd1602_WriteCom(0x80+4);//在年的位置
                                                break;
                                }
                                Lcd1602_WriteCom(0x0f);//讓光標(biāo)閃爍
                        }
                }
        }
        if(key_add==0){//檢測是否按下
                delay(10);//消抖
  if(add_LCD)
        {//再次檢測是否按下
                        add_LCD=0;
                        while(!key_add);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_add);//再次檢測是否松開
                        if(count!=0)
                                {
                                switch(count){
                                case 1:
                                        //在秒的位置
                                        getTimebuf[0]++;
                                        if(getTimebuf[0]==0x5a){
                                                getTimebuf[0]=0;
                                        }
                                        if(getTimebuf[0]==0x4a){
                                                getTimebuf[0]=0x50;
                                        }
                                        if(getTimebuf[0]==0x3a){
                                                getTimebuf[0]=0x40;
                                        }
                                        if(getTimebuf[0]==0x2a){
                                                getTimebuf[0]=0x30;
                                        }
                                        if(getTimebuf[0]==0x1a){
                                                getTimebuf[0]=0x20;
                                        }
                                        if(getTimebuf[0]==0x0a){
                                                getTimebuf[0]=0x10;
                                        }
                                        time[6]=(getTimebuf[0])/16+48;//格式化時間秒
                                        time[7]=(getTimebuf[0])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+6);//在秒的位置
                                        Lcd1602_Writedata(time[6]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                        Lcd1602_Writedata(time[7]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//讓光標(biāo)在秒的位置閃爍
                                        break;
                                case 2:
                                        //在分的位置
                                        getTimebuf[1]++;
                                        if(getTimebuf[1]==0x5a){
                                                getTimebuf[1]=0;
                                        }
                                        if(getTimebuf[1]==0x4a){
                                                getTimebuf[1]=0x50;
                                        }
                                        if(getTimebuf[1]==0x3a){
                                                getTimebuf[1]=0x40;
                                        }
                                        if(getTimebuf[1]==0x2a){
                                                getTimebuf[1]=0x30;
                                        }
                                        if(getTimebuf[1]==0x1a){
                                                getTimebuf[1]=0x20;
                                        }
                                        if(getTimebuf[1]==0x0a){
                                                getTimebuf[1]=0x10;
                                        }
                                        time[3]=(getTimebuf[1])/16+48;//格式化時間分
                                        time[4]=(getTimebuf[1])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+3);//在分的位置
                                        Lcd1602_Writedata(time[3]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                        Lcd1602_Writedata(time[4]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//讓光標(biāo)在分的位置閃爍
                                        break;
                                case 3:
                                        //在時的位置
                                        getTimebuf[2]++;
                                        if(getTimebuf[2]==0x24){
                                                getTimebuf[2]=0;
                                        }
                                        if(getTimebuf[2]==0x1a){
                                                getTimebuf[2]=0x20;
                                        }
                                        if(getTimebuf[2]==0x0a){
                                                getTimebuf[2]=0x10;
                                        }
                                        time[0]=(getTimebuf[2])/16+48;//格式化時間小時
                                        time[1]=(getTimebuf[2])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+0);//在小時的位置
                                        Lcd1602_Writedata(time[0]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        Lcd1602_Writedata(time[1]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        break;
                                case 4:
                                        //在星期的位置
                                        getTimebuf[5]++;
                                        if(getTimebuf[5]==0x08){
                                                getTimebuf[5]=0x01;
                                        }
                                        if((getTimebuf[5]%10)*3==21){//輪完了  重新開始
                                                week[0]=weeklist[0];
                                                week[1]=weeklist[1];
                                                week[2]=weeklist[2];
                                        }else{
                                                week[0]=weeklist[(getTimebuf[5]%10)*3];//格式化星期
                                                week[1]=weeklist[(getTimebuf[5]%10)*3+1];
                                                week[2]=weeklist[(getTimebuf[5]%10)*3+2];
                                        }
                                        Lcd1602_WriteCom(0x80+12);
                                        Lcd1602_Writedata(week[0]);
                                        Lcd1602_WriteCom(0x80+13);
                                        Lcd1602_Writedata(week[1]);
                                        Lcd1602_WriteCom(0x80+14);
                                        Lcd1602_Writedata(week[2]);
                                        Lcd1602_WriteCom(0x80+14);
                                        break;
                                case 5:
                                        //在日的位置
                                        getTimebuf[3]++;
                                        if(getTimebuf[3]==0x32){
                                                getTimebuf[3]=0x01;
                                        }
                                        if(getTimebuf[3]==0x2a){
                                                getTimebuf[3]=0x30;
                                        }
                                        if(getTimebuf[3]==0x1a){
                                                getTimebuf[3]=0x20;
                                        }
                                        if(getTimebuf[3]==0x0a){
                                                getTimebuf[3]=0x10;
                                        }
                                        date[8]=(getTimebuf[3])/16+48;
                                        date[9]=(getTimebuf[3])%16+48;
                                        Lcd1602_WriteCom(0x80+9);
                                        Lcd1602_Writedata(date[8]);
                                        Lcd1602_WriteCom(0x80+10);
                                        Lcd1602_Writedata(date[9]);
                                        Lcd1602_WriteCom(0x80+10);
                                        break;
                                case 6:
                                        //在月的位置
                                        getTimebuf[4]++;
                                        if(getTimebuf[4]==0x13){
                                                getTimebuf[4]=0x01;
                                        }
                                        if(getTimebuf[4]==0x0a){
                                                getTimebuf[4]=0x10;
                                        }
                                        date[5]=(getTimebuf[4])/16+48;
                                        date[6]=(getTimebuf[4])%16+48;
                                        Lcd1602_WriteCom(0x80+6);
                                        Lcd1602_Writedata(date[5]);
                                        Lcd1602_WriteCom(0x80+7);
                                        Lcd1602_Writedata(date[6]);
                                        Lcd1602_WriteCom(0x80+7);
                                        break;
                                case 7:
                                        //在年的位置
                                        getTimebuf[6]++;
                                        if(getTimebuf[6]==0x9a){
                                                getTimebuf[6]=0x00;
                                        }
                                        if(getTimebuf[6]==0x8a){
                                                getTimebuf[6]=0x90;
                                        }
                                        if(getTimebuf[6]==0x7a){
                                                getTimebuf[6]=0x80;
                                        }
                                        if(getTimebuf[6]==0x6a){
                                                getTimebuf[6]=0x70;
                                        }
                                        if(getTimebuf[6]==0x5a){
                                                getTimebuf[6]=0x60;
                                        }
                                        if(getTimebuf[6]==0x4a){
                                                getTimebuf[6]=0x50;
                                        }
                                        if(getTimebuf[6]==0x3a){
                                                getTimebuf[6]=0x40;
                                        }
                                        if(getTimebuf[6]==0x2a){
                                                getTimebuf[6]=0x30;
                                        }
                                        if(getTimebuf[6]==0x1a){
                                                getTimebuf[6]=0x20;
                                        }
                                        if(getTimebuf[6]==0x0a){
                                                getTimebuf[6]=0x10;
                                        }
                                        date[2]=(getTimebuf[6])/16+48;
                                        date[3]=(getTimebuf[6])%16+48;
                                        Lcd1602_WriteCom(0x80+3);
                                        Lcd1602_Writedata(date[2]);
                                        Lcd1602_WriteCom(0x80+4);
                                        Lcd1602_Writedata(date[3]);
                                        Lcd1602_WriteCom(0x80+4);
                                        break;
                                }
                        }
                       
                }
        }
        if(key_minus==0){//檢測是否按下
                delay(10);//消抖
                if(minus_LCD){//再次檢測是否按下
                        while(!key_minus);//檢測是否松開
                        delay(10);//延時消抖
                        while(!key_minus);//再次檢測是否松開
                        minus_LCD =0;
                        if(count!=0){
                                switch(count){
                                case 1:
                                        //在秒的位置
                                        getTimebuf[0]--;
                                        if(getTimebuf[0]==0xff){
                                                getTimebuf[0]=0x59;
                                        }
                                        if(getTimebuf[0]==0x4f){
                                                getTimebuf[0]=0x49;
                                        }
                                        if(getTimebuf[0]==0x3f){
                                                getTimebuf[0]=0x39;
                                        }
                                        if(getTimebuf[0]==0x2f){
                                                getTimebuf[0]=0x29;
                                        }
                                        if(getTimebuf[0]==0x1f){
                                                getTimebuf[0]=0x19;
                                        }
                                        if(getTimebuf[0]==0x0f){
                                                getTimebuf[0]=0x09;
                                        }
                                        time[6]=(getTimebuf[0])/16+48;//格式化時間秒
                                        time[7]=(getTimebuf[0])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+6);//在秒的位置
                                        Lcd1602_Writedata(time[6]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//在秒的位置
                                        Lcd1602_Writedata(time[7]);
                                        Lcd1602_WriteCom(0x80+0x40+7);//讓光標(biāo)在秒的位置閃爍
                                        break;
                                case 2:
                                        //在分的位置
                                        getTimebuf[1]--;
                                        if(getTimebuf[1]==0xff){
                                                getTimebuf[1]=0x59;
                                        }
                                        if(getTimebuf[1]==0x4f){
                                                getTimebuf[1]=0x49;
                                        }
                                        if(getTimebuf[1]==0x3f){
                                                getTimebuf[1]=0x39;
                                        }
                                        if(getTimebuf[1]==0x2f){
                                                getTimebuf[1]=0x29;
                                        }
                                        if(getTimebuf[1]==0x1f){
                                                getTimebuf[1]=0x19;
                                        }
                                        if(getTimebuf[1]==0x0f){
                                                getTimebuf[1]=0x09;
                                        }
                                        time[3]=(getTimebuf[1])/16+48;//格式化時間分
                                        time[4]=(getTimebuf[1])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+3);//在分的位置
                                        Lcd1602_Writedata(time[3]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//在分的位置
                                        Lcd1602_Writedata(time[4]);
                                        Lcd1602_WriteCom(0x80+0x40+4);//讓光標(biāo)在分的位置閃爍
                                        break;
                                case 3:
                                        //在時的位置
                                        getTimebuf[2]--;
                                        if(getTimebuf[2]==0xff){
                                                getTimebuf[2]=0x23;
                                        }
                                        if(getTimebuf[2]==0x1f){
                                                getTimebuf[2]=0x19;
                                        }
                                        if(getTimebuf[2]==0x0f){
                                                getTimebuf[2]=0x09;
                                        }
                                        time[0]=(getTimebuf[2])/16+48;//格式化時間小時
                                        time[1]=(getTimebuf[2])%16+48;
                                        Lcd1602_WriteCom(0x80+0x40+0);//在小時的位置
                                        Lcd1602_Writedata(time[0]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        Lcd1602_Writedata(time[1]);
                                        Lcd1602_WriteCom(0x80+0x40+1);
                                        break;
                                case 4:
                                        //在星期的位置
                                        getTimebuf[5]--;
                                        if(getTimebuf[5]==0){
                                                getTimebuf[5]=0x07;
                                        }
                                        if((getTimebuf[5]%10)*3==21){//輪完了  重新開始
                                                week[0]=weeklist[0];
                                                week[1]=weeklist[1];
                                                week[2]=weeklist[2];
                                        }else{
                                                week[0]=weeklist[(getTimebuf[5]%10)*3];//格式化星期
                                                week[1]=weeklist[(getTimebuf[5]%10)*3+1];
                                                week[2]=weeklist[(getTimebuf[5]%10)*3+2];
                                        }
                                        Lcd1602_WriteCom(0x80+12);
                                        Lcd1602_Writedata(week[0]);
                                        Lcd1602_WriteCom(0x80+13);
                                        Lcd1602_Writedata(week[1]);
                                        Lcd1602_WriteCom(0x80+14);
                                        Lcd1602_Writedata(week[2]);
                                        Lcd1602_WriteCom(0x80+14);
                                        break;
                                case 5:
                                        //在日的位置
                                        getTimebuf[3]--;
                                        if(getTimebuf[3]==0){
                                                getTimebuf[3]=0x31;
                                        }
                                        if(getTimebuf[3]==0x2f){
                                                getTimebuf[3]=0x29;
                                        }
                                        if(getTimebuf[3]==0x1f){
                                                getTimebuf[3]=0x19;
                                        }
                                        if(getTimebuf[3]==0x0f){
                                                getTimebuf[3]=0x09;
                                        }
                                        date[8]=(getTimebuf[3])/16+48;
                                        date[9]=(getTimebuf[3])%16+48;
                                        Lcd1602_WriteCom(0x80+9);
                                        Lcd1602_Writedata(date[8]);
                                        Lcd1602_WriteCom(0x80+10);
                                        Lcd1602_Writedata(date[9]);
                                        Lcd1602_WriteCom(0x80+10);
                                        break;
                                case 6:
                                        //在月的位置
                                        getTimebuf[4]--;
                                        if(getTimebuf[4]==0){
                                                getTimebuf[4]=0x12;
                                        }
                                        if(getTimebuf[4]==0x0f){
                                                getTimebuf[4]=0x09;
                                        }
                                        date[5]=(getTimebuf[4])/16+48;
                                        date[6]=(getTimebuf[4])%16+48;
                                        Lcd1602_WriteCom(0x80+6);
                                        Lcd1602_Writedata(date[5]);
                                        Lcd1602_WriteCom(0x80+7);
                                        Lcd1602_Writedata(date[6]);
                                        Lcd1602_WriteCom(0x80+7);
                                        break;
                                case 7:
                                        //在年的位置
                                        getTimebuf[6]--;
                                        if(getTimebuf[6]==0xff){
                                                getTimebuf[6]=0x99;
                                        }
                                        if(getTimebuf[6]==0x8f){
                                                getTimebuf[6]=0x89;
                                        }
                                        if(getTimebuf[6]==0x7f){
                                                getTimebuf[6]=0x79;
                                        }
                                        if(getTimebuf[6]==0x6f){
                                                getTimebuf[6]=0x69;
                                        }
                                        if(getTimebuf[6]==0x5f){
                                                getTimebuf[6]=0x59;
                                        }
                                        if(getTimebuf[6]==0x4f){
                                                getTimebuf[6]=0x49;
                                        }
                                        if(getTimebuf[6]==0x3f){
                                                getTimebuf[6]=0x39;
                                        }
                                        if(getTimebuf[6]==0x2f){
                                                getTimebuf[6]=0x29;
                                        }
                                        if(getTimebuf[6]==0x1f){
                                                getTimebuf[6]=0x19;
                                        }
                                        if(getTimebuf[6]==0x0f){
                                                getTimebuf[6]=0x09;
                                        }
                                        date[2]=(getTimebuf[6])/16+48;
                                        date[3]=(getTimebuf[6])%16+48;
                                        Lcd1602_WriteCom(0x80+3);
                                        Lcd1602_Writedata(date[2]);
                                        Lcd1602_WriteCom(0x80+4);
                                        Lcd1602_Writedata(date[3]);
                                        Lcd1602_WriteCom(0x80+4);
                                        break;
                                }
                        }
                       
                }
        }
       
}





回復(fù)

使用道具 舉報(bào)

ID:82765 發(fā)表于 2017-6-22 21:46 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2017-6-23 08:24 | 顯示全部樓層
我有這樣的程序,是例程。你可以借鑒一下。
不過,這個例程也是有問題的:設(shè)置的時間、日期十分的不完善,如:可以設(shè)置0月0日,2月可以有30、31日,6月可以有31日等等,不過這些是可以自己修改的。它只是個例程,拋磚引玉而已。
你說的按鍵沒反應(yīng),是絕對可以借鑒一下的。你的程序太長,沒時間看啊。

DS1302顯示時鐘(可以按鍵設(shè)置時鐘).rar

50.65 KB, 下載次數(shù): 87

回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2017-6-23 17:26 | 顯示全部樓層
本帖最后由 zl2168 于 2017-6-23 20:51 編輯

實(shí)例91  具有校正功能的時鐘1302(LCD1602顯示)
Proteus仿真,確認(rèn)有效。
實(shí)例91 帶校正時鐘1302(LCD1602顯示).rar (52.68 KB, 下載次數(shù): 72)
回復(fù)

使用道具 舉報(bào)

ID:33544 發(fā)表于 2017-6-24 15:37 | 顯示全部樓層
補(bǔ)充說明一下,單片機(jī)用的是stc12c5a60s2,程序用仿真軟件運(yùn)行都很正常,硬件部分DS1302的三個腳上都加上了1K的上拉電阻,程序上電第一次初始化能寫進(jìn)數(shù)據(jù),上電后無法重復(fù)修改,程度邏輯在仿真軟件上運(yùn)行都正常,仿真時重復(fù)寫入數(shù)據(jù)也正常
回復(fù)

使用道具 舉報(bào)

ID:292218 發(fā)表于 2018-3-15 11:39 | 顯示全部樓層
wis98 發(fā)表于 2017-6-24 15:37
補(bǔ)充說明一下,單片機(jī)用的是stc12c5a60s2,程序用仿真軟件運(yùn)行都很正常,硬件部分DS1302的三個腳上都加上了 ...

我也屬上電初始化可以更改,可是在循環(huán)里檢測串口通過串口就不能更改
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品99久久久久 | 一区二区三区视频 | 成人精品在线观看 | 伊人免费视频二 | 久久999 | 国产99在线 | 欧美 | 国产欧美一区二区三区在线看蜜臀 | 久久久久久国产精品 | 日韩精品一区二区在线观看 | 精品国产精品三级精品av网址 | 奇米av| 久草视频观看 | 欧美亚洲综合久久 | 欧洲免费视频 | 久久久久一区二区三区四区 | 国产999精品久久久久久绿帽 | 日韩伦理电影免费在线观看 | 国产美女视频 | 日韩一二三 | 色香婷婷| 国产成人午夜电影网 | 九九热视频这里只有精品 | 欧美二级 | 午夜精品三区 | 动漫www.被爆羞羞av44 | 欧美片网站免费 | 亚洲精品乱码久久久久久按摩 | 伊人久久成人 | 精品免费视频 | 欧美午夜精品久久久久久浪潮 | 精品人伦一区二区三区蜜桃网站 | 黄色小视频大全 | 精品久久久久久国产 | 免费不卡视频 | www.av在线 | 久久综合九色综合欧美狠狠 | 看av在线| 国产97久久| 国产精品久久久久久久免费大片 | 91精品久久久久久久久久入口 | 精品二|