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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2291|回復: 6
收起左側

關于1602LCD不能計數

[復制鏈接]
ID:215745 發表于 2017-6-30 00:11 | 顯示全部樓層 |閱讀模式
以下是我的程序,是畢業設計任務,想做一個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++;
}

回復

使用道具 舉報

ID:215745 發表于 2017-6-30 00:13 | 顯示全部樓層
這是任務LCD的電路圖
QQ圖片20170630001237.png
回復

使用道具 舉報

ID:215745 發表于 2017-6-30 00:16 | 顯示全部樓層
可以顯示“---jishuqi---”“00-00-00”但不能自動計數!無解,求答...
回復

使用道具 舉報

ID:123289 發表于 2017-6-30 00:54 | 顯示全部樓層
樓主:“關于1602LCD不能計數”
LCD只能顯示,沒有計數功能!
回復

使用道具 舉報

ID:82765 發表于 2017-6-30 05:43 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

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

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

使用道具 舉報

ID:208445 發表于 2017-6-30 11:21 | 顯示全部樓層
你的 chuli()函數沒調用啊,當然不能變化了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.国产精品 | 免费视频二区 | 中文字幕日韩欧美一区二区三区 | 久草精品在线 | 看一级毛片| 一级片在线观看 | av性色全交蜜桃成熟时 | 欧美一区二区三区久久精品视 | 精品久久久久香蕉网 | 欧美aⅴ | 亚洲日本欧美日韩高观看 | 黄色大片免费观看 | 国产一区二区久久久 | av网站在线看 | 国产精品国产a级 | 欧美日韩亚洲国产 | 综合精品 | 热久久性 | 久久精品这里精品 | 人人鲁人人莫人人爱精品 | 中文字幕免费中文 | 国产三级在线观看播放 | 在线免费视频一区 | 午夜影视免费片在线观看 | 亚洲一区二区三区免费观看 | 成人一区二区三区视频 | 国产激情视频 | 亚洲五码在线 | 久久日本 | 日韩成人在线免费视频 | 国产色婷婷精品综合在线播放 | h片在线观看网站 | 亚洲综合无码一区二区 | 久久久久久蜜桃一区二区 | 国产精品久久毛片av大全日韩 | 视频一区二区在线观看 | 2023亚洲天堂 | 精品在线免费观看视频 | www.99热这里只有精品 | 91久久久久久久 | 成人欧美一区二区三区黑人孕妇 |