找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自制51單片機(jī)1602液晶屏秒表

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 leizhihao13 于 2019-6-21 22:36 編輯

電路圖比較簡單,只用到了單片機(jī)最小系統(tǒng)的復(fù)位電路和晶振電路,然后接上排阻和1602液晶屏就OK了!自己畫圖,PCB圖,有點(diǎn)不夠完美是用到了一條飛線




部分代碼:

#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint  unsigned int

uchar KeyCount=0;

sbit  S2 = P3^0;
sbit  S3 = P3^1;


uchar code  cdis1[ ] = {"  STOPWATCH  0  "};
uchar code  cdis2[ ] = {"    WYU-2864    "};
uchar code  cdis3[ ] = {"TIME            "};

uchar code  cdis4[ ] = {" BEGIN COUNT  1 "};
uchar code  cdis5[ ] = {" PAUSE COUNT  2 "};
uchar code  cdis6[ ] = {" BEGIN COUNT  3 "};
uchar code  cdis7[ ] = {" PAUSE COUNT  4 "};
uchar code  cdis8[ ] = {"                "};

sbit LCD_RS = P3^5;            
sbit LCD_RW = P3^6;
sbit LCD_EN = P3^4;
sbit dula=P2^6;
sbit wela=P2^7;

#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

uchar display[] =  {0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar display2[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

/*********************************************************
延時(shí)函數(shù)
*********************************************************/

void Delay(uint num)//延時(shí)函數(shù)
{
  while( --num );
}

/*********************************************************
延時(shí)函數(shù)1
*********************************************************/
void delay1(int ms)
{
   unsigned char n;
   while(ms--)
   {
     for(n = 0; n<250; n++)
    {
      _nop_();
      _nop_();
      _nop_();
      _nop_();
    }
   }
}

/**********************************************************
*                                                         *
*寫指令數(shù)據(jù)到LCD                                          *
*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。                     *
*                                                         *
**********************************************************/
void lcd_wcmd(uchar cmd)
{                          
//   while(lcd_busy());
    LCD_RS = 0;
//    LCD_RW = 0;
    LCD_EN = 0;
    _nop_();
    _nop_();
    P0 = cmd;
    delayNOP();
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    Delay(10);
}

/**********************************************************
*                                                         *
*寫顯示數(shù)據(jù)到LCD                                          *
*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。                       *
*                                                         *
**********************************************************/
void lcd_wdat(uchar dat)
{                          
//   while(lcd_busy());
    LCD_RS = 1;
//    LCD_RW = 0;
    LCD_EN = 0;
    P0 = dat;
    delayNOP();
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    Delay(10);
}

/**********************************************************
*                                                         *
*  LCD初始化設(shè)定                                          *
*                                                         *
**********************************************************/
void lcd_init()
{   

    LCD_RW = 0;
        dula=0;
     wela=0;
    delay1(15);   
    lcd_wcmd(0x01);      //清除LCD的顯示內(nèi)容            
    lcd_wcmd(0x38);      //16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)
    delay1(5);
    lcd_wcmd(0x38);         
    delay1(5);
    lcd_wcmd(0x38);         
    delay1(5);

    lcd_wcmd(0x0c);      //開顯示,不顯示光標(biāo)  
    delay1(5);

    lcd_wcmd(0x01);      //清除LCD的顯示內(nèi)容
    delay1(5);
}

原理圖、PCB圖、完整代碼.zip

1.05 MB, 下載次數(shù): 57, 下載積分: 黑幣 -5

里面含有原理圖、PCB圖和完整的C語言代碼

評分

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

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:871007 發(fā)表于 2021-6-5 01:27 來自手機(jī) | 只看該作者
好資料,51黑有你更精彩!!!如何畫仿真圖呢?
回復(fù)

使用道具 舉報(bào)

板凳
ID:900612 發(fā)表于 2021-6-6 23:53 來自手機(jī) | 只看該作者
nice,感謝分享
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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