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

QQ登錄

只需一步,快速開始

帖子
查看: 3453|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

普通電子鐘用LCD1602顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:63656 發(fā)表于 2014-9-13 20:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 2842687945 于 2014-9-13 20:09 編輯

#include "reg52.h"
typedef unsigned int uint16;
typedef unsigned char uint8;
uint16 H = 23,M = 0,S = 0,j = 0,x = 0;//初始化
uint8 code time[5] = {"time:"};
sbit RS = P2^5;
sbit RW = P2^6;
sbit E = P2^7;
//延時(shí)函數(shù)
void delay(uint16 k)
        {
                uint16 i;
                for(i = 0;i < k;i++);
        }
//寫LCD1602的命令
void write_com(uint8 com)
        {
                 RS = 0;
                 RW = 0;
                 P0 = com;
                 E = 0;
                 delay(20);
                 E = 1;
        }
//寫LCD1602的數(shù)據(jù)
void write_date(uint8 date)
        {
                RS = 1;
                RW = 0;
                P0 = date;
                E = 0;
                delay(20);
                E = 1;
        }
//LCD1602的初始化
void init(void)
        {
                write_com(0x38);
                write_com(0x0c);
                write_com(0x06);
                write_com(0x01);
        }
//主程序
void main(void)
        {
                init();
                TMOD = 0x01;//設(shè)置定時(shí)器0的工作方式為1
                TH0 = 0xdc;
                TL0 = 0x00;
                ET0 = 1;
                EA = 1;
                TR0 = 1;
                while(1)
                {
                         write_com(0x80);
                         for(x = 0;x < 5;x++)
                         {
                                  write_date(time[x]);
                         }
                         write_com(0x80+0x05);//時(shí)的十位顯示的位置
                         write_date((H/10)+'0');//時(shí)的十位顯示的內(nèi)容
                         write_com(0x80+0x06);//時(shí)的個(gè)位顯示的位置
                         write_date((H%10)+'0');//時(shí)的個(gè)位顯示的內(nèi)容
                         write_com(0x80+0x07);//‘:’顯示的位置
                         write_date(':');//‘:’顯示的內(nèi)容
                         write_com(0x80+0x08);//分的十位顯示的位置
                         write_date((M/10)+'0');//分的十位顯示的內(nèi)容
                         write_com(0x80+0x09);//分的個(gè)位顯示的位置
                         write_date((M%10)+'0');//分的個(gè)位顯示的內(nèi)容
                         write_com(0x80+0x0A);//‘:’顯示的位置
                         write_date(':');//‘:’顯示的內(nèi)容
                         write_com(0x80+0x0B);//秒的十位顯示的位置
                         write_date((S/10)+'0');//秒的十位顯示的內(nèi)容
                         write_com(0x80+0x0C);//秒的個(gè)位顯示的位置
                         write_date((S%10)+'0');//秒的個(gè)位顯示的內(nèi)容
                }
        }
//定時(shí)器0中斷服務(wù)子函數(shù)
void TIME0(void) interrupt 1//10MS中斷一次
        {
                TH0 = 0xdc;//重新賦值
                TL0 = 0x00;
                j++;
                if(j==100)
                {
                        j = 0;
                        S++;
                        if(S==60)
                        {
                                S = 0;
                                M++;
                                if(M==60)
                                {
                                        M = 0;
                                        H++;
                                        if(H==24)
                                        {
                                                H = 0;
                                        }
                                }
                        }
                }
        }

評(píng)分

參與人數(shù) 3威望 +43 黑幣 +48 收起 理由
秋葉原48 + 5 贊一個(gè)!
daliu + 8 + 8 絕世好帖!
admin + 35 + 35 共享資料的積分獎(jiǎng)勵(lì),希望大家多多發(fā)布

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:63656 發(fā)表于 2014-9-13 20:11 | 只看該作者
分享的目的就是讓你們知道LCD1602怎么用
回復(fù)

使用道具 舉報(bào)

板凳
ID:65608 發(fā)表于 2014-9-14 01:36 | 只看該作者
感謝樓主提供的程序 對(duì)我很有用
回復(fù)

使用道具 舉報(bào)

地板
ID:63656 發(fā)表于 2014-9-14 09:14 | 只看該作者
daliu 發(fā)表于 2014-9-14 01:36
感謝樓主提供的程序 對(duì)我很有用

如果你再在這基礎(chǔ)上加上鬧鐘就更好了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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