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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11173|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

關(guān)于LCD1602指定位置光標(biāo)閃爍的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:164701 發(fā)表于 2017-3-23 00:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
你們好,我想問一下你們。我這個程序為什么會出現(xiàn)問題?
本人比較笨,拜托各位大神教教我!實在是很難受,弄了這么久。
———————————————————————————————————————————————————————————————————————
當(dāng)按下“setplace”按鍵之后,TR0=0,定時器0會停止,單片機停止對DS1302的寄存器進行讀取   同時,place++(place的值改變指定不一樣的位置)
按道理,跟隨place值的改變,光標(biāo)會在指定的位置閃爍才對啊   現(xiàn)在出現(xiàn)的問題是光標(biāo)怎么會一直跑飛呢?


———————————————————————————————————————————————————————————————————————
相關(guān)的子函數(shù)如下:
void ds_readtime(void)    //ds1302讀取寄存器子函數(shù)
{
        miao=BCD_Decimal(ds_read(0x81));
        fen=BCD_Decimal(ds_read(0x83));
        shi=BCD_Decimal(ds_read(0x85));
        ri=BCD_Decimal(ds_read(0x87));
        yue=BCD_Decimal(ds_read(0x89));
        xingqi=BCD_Decimal(ds_read(0x8b));
        nian=BCD_Decimal(ds_read(0x8d));
}

———————————————————————————————————————————————————————————————————————
void InitTimer(void)    //定時器的初始化函數(shù)
{
    TMOD = 0x11;
        EA = 1;

        TH0=0;
        TL0=0;
        ET0 = 1;
    TR0 = 1;

    TH1 = 0x3C;
    TL1 = 0x0B0;
    ET1 = 1;
    TR1 = 1;
}


void Timer0Interrupt(void) interrupt 1    //定時器0功能子函數(shù)
{
        ds_readtime();                //讀取ds1302各個寄存器的值到hour,minute,second,week,day,month,year中
}

———————————————————————————————————————————————————————————————————————
void keyscan()    //鍵盤掃描函數(shù)
{
        if(setplace==0)    //這個按鍵按下會改變光標(biāo)的位置
        {
                delay10ms();
                if(setplace==0)
                {
                        place++;
                        while(setplace==0);
                        if(pingmu==0)    //我設(shè)置了4個屏幕,現(xiàn)在這個屏幕是顯示時鐘的
                        {
                                if(place==8)        place=0;

                                if(place==1)
                                {
                                        temp2=(miao)/10*16+(miao)%10;
                                        ds_write(0x8e,0x00);
                                        ds_write(0x80,0x00|temp2);        //miao數(shù)據(jù)寫入DS1302
                                        ds_write(0x8e,0x80);

                                        TR0=0;
                                        lcd_writecom(0x83);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==2)
                                {
                                        TR0=0;
                                        lcd_writecom(0x86);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==3)
                                {
                                        TR0=0;
                                        lcd_writecom(0x89);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==4)
                                {
                                        TR0=0;
                                        lcd_writecom(0x8f);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==5)
                                {
                                        TR0=0;
                                        lcd_writecom(0xc8);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==6)
                                {
                                        TR0=0;
                                        lcd_writecom(0xcb);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==7)
                                {
                                        TR0=0;
                                        lcd_writecom(0xce);
                                        lcd_writecom(0x0f);       
                                }
                                if(place==0)
                                {
                                        lcd_writecom(0x0c);        //按動到第8次,設(shè)置光標(biāo)不閃爍
                                        TR0=1;        //打開定時器0

                                        temp2=(miao)/10*16+(miao)%10;
                                        ds_write(0x8e,0x00);
                                        ds_write(0x80,0x00|temp2);//miao數(shù)據(jù)寫入DS1302
                                        ds_write(0x8e,0x80);
                                }

                        }
                }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2017-3-24 01:59 | 只看該作者
解決的怎么樣了?
回復(fù)

使用道具 舉報

板凳
ID:1 發(fā)表于 2017-3-24 01:59 | 只看該作者
解決的怎么樣了?
回復(fù)

使用道具 舉報

地板
ID:158940 發(fā)表于 2020-7-28 21:37 | 只看該作者
怎么解決?我的問題是一邊讀取數(shù)據(jù),然后按下按鍵,在指定位置閃爍。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色综合一区二区三区 | 午夜视频精品 | 欧美成人一区二区 | 国产精品久久久久久久久久了 | 亚洲精品一区二区三区在线 | 亚洲一区在线观看视频 | 日本精品视频 | 久久综合伊人 | 亚洲综合一区二区三区 | 黄色永久免费 | 亚洲一区二区在线视频 | 国产精品不卡视频 | 天天色天天射天天干 | 成人av网站在线观看 | 天堂久 | 韩国精品在线 | 国产色99精品9i | 欧美日韩一区在线播放 | 亚洲精品1区 | 欧美一区二区三 | 在线视频国产一区 | 野狼在线社区2017入口 | 欧美精品一区二区三区蜜桃视频 | 国产精品中文 | 拍真实国产伦偷精品 | 色综合美女 | 一区二区三区中文字幕 | 先锋av资源网 | 人人澡人人射 | 国户精品久久久久久久久久久不卡 | 免费观看一级特黄欧美大片 | 中文字幕一区在线 | 久久久青草婷婷精品综合日韩 | 国产一区久久 | 国产精品一区在线观看 | 久久国产视频网站 | 性大毛片视频 | 99久久婷婷国产综合精品电影 | 国产福利91精品 | 久久午夜精品福利一区二区 | 日日夜夜天天 |