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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于1602LCD不能計數

[復制鏈接]
跳轉到指定樓層
樓主
以下是我的程序,是畢業設計任務,想做一個LCD的24小時時鐘計數器,但是仿真之后并不能計數,希望哪位大神指點指點!!!
#include<reg51.h>
#include<intrins.h>
#include<stdlib.h>
#define uchar unsigned char
#define  uint unsigned int
#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}  
//sbit K1=P1^0;
//sbit K2=P1^1;
sbit BEEP=P3^0;
sbit LCD_RS=P3^5;
sbit LCD_RW=P3^6;
sbit LCD_EN=P3^7;
void beep();
bit LCD_Busy_Check();
void LCD_Initialize();
void LCD_Set_POS(uchar);
void LCD_Write_Command(uchar);
void LCD_Write_Data(uchar);  
uchar code titlt_text[]={"--- jishiqi ---"};  //標題字符串
uchar data Multiply_str[]={"               "}; //乘法口訣表達式 //延時
uchar miao,fen,shi,miao_20;
void chuli();
void DelayMS(uint x)
{
  uchar i;   
  while(x--)
          for(i=0;i<120;i++);
}  
//顯示函數,在LCD指定的行上顯示字符串
void Display_string(uchar *str,uchar lineno)
{
   uchar k;
   LCD_Set_POS(lineno);     
   for(k=0;k<16;k++)
           LCD_Write_Data(str[k]);
}  void Get_random_Num_A_B()
{


   Multiply_str[1]= Multiply_str[2]=Multiply_str[3]=Multiply_str[4]
   =' ';
        Multiply_str[12]=miao%10+'0';     
        Multiply_str[11]=miao/10+'0';     
        Multiply_str[9]=fen%10+'0';     
        Multiply_str[8]=fen/10+'0';     
        Multiply_str[6]=shi%10+'0';     
        Multiply_str[5]=shi/10+'0';
//        if(c1==0)  
        //        Multiply_str[9]=' ';//當乘積的十位數(即數組中的第9位)為0時不顯示
}

//1602LCD顯示控制函數
bit LCD_Busy_Check()
{  
  bit Result;  
  LCD_RS=0;//寄存選擇  
  LCD_RW=1;//讀的狀態選擇
  LCD_EN=1;//開始讀
  DelayNOP();  
  Result=(bit)(P0&0x80);
  LCD_EN=0;  
  return Result;
}  

void LCD_Write_Command(uchar cmd)
{  
    while(LCD_Busy_Check());//忙等待
    LCD_RS=0;
        LCD_RW=0;
        LCD_EN=0;
    _nop_();_nop_();
    P0=cmd;
        DelayNOP();
    LCD_EN=1;
        DelayNOP();
    LCD_EN=0;
}

void LCD_Write_Data(uchar str)
{  
   while(LCD_Busy_Check());  
   LCD_RS=1;
   LCD_RW=0;
   LCD_EN=0;
   P0=str;
   DelayNOP();
   LCD_EN=1;
   DelayNOP();
   LCD_EN=0;
}

void LCD_Initialize()
{  
    DelayMS(5);
        LCD_Write_Command(0x38);  //設置8位格式,2行,5x7
    DelayMS(5);
        LCD_Write_Command(0x0c); //整體顯示,關光標,不閃爍
    DelayMS(5);
        LCD_Write_Command(0x06); //設定輸入方式,增量不移位
        DelayMS(5);
        LCD_Write_Command(0x01); //清除屏幕顯示
    DelayMS(5);
        TMOD=0X01;
        TH0=0X3C;
        TL0=0XB0;
        TR0=1;
        EA=1;
        ET0=1;
        Multiply_str[7]=Multiply_str[10]='-';
}  

void LCD_Set_POS(uchar Position)
{  
        LCD_Write_Command(Position | 0x80);
}

//蜂鳴器
void beep()
{  
   uchar i,j;  
   for(i=0;i<180;i++)
   {  
      for(j=0;j<50;j++);
          BEEP=!BEEP;
    }  
     DelayMS(300);
         BEEP=0;
}

//主程序

void main()
{  
    P0= P2=0xff;
    DelayMS(10);  
    LCD_Initialize();  //初始化LCD  
     Display_string(titlt_text,0x00);//在第一行顯示標題
     while(1)
    {  
                
                   Get_random_Num_A_B();
                     Display_string(Multiply_str,0x40);
                               
    }
}
void chuli()
{
        if(miao_20==20)
        {
                miao_20=0;
                miao++;
                if(miao==60)
                {
                        miao=0;
                        fen++;
                        if(fen==60)
                        {
                                fen=0;
                                shi++;
                        }
                }
        }
}  
void t0() interrupt 1
{
        TH0=0X3C;
        TL0=0XB0;
        miao_20++;
}

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

使用道具 舉報

沙發
ID:215745 發表于 2017-6-30 00:13 | 只看該作者
這是任務LCD的電路圖

QQ圖片20170630001237.png (50.39 KB, 下載次數: 58)

QQ圖片20170630001237.png
回復

使用道具 舉報

板凳
ID:215745 發表于 2017-6-30 00:16 | 只看該作者
可以顯示“---jishuqi---”“00-00-00”但不能自動計數!無解,求答...
回復

使用道具 舉報

地板
ID:123289 發表于 2017-6-30 00:54 | 只看該作者
樓主:“關于1602LCD不能計數”
LCD只能顯示,沒有計數功能!
回復

使用道具 舉報

5#
ID:82765 發表于 2017-6-30 05:43 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

6#
ID:215745 發表于 2017-6-30 08:38 | 只看該作者
yzwzfyz 發表于 2017-6-30 00:54
樓主:“關于1602LCD不能計數”
LCD只能顯示,沒有計數功能!

但是不是可以將它做成一個時鐘嘛,是可以的,我們課上都做過,不過我自己寫程序出了問題!當然時鐘的時間可能沒那么準,但是就是這樣一個道理,習慣叫計數了
回復

使用道具 舉報

7#
ID:208445 發表于 2017-6-30 11:21 | 只看該作者
你的 chuli()函數沒調用啊,當然不能變化了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色av网站在线观看 | 久久久久久久一区 | 亚洲欧洲中文日韩 | 9色网站 | 精品久久久久久久久亚洲 | 精品久久九九 | 欧洲性生活视频 | 日本精品一区二区三区视频 | 米奇7777狠狠狠狠视频 | 国产欧美一区二区精品忘忧草 | 97avcc| 久久在视频 | 亚洲一区欧美一区 | 日韩影院在线观看 | 中文字幕 国产精品 | 欧美二区乱c黑人 | 黄篇网址 | 蜜臀久久99精品久久久久野外 | 国产精品美女一区二区三区 | 99热热热| 九九伦理电影 | 黄色精品 | 精品九九九 | 在线看中文字幕 | 日韩精品一区二区三区视频播放 | 国产一级在线观看 | 一级高清免费毛片 | 精品欧美色视频网站在线观看 | 天堂成人av | 国产欧美一区二区三区在线看 | 毛片高清 | 国产日韩一区二区 | 91精品国产91久久久久福利 | 久久精品国产久精国产 | 日日碰碰 | 91久久 | 福利片在线观看 | 欧美黄色一区 | 欧美日韩免费一区二区三区 | 毛片网站在线观看 | 一区二区电影 |