51单片机电子闹钟的proteus图和源程序 麻烦详细一点

作者&投稿:祝该 (若有异议请与网页底部的电邮联系)
求51单片机电子时钟程序和proteus 仿真图(显示时分秒 可调节时间) shuotwosix@126.com 急用 谢谢!!~

可以

我这里有一个是用DS1302的,经过测试的,希望对你有帮助
程序如下:
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit rst=P3^5;
sbit sck=P3^4;
sbit io=P3^3;
uchar i,j;
uchar shumaguan[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,
0x1f,0x01,0x09,0x11,0xc1,0x63,0x85,0x61,0x71,0xff,0xff}; //共阳极
uchar shuguan_duan[]={0x20,0x10,0x08,0x04,0x02,0x01};
uchar time_add[]={0x81,0x83,0x85}; //秒、分、时
uchar date[3];
uchar read1302(uchar add)
{
uchar i,dat1,dat2;
rst=1;
sck=0;
for(i=0;i<8;i++)
{
sck=0;
io=add&0x01;
add>>=1;
sck=1;
}
io=1;
for(i=0;i<8;i++)
{
if(io)
dat1|=0x80;
sck=1;
dat1>>=1;
sck=0;
}
rst=0;
dat2=dat1/16;
dat1=dat1%16;
dat1=dat1+dat2*10;
return dat1;
}
void xianshi(void)
{
uchar i,j;
for(i=0;i<3;i++)
{
date[i]=read1302(time_add[i]);
}
for(i=0;i<6;i++)
{
P1=0xff;
switch (i)
{
case 0: j=date[0]%10;break;
case 1: j=date[0]/10;break;
case 2: j=date[1]%10;break;
case 3: j=date[1]/10;break;
case 4: j=date[2]%10;break;
case 5: j=date[2]/10;break;
}
P0=shuguan_duan[i];
P1=shumaguan[j];

}
}
void write1302(uchar add,dat)
{
uchar i;
rst=0;
sck=0;
rst=1;
for(i=8;i>0;i--)
{
sck=0;
io=add&0x01;
add>>=1;
sck=1;
}
for(i=8;i>0;i--)
{
sck=0;
io=dat&0x01;
dat>>=1;
sck=1;
}
rst=0;
}
void main()
{
rst=0;
io=1;
sck=0;
// write1302(0x80,0x55);
// write1302(0x82,0x59);
// write1302(0x84,0x12);
while(1)
{
xianshi();
}
}

