找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的24秒倒計(jì)時(shí)液晶顯示程序Proteus仿真圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:997318 發(fā)表于 2021-12-27 10:54 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



單片機(jī)源程序如下:
#include  "reg51.h"  
#include<intrins.h>
sbit S1=P0^0;
unsigned char count=0;      
unsigned char miao=24;
sbit RS=0xb0;                    
sbit RW=0xb1;                       
sbit E=0xb2;
unsigned char lcd[]={'0','1','2','3','4','5','6','7','8','9'};
void lcd_w_cmd(unsigned char com);
void lcd_w_dat(unsigned char dat);
unsigned char lcd_r_start();      
void lcd_int();              
void delay(unsigned int i);  
void delay1();
void delay1()      
{  
  _nop_();
  _nop_();
  _nop_();
}
void lcd_int()           
{
  lcd_w_cmd(0x3c);               
  lcd_w_cmd(0x0e);               
  lcd_w_cmd(0x01);               
  lcd_w_cmd(0x06);               
  lcd_w_cmd(0x80);  
}        
unsigned char lcd_r_start()         
{
  unsigned char s;
  RW=1;   
  delay1();
  RS=0;
  delay1();
  E=1;           
  delay1();
  s=P1;   
  delay1();
  E=0;
  delay1();
  RW=0;
  delay1();
  return(s);
}
void lcd_w_cmd(unsigned char com)   
{
  unsigned char i;
  do{                     
    i=lcd_r_start();
    i=i&0x80;           
    delay(2);
     }while(i!=0);         
  RW=0;
  delay1();
  RS=0;   
  delay1();
  E=1;   
  delay1();
  P1=com;   
  delay1();
  E=0;
  delay1();
  RW=1;
  delay(255);
}
void lcd_w_dat(unsigned char dat)   
{
  unsigned char i;
  do{         
    i=lcd_r_start();  
    i=i&0x80;        
    delay(2);            
      }while(i!=0);            
  RW=0;
  delay1();
  RS=1;   
  delay1();
  E=1;     
  delay1();
  P1=dat;   
  delay1();
  E=0;
  delay1();
  RW=1;
  delay(255);
}
void     delay(unsigned int i)     
{
  unsigned int k;
for(k=0;k<i;k++);
}
void timer_1() interrupt 3
{
        
   TH1=(65536-50000)/256;   
   TL1=(65536-50000)%256;
    if(S1==0)
        {
                delay(1200);
                if(S1==0)
                {miao=24;}
        }
         count++;         
   if(count==20)              
{
      count=0;                 
      miao--;                  
      if(miao==0)
                        {miao=24;
               
                        
}               
}
}

void main()                        
{
   TMOD=0x10;                           
   TH1=(65536-50000)/256;   
   TL1=(65536-50000)%256;
   ET1=1;                     
   EA=1;  
   TR1=1;
         

   P1=0xff;                           
   lcd_int();                    
   delay(255);
         while(1)
                {
   lcd_w_cmd(0x8e);
   lcd_w_dat(lcd[miao/10]);        

         lcd_w_cmd(0x8f);        
         lcd_w_dat(lcd[miao%10]);        
         delay(255);
        
         }

}

下載: 01.7z (44.31 KB, 下載次數(shù): 14)

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表