当前位置:首页 » 课程大全 » 单片机万年历课程设计感悟

单片机万年历课程设计感悟

发布时间: 2021-02-02 07:38:24

⑴ 单片机课程设计-电子万年历论文

这种题目,对网络文库里搜索,就可以搜索到很多的,有论文,原理图,有程序的。
在这里求没有用的,没人给你做的。

⑵ 基于单片机的万年历的设计

void DS1302_limit(void) //初始化
{
DS1302_WriteEnable();
DS1302_OscEnable();
for(ds1302_b=0;ds1302_b<7;ds1302_b++)
DS1302_SendByte(ds_sec+2*ds1302_b,d1302[ds1302_b]); //赋值初始化
}

uchar DS1302_Read(uchar address) //读时钟
{
uchar dat;
DS1302_WriteEnable();
switch(address)
{case 0:dat=DS1302_ReceiveByte(ds_sec+1);
break;
case 1:dat=DS1302_ReceiveByte(ds_min+1);
break;
case 2:dat=DS1302_ReceiveByte(ds_hour+1);
break;
case 3:dat=DS1302_ReceiveByte(ds_day+1);
break;
case 4:dat=DS1302_ReceiveByte(ds_week+1);
break;
case 5:dat=DS1302_ReceiveByte(ds_month+1);
break;
case 6:dat=DS1302_ReceiveByte(ds_year+1);
break;
}
DS1302_WriteDisable();
return(dat);
}

void DS1302_Write(uchar address,uchar dat)
{
DS1302_WriteEnable();
switch(address)
{
case 0:DS1302_SendByte(ds_sec,dat);
break;
case 1:DS1302_SendByte(ds_min,dat);
break;
case 2:DS1302_SendByte(ds_hour,dat);
break;
case 3:DS1302_SendByte(ds_day,dat);
break;
case 4:DS1302_SendByte(ds_week,dat);
break;
case 5:DS1302_SendByte(ds_month,dat);
break;
case 6:DS1302_SendByte(ds_year,dat);
break;
}
DS1302_WriteDisable();
}

ds1302pro() //读出数据
{
nian01=DS1302_ReceiveByte(ds_year+1);
yue01=DS1302_ReceiveByte(ds_month+1);
ri01=DS1302_ReceiveByte(ds_day+1);
xiaoshi01=DS1302_ReceiveByte(ds_hour+1);
sec01=DS1302_ReceiveByte(ds_sec+1); //读秒信息
min01=DS1302_ReceiveByte(ds_min+1); //读分信息
zhouxingqi=DS1302_ReceiveByte(ds_week+1);
d1302_transfer(); //数值处理提取出待显示的值

}

void DS1302_SendByte(uchar Command,uchar XmtDat) // 发送数据程序,发送1个字节给被控器DS1302
{
uchar i;
RST=0;
_nop_();
SCLK=0;
_nop_();
RST=1;
for(i=0;i<8;i++)
{
IO_DATA= (bit)(Command&0x01);
Command = Command >> 1;
SCLK=1;
_nop_();
SCLK=0;
}
for(i=0;i<8;i++)
{
IO_DATA= (bit)(XmtDat&0x01);
XmtDat = XmtDat >> 1;
SCLK=1;
_nop_();
SCLK=0;
}
RST=0;
}

uchar DS1302_ReceiveByte(uchar Command) // 接收数据程序;从被控器DS1302 接收1个字节数据
{
uchar i, RcvDat=0;
RST=0;
_nop_();
SCLK=0;
_nop_();
RST=1;
for(i=0;i<8;i++)
{
IO_DATA= (bit)(Command&0x01);
Command = Command >> 1;
SCLK=1;
_nop_();
SCLK=0;
}
for(i=0;i<7;i++)
{
if(IO_DATA)RcvDat|=0x80;
RcvDat= RcvDat >> 1;
SCLK=1;
_nop_();
SCLK=0;
}
if(IO_DATA)RcvDat|=0x80;
RST=0;
return RcvDat;
}

void DS1302_WriteEnable(void) //允许数据写入寄存器
{
DS1302_SendByte(ds_com,00);
}

void DS1302_WriteDisable(void) //禁止数据写入寄存器
{
DS1302_SendByte(ds_com,0x80);
}

void DS1302_OscEnable(void) //起动时钟操作
{
DS1302_SendByte(ds_sec,0x00);
}

void DS1302_OscDisable(void) //停止时钟操作
{
DS1302_SendByte(ds_sec,0x80);
}

void d1302_transfer(void) //数据转换函数
{
nian02=nian01&0x0f;
nian01=nian01>>4;
yue02=yue01&0x0f;
yue01=yue01>>4;
ri02=ri01&0x0f;
ri01=ri01>>4;
xiaoshi02=xiaoshi01&0x0f;
xiaoshi01=xiaoshi01>>4;
min02=min01&0x0f;
min01=min01>>4;
sec02=sec01&0x0f; //取miao信号的低四位
sec01=sec01>>4; //取高四位
}

void delay1302(int i) //延时函数
{
uchar x,j;
for(x=0;x<i;x++)
{
for(j=0;j<125;j++){;}
}
}

⑶ 基于51单片机的万年历课程设计

我前几天还帮一位朋友做了。我有现成的程序和仿真,还有电路图。

⑷ 急!!求一份基于51单片机的简易万年历(含电子钟)的课程设计实验报告

留个邮箱,我找到就发给你。

⑸ 单片机课程设计万年历方案论证怎么写

方案论证主要是写你做设计时有几种可选的方案比如用stc51单片机还是lpc51或者用pic还有时钟回芯片答选择还有显示用1284还是1602等等 说说各自的优缺点最后经过对比选择较合适的那一种,比如从成本的对比,控制的对比,性能的对比还有就是可行性,希望帮到你

⑹ 精通51单片机的来,万年历的设计论文

我看可帮你做。的。

⑺ 谁能告诉我单片机制作电子万年历的目的和意义

一、熟悉数码管的驱动
二、熟悉按键的应用
......把做万年历所需要的器件列出来,大致就是这个格式

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919