/************************/
/* 题目: 数字钟设计 */
/* 功能:    */
/* 1、数字显示时间  */
/* 5、闹钟功能   */
/* 主函数:main  */
/*      */
/************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6; //数码管段选
sbit wela=P2^7; //数码管位选
sbit fm=P2^3; //蜂鸣器
sbit s2=P3^4; //s2按键,设置调时
sbit s3=P3^5; //s3按键,加1
sbit s4=P3^6; //s4按键,减1
sbit s5=P3^7; //s5按键,切换显示
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
//sbit led5=P1^4;
//sbit led6=P1^5;
//sbit led7=P1^6;
//sbit led8=P1^7;
uchar count;
char sec,minu,hour,day,week,mon;
uchar n_sec,n_minu,n_hour;
uint year;

uchar hs,hg,mis,mig,ss,sg,set_2=0,set_5=1;
uchar nhs,nhg,nms,nmg,nss=0,nsg=0;
uchar ms,mg,ds,dg,w;
uchar nian1,nian2,nian3,nian4;
uchar code tableyi[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x40};//0-F,-,共阴
uchar table1[]={31,31,29,31,30,31,30,31,31,30,31,30,31}; //闰年
uchar table2[]={31,31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年
void delay(uint); //延时函数
void timer0(); //走时中断函数
void jishi(); //计时函数
void key_change(); //切换显示按键函数
void key_set(); //设置时间按键函数
void disp(uchar,uchar,uchar,uchar,uchar,uchar); //显示函数
void zd_clock(); //整点报时函数
void nz_clock(); //闹钟函数
uchar incone(uchar); //加1函数
uchar decone(uchar); //减1函数
void set_time(); //设置时间函数
void set_clock(); //设置闹钟函数
void set_mdw(); //设置月日星期函数
*****************************************************




基于单片机的电子时钟设计proteus仿真,附带的闹钟功能蜂鸣器不响...
基于单片机的电子时钟设计proteus仿真,附带的闹钟功能蜂鸣器不响。从图上看,硬件连接是没有问题的。如果是无源蜂鸣器,需要用脉冲驱动才可以发出声音。

51单片机,电子时钟带调时功能,闹钟功能,音乐功能,用c语言,求大神帮忙...
这个需要用到实时时钟,蜂鸣器,用stc单片机吧,很便宜

单片机设置多个闹钟C程序
建立一个闹钟结构体 struct ALARM { unsigned char hour;unsigned char min;unsigned char onoff;};struct ALARM alarms[6]; 就有6个闹钟了,而其中的下标就是闹钟序号。然后就根据时钟(一般分钟就够了)进位信号,逐个查询各闹钟是否开启,若开启则进行时钟与闹钟的时间比较,如果时间相符则闹钟给出...

用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设...
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组 unsigned int tmp;定义变量 void delay(unsigned int xms)定义延时函数 {unsigned int j,i;for(i=0;i<xms;i++)for(j=0;j<100;j++);} void disp()定义子函数 { P1=tmp;delay(1);P2=...

单片机的一个订时器可以控制2路闹钟吗
一个定时器肯定可以控制2路甚至更多闹钟是完全可以胜任的。但是,使用内部定时器在单片机断电后,其定时时钟需要重新设置,定时最好使用比如DS1302之类的万年历时钟挂电池,这样在单片机断电的情况下,其时钟还在走,不影响你的时钟设置。

#单片机 51定时闹钟一段程序,display(段码,位码),蓝色两行的10是什 ...
大至的意思是在2位和5位显示一个符号,这个符号是在显示转换表格的第十一个位置(0-9是数字的对应转换码),也有可能是display程序中有判断如果大于9会显示一个什么东西,具体要看dfisplay函数

求单片机时钟设计!!要求:时钟可调 日历可调 闹钟可调 带温度检测 LCD160...
这个程序比较好用,用的是12864,比较有用希望对你有帮助 include <reg51.h> include <intrins.h> include <stdlib.h> define uchar unsigned char define uint unsigned int include<intrins.h> define uchar unsigned char define uint unsigned int uchar shijian[6]={0x1,0x1,0x0,0x2,0x5,...

求教51单片机设计电子钟,使用数码管显示、具有定时报时功能、具有闹钟...
include<reg51.h> define uchar unsigned char define uint unsigned int uchar dis[16]=;uchar P2_scan[4]=; \/\/位选择 显示扫描 uchar P0_scan[11]=;\/\/数字显示 不带小数点 uchar P0_scan1[11]=;\/\/数字显示 带小数点 char clock[7]=;uchar tiao,m=0,n=8,S;bit time=0,p...

基于单片机多功能数字钟
基于单片机多功能数字钟 20 跪求跪求跪求基于单片机多功能数字钟... 跪求 跪求 跪求 基于单片机多功能数字钟 展开  我来答 3个回答 #热议# 已婚...JIAN5: CJNE R4,#8AH,JIAN1 DEC R0 INC R4 SJMP JIANEND JIAN1: CJNE R4,#0C9H,JIAN2 DEC R0 INC R4 SJMP JIANEND JIAN2: CJNE R4,#0CCH...

你有51单片机,电子时钟,带调时功能,闹钟功能,与音乐功能的设计的东西是...
你得找个要求,前面的我都有,就是找个音乐功能的没有,可以模拟简单的发音,给点费用,我发给你。

木里藏族自治县13647284517: 基于单片机设计的电子钟 -
掌岩艾培: 555时基电路+ATM51

木里藏族自治县13647284517: 单片机的内部定时器来实现简易时钟,并定时闹铃.有proteus仿真图和C语言源程序 -
掌岩艾培: LS可能是站在会的角度来说的 其实对于单片机入门级这个还是有难度的 会做时钟其实单片机就学会百分之九十了 所以这个对初学并不是很简单 可以将这个分解下 首先你要会用定时器 然后每当定时器到零 数码管或者液晶上的分针或者秒针就加一 加到60 像高一位进一 在这个过程当中 每次时针或者分针有改变都进行判断 到时间就触发了 虽然这个不难 但是做出闹钟并不是目的 而是要用效率最高的算法解决 比如你可以设置标志位 省的循环的判断浪费时间 不具体解释了 方法很多种 想出一种好的方法才是学习的目的

木里藏族自治县13647284517: 电子钟的设计(带按键调整) 任务要求:利用AT89C51单片机设计简易电子钟(六位),通过6位共阴 -
掌岩艾培: #include#define uchar unsigned char...要是PROTEUS的话差不多是这样,要是不想麻烦搞个74595的话P1就直接连(有没有都一样有的话比较整洁,没有的话程序上省点脑筋)主按键就用INT0,我没用P0口是因为懒得加上拉电阻,高低电平暂时先设成低的,思路就是P2口片选,当INT0触发时,你可以用while循环兜住不让出去,第一次是片选前两位“时”,第二次分第三次秒,如果第四次按下P32,也就是进入中断后第三次按下按键,结束中断,调到main.思路应该是这样当然肯定漏洞很多,先吃个饭再看看.

木里藏族自治县13647284517: 关于单片机设计电子钟的问题?? -
掌岩艾培: 用到了单片机中的定时\计数器,通过设置定时器产生精确的定时中断,达到计时的目的. 比如用定时器可以产生1ms的精确定时,然后,1000次中断后就得到了精确的1s的定时.60个1s,即产生了1分钟....小时,等等...用延时也可以做电子钟,只是产生的定时一般是近似值,走到时间久了,定时会产生较大的偏差,要么越走越快,要么越走越慢....而用定时器中断做的电子钟就不会有这个问题,很准的

木里藏族自治县13647284517: 单片机电子闹钟问题 -
掌岩艾培: 要写程序的,你直接百度下吧,PCB只是将这些元器件连接起来了而已,或者你不画PCB直接手工焊接一个最小系统,再把数码管加上,再加个时钟芯片就能实现电子钟的功能了.编程要用工具,看你用的什么单片机了.51单片机的话用keil,连接电脑下载程序要用到编程器.建议你先用proteus软件仿真一下.

木里藏族自治县13647284517: 用protues进行仿真,单片机为89c52,做一个数字定时闹钟,要求实现功能如下. -
掌岩艾培: 很高兴为你解答,Protues仿真软件里面就一个89C51没有89C52,你仿真是一样的无非就ROM和RAM,的大小别的没有关系,可以用51仿真的,希望我的回答对你有帮助!

木里藏族自治县13647284517: 描述一下使用proteus软件如何放置一个AT89C51单片机,如何修改电容的参数,时钟? -
掌岩艾培: 我外置电容;元件直接就可以修改了的.

木里藏族自治县13647284517: 悬赏 基于单片机简易电子时钟的设计 -
掌岩艾培: 摘 要单片计算机即单片微型计算机.由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器.它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上.而51系列单片机是各单片机中最为典型和最有代表性的一种.这次课...

木里藏族自治县13647284517: 求51单片机,数字电子钟(主要是如何让闹钟工作,汇编程序),不知道如何编写? -
掌岩艾培: 如果是喇叭,从P口输出一个音频波形就可以了. 比如做一个10KHz的波形,就让P口0.05ms反转一次,做个0.05ms的定时器就好了. 定时器中断服务程序里直接写一条P口反转指令就行了,类似P2_1 = ! P2_1,我很久没写程序了,忘了究竟是什么语法,反正就是“非”一下就好.这样IO口上就是一个0.1ms周期的方波,实际频率就是10Khz,在人的听力范围之内. 方波可能音质不好,听着不太好听,如果有需求,可以增加滤波电路,将方波变得尽量像正弦波,音质会好很多. 蜂鸣器更简单,直接给个电平就行.

木里藏族自治县13647284517: 用C语言编写AT89C51单片机程序,设计一个智能数字钟. -
掌岩艾培: 基本要求:1.C语言程序要求是模块化设计.2.该闹钟基于AT89C51单片机及相关外围电路进行设计.3.该闹钟有6个数码管(共阳极),可分别显示时间(时、分、秒)、及定时时间(分、秒).4.该闹钟有4个按钮,S1是切换显示按键,该键按下时可分别实现切换正常走时显示、设定走时显示、设置定时时间,启动定时,回到正常状态等功能.S2是设定键,即该键按下,将分别选中需要设定的选项.S3键是加键,即按下去表示相应选项加1.S4键是减键,即按下去表示相应的选项减1.5.该闹钟可以定时时间到,LED将发出提示闪光,且持续30s.发挥要求:1.定时时间可被打断,即打断后恢复时继续计时.2.设置闹钟报警功能;3.能切换显示年月日等信息.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网