历史上的今天
返回首页

历史上的今天

今天是:2024年12月27日(星期五)

正在发生

2021年12月27日 | 单片机驱动 DS1302时钟+1602液晶

2021-12-27 来源:eefocus

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

程序参考C语言代码如下:


#include

#include “LCD1602.h”

#include “DS1302.h”


void Delay1ms(unsigned int count)

{

unsigned int i,j;

for(i=0;ifor(j=0;j<120;j++);

}


main()

{

SYSTEMTIME CurrentTime;

LCD_Initial();

Initial_DS1302();


GotoXY(0,0);

Print(" www.ourhc.cn");

GotoXY(0,1);

Print("Time: ");


while(1)

{

DS1302_GetTime(&CurrentTime);

TimeToStr(&CurrentTime);

GotoXY(6,1);

Print(CurrentTime.TimeString);


Delay1ms(400);

}


}


/**************************************************************************


                THE 1602 CHAR LCD LIB


          COPYRIGHT (c)   2005 BY JJJ.

                    --  ALL RIGHTS RESERVED  --


File Name: LCD.h

Author: Jiang Jian Jun

Created: 2005/4/3

Modified: NO

Revision: 1.0


***************************************************************************/


#ifndef LCD_CHAR_1602_2005_4_9

#define LCD_CHAR_1602_2005_4_9


#include


//Port Definitions**********************************************************

sbit LcdRs = P2^0;

sbit LcdRw = P2^1;

sbit LcdEn = P2^2;

sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口


//内部等待函数**************************************************************************

unsigned char LCD_Wait(void)

{

LcdRs=0;

LcdRw=1; nop();

LcdEn=1; nop();

//while(DBPort&0x80);//在用Proteus仿真时,注意用屏蔽此语句,在调用GotoXY()时,会进入死循环,

//可能在写该控制字时,该模块没有返回写入完备命令,即DBPort&0x80==0x80

//实际硬件时打开此语句

LcdEn=0;

return DBPort;

}

//向LCD写入命令或数据************************************************************

#define LCD_COMMAND 0 // Command

#define LCD_DATA 1 // Data

#define LCD_CLEAR_SCREEN 0x01 // 清屏

#define LCD_HOMING 0x02 // 光标返回原点

void LCD_Write(bit style, unsigned char input)

{

LcdEn=0;

LcdRs=style;

LcdRw=0; nop();

DBPort=input; nop();//注意顺序

LcdEn=1; nop();//注意顺序

LcdEn=0; nop();

LCD_Wait();

}


//设置显示模式************************************************************

#define LCD_SHOW 0x04 //显示开

#define LCD_HIDE 0x00 //显示关


#define LCD_CURSOR 0x02 //显示光标

#define LCD_NO_CURSOR 0x00 //无光标


#define LCD_FLASH 0x01 //光标闪动

#define LCD_NO_FLASH 0x00 //光标不闪动


void LCD_SetDisplay(unsigned char DisplayMode)

{

LCD_Write(LCD_COMMAND, 0x08|DisplayMode);

}


//设置输入模式************************************************************

#define LCD_AC_UP 0x02

#define LCD_AC_DOWN 0x00 // default


#define LCD_MOVE 0x01 // 画面可平移

#define LCD_NO_MOVE 0x00 //default


void LCD_SetInput(unsigned char InputMode)

{

LCD_Write(LCD_COMMAND, 0x04|InputMode);

}


//移动光标或屏幕************************************************************

/*

#define LCD_CURSOR 0x02

#define LCD_SCREEN 0x08

#define LCD_LEFT 0x00

#define LCD_RIGHT 0x04

void LCD_Move(unsigned char object, unsigned char direction)

{

if(objectLCD_CURSOR)

LCD_Write(LCD_COMMAND,0x10|direction);

if(objectLCD_SCREEN)

LCD_Write(LCD_COMMAND,0x18|direction);

}

/

//初始化LCD***********************************************************

void LCD_Initial()

{

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵

LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标

LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动

}


//************************************************************************

void GotoXY(unsigned char x, unsigned char y)

{

if(y0)

LCD_Write(LCD_COMMAND,0x80|x);

if(y1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40));

}

void Print(unsigned char str)

{

while(str!=’’)

{

LCD_Write(LCD_DATA,str);

str++;

}

}

/

void LCD_LoadChar(unsigned char user[8], unsigned char place)

{

unsigned char i;

LCD_Write(LCD_COMMAND,0x40|(place8));

for(i=0; i<8; i++)

LCD_Write(LCD_DATA,user[i]);

}

/

//**********************************************************************

#endif

推荐阅读

史海拾趣

Diodes Incorporated公司的发展小趣事

随着技术的不断进步,Diodes Incorporated始终保持着对新技术研发的投入。其中,公司推出的首款碳化硅(SiC)萧特基势垒二极管(SBD)就是一个重要的里程碑。这款产品的推出,不仅大幅提高了半导体器件的效率和高温可靠性,还满足了市场对降低系统执行成本和减少维护需求的期望。这一技术创新的突破,进一步巩固了Diodes Incorporated在半导体行业中的领先地位。

Eurohm Resistors公司的发展小趣事

面对数字化浪潮的冲击,Eurohm Resistors公司积极拥抱数字化转型。公司建立了完善的数字化管理系统,实现了生产、销售、服务等各个环节的数字化管理。通过数据分析和智能化决策,公司能够更准确地把握市场变化和客户需求,提高运营效率和市场竞争力。

Arco Electronics公司的发展小趣事

Arco Electronics公司在早期就专注于研发新型半导体技术。在一次偶然的实验中,公司的研发团队发现了一种新型材料,这种材料在导电性能和稳定性上远超当时市场上的同类产品。公司迅速将这一发现转化为实际产品,并推向市场。这一技术突破使得Arco的产品在性能上有了显著优势,迅速获得了市场的认可,公司也因此迅速崛起。

Displaytech公司的发展小趣事

2008年,Displaytech推出了HDP Power,这是一项创新的电力解决方案,旨在支持公司客户的电力需求。这一举措不仅体现了Displaytech对客户需求的深刻洞察,也展示了公司在电源领域的技术实力。

Cables To Go公司的发展小趣事

在竞争激烈的电子行业中,优质的客户服务是赢得客户信任的关键。Cables To Go公司深知这一点,因此始终将客户服务放在首位。公司建立了一支专业的客服团队,随时为客户提供咨询、技术支持和售后服务。此外,公司还不断优化服务流程,提高服务效率,确保客户能够享受到及时、专业的服务。这种以客户为中心的服务理念赢得了客户的广泛赞誉。

EMC Component Group公司的发展小趣事

随着电子设备的普及和互联网的发展,Cables To Go公司看到了巨大的市场潜力。公司积极拓展销售渠道,通过线上电商平台和线下实体店相结合的方式,将产品销往全国各地。此外,公司还积极开拓国际市场,与多个国家和地区的代理商建立了合作关系,进一步扩大了市场份额。这种跨越式的市场拓展策略为公司的快速发展奠定了坚实的基础。

问答坊 | AI 解惑

超声波发射接收器

超声波发射接收器换能器    有正负之分么????…

查看全部问答>

按键专题活动总结---准备做一个按键学习的开发板

在3月份我们在论坛搞了一个按键专题活动的讨论(https://bbs.eeworld.com.cn/viewthread.php?tid=97931 ),这个活动获得了大家的广泛支持,讨论的很是热烈根据讨论内容,从大家的讨论中,我们学习和了解到了更多的按键方面的知识。 俗话说的好: ...…

查看全部问答>

sdram,nor flash,nand flash

各位大侠,小弟刚接触嵌入式。有些基本的问题还没有搞清楚,请教一下 在一块板子上,有sdram,nor flash,nand flash 哪个是用来存储系统的, 这3个又有什么区别呢?…

查看全部问答>

wince跑程序老是报错!

C:\\Program Files\\Microsoft eMbedded C++ 4.0\\Common\\EVC\\MyProjects\\2\\2.cpp(4) : fatal error C1083: Cannot open precompiled header file: \'emulatorDbg/2.pch\': No such file or directory 随便什么程序,都是报这个错误,这是为什 ...…

查看全部问答>

2011年全国竞赛基本仪器和主要元器件清单

本帖最后由 paulhyde 于 2014-9-15 09:47 编辑 …

查看全部问答>

这是什么错误,很奇怪

keil编译时,提示入下错误:(我估计不应该是程序的错误,不知道哪里没有设置正确)   Build target \'Target 1\'assembling STARTUP.A51...compiling Lcd.c...C51 FATAL-ERROR -  ACTION:     GOBAL OPTIMIZATION ...…

查看全部问答>

初学者的迷惑

我今年准备开始学习430,之前只有一点单片机的知识,感觉学习起来没有压力,对C语言算是了解了,不算透彻但是感觉应付单片机够了。 现在就有一个疑问,学习430需要哪些储备知识才能很好的上手(尽量详细一点)!这个问题一直很疑惑,主要实验室现 ...…

查看全部问答>

beaglebone心得一:windows下驱动安装

我收到的就一个SD卡,但带了个SD大卡卡槽。并不是传说中的,两个SD卡。 我破不急等地插到USB口上,当然迷你SD卡也插上,发现硬件。我等着自动装硬件。但显示了一个虚拟的U盘。我又傻等一会儿,还是要驱动。 应是U转串的驱动。 我查型号是FT2232H ...…

查看全部问答>

煤矿井下主排水泵安全保护装置设计(毕业论文)

主要要求:1.本系统负责对主排水泵的电压、电流、轴瓦温油温、润滑油油压、水泵真空度等一系列参数进行测量并显示。2.系统能自动根据所测量得到的参数进行综合逻辑分析,判断是否出现异常情况,并在异常情况出现时自动启动继电器接口来控制相应的节 ...…

查看全部问答>