DS1302可调电子时钟1602显示proteus仿真

上传人:206****923 文档编号:91846760 上传时间:2019-07-02 格式:DOC 页数:16 大小:462.02KB
返回 下载 相关 举报
DS1302可调电子时钟1602显示proteus仿真_第1页
第1页 / 共16页
DS1302可调电子时钟1602显示proteus仿真_第2页
第2页 / 共16页
DS1302可调电子时钟1602显示proteus仿真_第3页
第3页 / 共16页
DS1302可调电子时钟1602显示proteus仿真_第4页
第4页 / 共16页
DS1302可调电子时钟1602显示proteus仿真_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《DS1302可调电子时钟1602显示proteus仿真》由会员分享,可在线阅读,更多相关《DS1302可调电子时钟1602显示proteus仿真(16页珍藏版)》请在金锄头文库上搜索。

1、总电路图:单片机电路图:1602接线图:1302接线图:(I/O接单片机3.5脚)按键接线图:程序清单:#include#include#define uchar unsigned char#define uint unsigned intsbit ACC0 = ACC0;sbit ACC7 = ACC7;sbit t=P10;/进入调时按键sbit jia=P11;/加一按键sbit jian=P12;/减一按键sbit m=P13;/退出调时按键sbit BEEP=P20;/蜂鸣器sbit jtod=P14;/矩阵按键转独立按键,该脚置0sbit T_CLK = P16; /*实时时钟时钟

2、线引脚 */sbit T_IO = P35; /*实时时钟数据线引脚 */sbit T_RST = P17; /*实时时钟复位线引脚 */sbit E=P27;/1602使能引脚sbit RW=P26;/1602读写引脚sbit RS=P25;/1602数据/命令选择引脚uchar code hanzi8=0x04,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,0x0f,0x09,0x0f,0x09,0x0f,0x09,0x13,0x11,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00;void v_W1302(uchar ucAddr,

3、 uchar ucDa);uchar uc_R1302(uchar);uchar dectobcd(uchar bcd);uchar bcdtodec(uchar);void beep();void delay(uchar x) uchar i; while(x-) for(i=0;i110;i+);/* 名称 : enable(uchar del)* 功能 : 1602命令函数* 输入 : 输入的命令值* 输出 : 无*/void enable(uchar del)RS = 0;RW = 0;P0 = del;E = 1;delay(3);E=0;/* 名称 : write(uchar de

4、l)* 功能 : 1602写数据函数* 输入 : 需要写入1602的数据* 输出 : 无*/void write(uchar del)RS = 1;RW = 0;P0 = del;E = 1;delay(3);E=0;/* 名称 : L1602_init()* 功能 : 1602初始化,请参考1602的资料* 输入 : 无* 输出 : 无*/void L1602_init(void)enable(0x01);enable(0x38);enable(0x06);enable(0x0c);E=0;/装入自定义字符(汉字)void writch() uchar i,j; enable(0x40);

5、for(i=0;i8;i+) for(j=0;j59) sec=0; L1602_char(2, 12, sec/10%10+48); L1602_char(2, 13, sec%10 + 48); v_W1302(0x80,dectobcd(sec)|0x80); if(jian=0) /秒减一 delay(5); if(jian=0) while(!jian); sec=bcdtodec(uc_R1302(0x81); sec-; if(sec=-1) sec=59; L1602_char(2, 12, sec/10%10+48); L1602_char(2, 13, sec%10 + 4

6、8); v_W1302(0x80,dectobcd(sec)|0x80); if(num=2) /调分钟 enable(0xc0+9); if(jia=0) delay(5); if(jia=0) min = bcdtodec(uc_R1302(0x83); min+; while(!jia); if(min59) min=0; L1602_char(2, 9, min / 10 % 10 + 48); L1602_char(2, 10, min % 10 + 48); v_W1302(0x82,dectobcd(min); if(jian=0) delay(5); if(jian=0) mi

7、n = bcdtodec(uc_R1302(0x83); min-; while(!jian); if(min=-1) min=59; L1602_char(2, 9, min / 10 % 10 + 48); L1602_char(2, 10, min % 10 + 48); v_W1302(0x82,dectobcd(min); if(num=3) /调小时 enable(0xc0+6); if(jia=0) delay(5); if(jia=0) hour = bcdtodec(uc_R1302(0x85); hour+; while(!jia); if(hour23) hour=0; L1602_char(2, 6, hour / 10 % 10 + 48); L1602_char(2, 7, hour % 10 + 48); v_W1302(0x84,dectobcd(hour)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号