77范文网 - 专业文章范例文档资料分享平台

基于利用时钟芯片DS1302实现万年历,1602LCD显示电子表 - 图文(2)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1、元件清单

AT89C52 一块 LCD 一个 排阻 3个 DS1302 一个 DS18B20 一个 开关 5个 晶振 2个

瓷片电容 2个, 30PF 电解电容 一个, 33Uf 插针 若干 杜邦线 若干

2、程序

#include #include //#include \//#include \#define uint unsigned int #define uchar unsigned char

sbit DS1302_CLK = P1^7; //实时时钟时钟线引脚 sbit DS1302_IO = P1^6; //实时时钟数据线引脚 sbit DS1302_RST = P1^5; //实时时钟复位线引脚 sbit wireless_1 = P3^0; sbit wireless_2 = P3^1; sbit wireless_3 = P3^2; sbit wireless_4 = P3^3; sbit ACC0 = ACC^0; sbit ACC7 = ACC^7;

char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; //秒,分,时到日,月,年位闪的计数 sbit Set = P2^0; //模式切换键 sbit Up = P2^1; //加法按钮 sbit Down = P2^2; //减法按钮

sbit out = P2^3; //立刻跳出调整模式按钮 sbit DQ = P1^0; //温度传送数据IO口 char done,count,temp,flag,up_flag,down_flag; uchar temp_value; //温度值 uchar TempBuffer[5],week_value[2];

void show_time(); //液晶显示程序

/***********1602液晶显示部分子程序****************/

//Port Definitions********************************************************** sbit LcdRs sbit LcdRw sbit LcdEn

= P2^5; = P2^6; = P2^7;

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

sfr DBPort = 0x80; //

等待函数

************************************************************************** unsigned char LCD_Wait(void) {

LcdRs=0;

LcdRw=1; _nop_(); LcdEn=1; _nop_();

LcdEn=0; return DBPort;

}//向LCD写入命令或数据************************************************************ #define LCD_COMMAND #define LCD_DATA

0 // Command

1 // Data

#define LCD_CLEAR_SCREEN #define LCD_HOMING

0x01 // 清屏

0x02 // 光标返回原点

void LCD_Write(bit style, unsigned char input) { }

//设置显示模式************************************************************ #define LCD_SHOW #define LCD_HIDE

#define LCD_CURSOR

0x02 //显示光标

0x00 //无光标

0x04 //显示开

LcdEn=0; LcdRs=style; LcdRw=0;

_nop_();

DBPort=input; _nop_();//注意顺序 LcdEn=1; LcdEn=0; LCD_Wait();

_nop_();//注意顺序 _nop_();

0x00 //显示关

#define LCD_NO_CURSOR

#define LCD_FLASH

0x01 //光标闪动 0x00 //光标不闪动

#define LCD_NO_FLASH

void LCD_SetDisplay(unsigned char DisplayMode) { }

//设置输入模式************************************************************ #define LCD_AC_UP

0x02

0x00 // default

LCD_Write(LCD_COMMAND, 0x08|DisplayMode);

#define LCD_AC_DOWN

#define LCD_MOVE

0x01 // 画面可平移

0x00 //default

#define LCD_NO_MOVE

void LCD_SetInput(unsigned char InputMode) { }

//初始化LCD************************************************************ void LCD_Initial() {

LcdEn=0;

LCD_Write(LCD_COMMAND, 0x04|InputMode);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于利用时钟芯片DS1302实现万年历,1602LCD显示电子表 - 图文(2)在线全文阅读。

基于利用时钟芯片DS1302实现万年历,1602LCD显示电子表 - 图文(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/590241.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: