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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機+1206顯示時間程序, leds一秒一變化,就不正常了

[復制鏈接]
跳轉到指定樓層
樓主
ID:64817 發表于 2020-7-12 10:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大佬,我是個業余愛好者,基礎差,,請教大家了,,
我想讓1206上顯示,時間(小時:分種,秒),不知道哪里錯了,1206顯示秒的地方,不是一秒一變化,同時進入一秒
的IF中不見leds變化,1206,顯示的部分全刪了,進入一秒的IF  leds是有變化的,,一個個加的測試,也像一到1206寫
命令處和1206寫數據的地方,, leds一秒一變化,就不正常了,,(1206顯示秒的地方,不是一秒一變化,)

謝謝謝謝

單片機源程序如下:
#include <reg52.h>
unsigned char ms;
//unsigned char ml;
sbit sm=P2^6;          //RS 數據/命令選擇。H/L.
sbit dx=P2^5;          // R/W讀寫選擇。H/L.
sbit eo=P2^7;          //  使能
sbit leds=P2^0;
sbit ledf=P2^1;
sbit ledh=P2^2;
unsigned char  t;
unsigned char code yihang[]="BeiJingShiJian";
unsigned char code erhang[]="0123456789";

/* 開定時器T0.定時5MS   RST15F204 */
void InitTimer0()
{
    TMOD = 0x01;        //設定定時器0工作方式(16位定時器 )
    TH0 = 0xEC;            //
    TL0 = 0x78;        //
    EA = 1;                   // 開總中斷
    ET0 = 1;           // 開定時器0中斷
    TR0 = 1;           // 啟動定時器0
}




void Lcd1602_Delay1ms(unsigned int c)   //誤差 0us
{
    unsigned char a,b;
        for (; c>0; c--)                                                                                                                 
        {
                 for (b=199;b>0;b--)
                 {
                          for(a=1;a>0;a--);
                 }      
        }
            
}


/*寫命令比如光標顯示與不顯示,需不需要移屏,在液晶什么位置顯示        */
void xieml (unsigned char ml)
  {
        eo=0;
          dx=0;           // R/W讀寫選擇。H/L..
        sm=0;           //RS 數據/命令選擇。H/L.
        P0=ml;
        Lcd1602_Delay1ms(2);
        eo=1;
        Lcd1602_Delay1ms(2);
        eo=0;
  }

/*寫數據比如在液晶顯示什么容        */
void xiesj(unsigned char sj)   
{
        eo=0;
    dx=0;           // R/W讀寫選擇。H/L.
        sm=1;           //RS 數據/命令選擇。H/L.
        P0=sj;
        Lcd1602_Delay1ms(2);
        eo=1;
        Lcd1602_Delay1ms(2);
        eo=0;                                                         
}

/*1206初始化        */
void chushiha()
{

   xieml(0X38);
   xieml(0X0c);
  // xieml(0X06);
   xieml(0X01);
}


/*主函數,寫入固定時間,驅動某個繼電器        */
void main()
{
  unsigned char n,s,f,h,sh,sg,fh,fg,hh,hg;
  InitTimer0();
  chushiha();

  while(1)
  {

  if(ms==200)
  {
   ms=0; s=s+1; leds=~leds;   //為了檢測觀察程序,加了一秒leds亮滅一次。
  }


  if(s==59)
  {
   s=0; f=f+1;ledf=~ledf;           //為了檢測觀察程序,加了一分leds亮滅一次。
  }

  if(f==59)
  {
   f=0; h=h+1; ledh=~ledh;
  }
  if(h==11)
  {
   h=0;
  }           



  sg=s%10; sh=s/10;                // sg秒的個位數,sh秒十位數。
  fg=f%10; fh=f/10;                // fg分的個位數,fh分十位數。
  hg=h%10; hh=h/10;                // hg時的個位數,hh時十位數。

  xieml(0X80+0X01);
  for(n=0;n<14;n++)
  {
  xiesj(yihang[n]);            //1206第一行顯示BeiJingShiJian。
}
         
  xieml(0X80+0X44);
  xiesj(erhang[hh]);          //1206第二行顯示時間時的十位數。
  xieml(0X80+0X45);
  xiesj(erhang[hg]);         //1206第二行顯示時間時的個位數。
  xieml(0X80+0X46);
  xiesj(':');


  xieml(0X80+0X47);
  xiesj(erhang[fh]);           //1206第二行顯示時間分的十位數。
  xieml(0X80+0X48);
  xiesj(erhang[fg]);         //1206第二行顯示時間分的個位數。
  xieml(0X80+0X49);
  xiesj(',');
         

  xieml(0X80+0X4A);
  xiesj(erhang[sh]);          //1206第二行顯示時間秒的十位數。
  xieml(0X80+0X4B);
  xiesj(erhang[sg]);         //1206第二行顯示時間秒的個位數。


  }
}


void T0_time() interrupt 1
{                  
  TH0 = 0xEC;            //
  TL0 = 0x78;
  ms++;
// if(ms==200){ms=0;led=~led;}


}


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

使用道具 舉報

沙發
ID:789121 發表于 2020-7-12 17:52 | 只看該作者
不是1s變化具體是不變化還是2s變化,delay1ms那個函數用for循環延時不準確的,寫數據時間過長可能導致計時不準,將if(ms==200)改成if(ms>199),估計會好一些
回復

使用道具 舉報

板凳
ID:64817 發表于 2020-7-13 13:37 | 只看該作者
不要黑 發表于 2020-7-12 17:52
不是1s變化具體是不變化還是2s變化,delay1ms那個函數用for循環延時不準確的,寫數據時間過長可能導致計時 ...

有變化,,但太正常了 ,理想是一秒,,實際都快1分了
回復

使用道具 舉報

地板
ID:789121 發表于 2020-7-14 14:39 | 只看該作者
abeimao 發表于 2020-7-13 13:37
有變化,,但太正常了 ,理想是一秒,,實際都快1分了

是仿真的么?仿真中有沒有模擬電路,可以把源文件發上來測試一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男女羞羞视频在线 | 成人综合视频在线观看 | 婷婷在线免费 | 91精品国产91久久久久久丝袜 | 国产不卡视频在线 | 精品久久久久久久久久久久 | 免费视频二区 | 午夜视频在线免费观看 | 欧美一级大黄 | 日韩一区二区在线观看 | 中文字幕国产一区 | 午夜爱爱毛片xxxx视频免费看 | 亚洲美女网站 | 天天操夜夜操免费视频 | 精品国产高清一区二区三区 | 视频一区在线观看 | 人操人人干人 | 国产成人精品一区二区三区四区 | 久久精品国产久精国产 | 久久人人国产 | 一区二区免费视频 | 91精品国产综合久久久久久漫画 | 国内久久| 日韩一级免费电影 | 久久亚洲一区二区 | 91精品一区二区三区久久久久 | 国产精品美女久久久免费 | 麻豆va| 亚洲一区国产精品 | 欧美精品三区 | 亚洲色图在线观看 | 精品福利在线 | 免费激情 | 久久99精品久久 | 免费看一区二区三区 | 亚洲高清在线 | 久久精品视频在线观看 | xxxxx黄色片| 久久久久久99 | 国产精品一区二区免费 | 日本一级淫片免费啪啪3 |