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

LCD1602电子钟-有图有真相

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

亲测有效!顺利通过课程设计!

有图有真相

#include #include

#define uchar unsigned char #define uint unsigned int sbit rs= P0^5; //寄存器类型,1表示数据寄存器,2表示指令寄存器 sbit rw = P0^6; //读写选择,1表示读,0表示写 sbit ep = P0^7; //读写使能,下降沿使能 sbit pcf8563_scl=P0^4; sbit pcf8563_sda=P0^3; sbit setup=P1^0; sbit shi=P1^1; sbit fen=P1^2; sbit led=P1^6;

uchar num[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; //数字

uchar sg; uchar sd; uchar fg; uchar fd; uchar mg; uchar md; uchar ng;

uchar nd; uchar yg; uchar yd; uchar rg; uchar rd;

uchar hou=14; uchar min=30; uchar sec=0; uchar year=12; uchar mon=12; uchar day=12; uchar week=3; uchar number; bit busy;

void start_pcf8563(void);

void send_pcf8563_byte(void); void lcd_init(void);

void lcd_pos(uchar pos); void lcd_wdat(uchar dat); bit lcd_busy();

void display0(void); void display(void);

void stop_pcf8563(void);

void receive_pcf8563_byte(void); void spit_time(void); void update(void); void scan(void);

void delay(uchar ms);

void delay(uint t) //单位延时1ms,总延时1ms*t.(121为实验测试值) { uint i,j;

for(i=0;i

bit lcd_busy() //判断LCD是否忙碌,1忙碌 { bit result; rs = 0; rw = 1; ep = 1; _nop_();

_nop_(); _nop_(); _nop_(); result = (bit)(P2 & 0x80); ep = 0; return result; }

void lcd_wcmd(uchar cmd) //写指令 { while(lcd_busy());//判断 LCD是否忙碌 rs = 0; rw = 0; ep = 0; _nop_(); _nop_(); P2 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep = 1; _nop_(); _nop_(); _nop_(); _nop_(); ep = 0; }

void lcd_pos(uchar pos) //显示地址 { lcd_wcmd(pos | 0x80); } //写数据 void lcd_wdat(uchar dat) { while(lcd_busy());//判断 LCD是否忙碌 rs = 1; rw = 0; ep = 0; P2 = dat; _nop_(); _nop_(); _nop_();

_nop_(); ep = 1; _nop_(); _nop_(); _nop_(); _nop_(); ep = 0; }

void lcd_wstr(const uchar *s) //写字符串 { unsigned char i = 0; while(s[i] != '\\0') { lcd_wdat(s[i]);// 显示字符 delay(250); i++; } }

void lcd_init() //LCD初始化 { lcd_wcmd(0x3c); //功能设定 delay(1); lcd_wcmd(0x0c); //显示器开关 delay(1); lcd_wcmd(0x06); //设定进入模式 delay(1); lcd_wcmd(0x01); //清除显示屏,把光标移至左上角 delay(1); }

void display0() //显示时钟背景 { lcd_pos(0x00); lcd_wstr(\ lcd_pos(0x04); lcd_wdat('-'); lcd_pos(0x07); lcd_wdat('-'); lcd_pos(0x46); lcd_wdat(':'); lcd_pos(0x49); lcd_wdat(':');

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库LCD1602电子钟-有图有真相在线全文阅读。

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