问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MCS51单片机数字电子钟设计

发布网友 发布时间:2022-05-01 05:47

我来回答

1个回答

热心网友 时间:2022-06-25 04:57

看看这个,能不能看懂啊/*程序描述:M1602的控制芯片为HD44790,从DS1302读取万年历,进行显示 */
/* ***************************************************** */
#include <reg51.h>
#include "DS1302_0603.h"
#include <string.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define TwoLine_8bit 56 // 0x38
#define CLEAR 1 // 0b00000001
#define CURSOR_HOME 2 // 0b00000010
#define CURSOR_LEFT 4 // 0b00000100
#define CURSOR_RIGHT 6 // 0b00000110
#define CURSOR_OFF 12 // 0b00001101
//#define CURSOR_ON 14 // 0b00001110
//#define CURSOR_BLINK 15 // 0b00001101
#define GOTO_LINE_2 192
#define GOTO_LINE_1 128
/* LCD control lines */
#define ENABLE 1
#define DISABLE 0
#define READ 1
#define WRITE 0
#define COMMAND 0
#define DATA 1
sbit key1=P3^5;
sbit key2=P3^4;
sbit key3=P3^3;
sbit key4=P3^2;
uchar code cursor_y[]={0x07,0x0a,0x0d,0x05,0x08,0x0b,0x0e},cursor_x[]={1,1,1,2,2,2,2},value[]={0x8d,0x89,0x87,0x8b,0x85,0x83,0x81};
uchar key1_state,key2_state,key3_state,key4_state,key1_mode = 0,key4_mode = 0;
uchar DS1302_Time_1[9];
uchar DS1302_Time_2[3];
uchar DS1302_Time_3[8];
sfr change_12_24= 0xf8;
sbit rs=P2^2;
sbit rw=P2^1;
sbit enable=P2^0;
sbit change7 = change_12_24^7;
sbit change5 = change_12_24^5;
char code int2charLCD[]="0123456789";
void write_LCD_command(uchar command);
void init_LCD(void)
{
write_LCD_command(TwoLine_8bit); // 0x38
write_LCD_command(CURSOR_OFF); // 0x0C
write_LCD_command(CURSOR_RIGHT); // 0x06
}
void delay100us(uint n)
{
uchar j;
for(;n>0;n--)
{
for(j=0;j<100;j++);
}
}
void write_LCD_command(uchar command)
{
rw=WRITE;
rs=COMMAND;
enable=ENABLE;
P0=command;
delay100us(20);
enable=DISABLE;
rw=1;
}
void write_LCD_data(uchar LCDdata)
{
rw=WRITE;
rs=DATA;
enable=ENABLE;
P0=LCDdata;
delay100us(20);
enable=DISABLE;
rw=1;
}
void clear_LCD()
{
write_LCD_command(CLEAR);
write_LCD_command(CURSOR_HOME);
}
void display_LCD_string(uchar *p)
{
while(*p)
{
write_LCD_data(*p);
p++;
}
}
void display_LCD_number(uchar number)
{
uchar x,y;
x=number/10;
y=number%10;
write_LCD_data(int2charLCD[x]);
write_LCD_data(int2charLCD[y]);
}
void gotoxy(uchar x,uchar y)
{
if(x==1)
write_LCD_command(GOTO_LINE_1+y);
else
write_LCD_command(GOTO_LINE_2+y);
}
待续
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 51单片机设计电子时钟。 基于51单片机的电子秒表设计 糖耐量异常如何治疗_糖耐量异常 我去医院检查是糖耐量异常,现在一直坚持锻炼,饮食控制,现在餐后正常,可是空腹一直都是6.5~6.8,怎么办 我是大二自动化学生,目前只自学了51单片机,想参加电子设计大赛,不知道先要从哪些方面开始入手准备 C51单片机电子时钟设计思路 大学生电子设计大赛 设计的作品都能用 51单片机来做么? 基于51单片机的电子设计 小卡宴什么时候上市 包你火背包在美国上市了吗? 途睿欧国六车准备就绪,即将惊艳上市 股票可以 只卖 几十股 吗? 王思聪公司上市了吗? 中驰车福是在哪个版块上市的? 国泰君安为什么不上市? 听说国泰君安怎么上市了?是不是啊?怎么购买啊? 闪对上市了吗? 公司要上市准备中,跟员工要房产证或购房合同是咋回事?对个人有没有影响。 “聪明”,“热闹”,“宽敞”,“简单”的反义词分别是什么? 简单的反义词是什么 标准答? 51单片机设计电子时钟的思路 金和铜分辨 如何利用51单片机设计一个电子密码锁系统 今天做糖耐空腹没通过,好烦躁的,心情不好,怎么办 51单片机电子时钟设计怎么更改led灯闪烁频率用汇编语言 孕妇28周糖耐一小时10.33两小时8.9怎么办?控制饮食能下来吗?28周后复查... 基于51单片机的电子密码锁设计 铜和金怎么区分 描写晚秋的诗词 钢筋绑扎对扎丝的根数有无要求? 做洗车行业的具体规划和注意事项有什么? 描写晚秋景色的诗句 洗车店闲时可以做些什么 为什么绑轧物件一般用铁丝(镀锌低碳钢丝),而起重机吊重物却用钢丝绳 我梦见我跟我老公离婚,我老公要和我分财产。这是什么兆头? 钢筋用点焊与用铁丝绑扎有什么区别? 买的盆景用铁丝造型的 多久拆掉? 梦见和老公闹离婚分了好多红色的百元大钞? 绑扎钢筋的铁丝为什么要向里面弯曲? 关于晚秋的诗句