设计显示年月日小时分钟秒的电子时钟,每当用户按报时键或整点时,时钟语音提示当前时间。 10

求C语言编写的程序。设计芯片为89s51.语音模块1700。直接使用单片机设计,利用脉冲。而不用时钟芯片。怎么编写呢!... 求C语言编写的程序。设计芯片为89s51.语音模块1700。
直接使用单片机设计,利用脉冲。而不用时钟芯片。怎么编写呢!
展开
 我来答 举报
shizengh
2010-09-02 · TA获得超过108个赞
知道答主
回答量:76
采纳率:100%
帮助的人:41.1万
展开全部
这个是基于ds1302用1602显示的能实现时间(年、月、日、时、分、秒)的显示、调整、设定等功能

太多了可能不太完整,你要自己再仔细改改。

/*============================================================
使用1602液晶显示DS1302+c51时钟
[注12M晶振]
=============================================================*/

#include <AT89x52.h>
#include <string.h>
#include < intrins.h >
#define delayNOP() ; {_nop_() ;_nop_() ;_nop_() ;_nop_() ;} ;
#define LCM_RW P3_1 //定义引脚
#define LCM_RS P3_0
#define LCM_E P3_2
#define LCM_Data P0
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
#define uchar unsigned char

sbit T_CLK=P2^4;
sbit T_IO =P2^5;
sbit T_RST=P2^6;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;

sbit system=P1^1; //模式
sbit TimerUp=P1^2; //时间加
sbit TimerDown=P1^0; //时间减
sbit Speaker=P2^1; //蜂鸣器

void Set(uchar,uchar); //根据选择调整相应项目
void RTInputByte(uchar); //输入 1Byte */
uchar RTOutputByte(void); //输出 1Byte */
void W1302(uchar, uchar); //向DS1302写入一个字节
uchar R1302(uchar); //从DS1302读出一个字节
void Set1302(uchar * ); //设置时间
void KeySound(); //按键音
void ClockSound(); //闹铃蜂鸣声

uchar id,msec,model,LedTime,d;
bit a,b; //闪烁标志位

uchar inittime[7]={0x00,0x10,0x19,0x29,0x03,0x04,0x06}; //初始化后设置为:06年3月29日星期3 19点10分0秒
void Out_LCM(void); //显示屏幕
void model0(void); //显示输出
void model1(void);
void model2(void);
void model3(void);
void model4(void);
void model5(void);
void model6(void);

void id_case1_key(); //项目调整
void Modset(); //模式键处理

void WriteDataLCM(uchar WDLCM);
void WriteCommandLCM(uchar WCLCM,BuysC);
uchar ReadStatusLCM(void);
void LCMInit(void);
void OutputInformation(uchar X, uchar Y, uchar DData);
void DisplayListChar(uchar X, uchar Y, uchar code *DData);

void Delay5Ms(void);
void Delay400Ms(void);
void systemsetup(void); //进入系统设置

uchar code systemp[]={"System.setup"}; //字符串输出(系统设定)
uchar code TIMER[]={"Time"}; //字符串输出(时间)
uchar code DATE[]={"Date"}; //字符串输出(日期)
uchar code alarmclock[]={"Clock"}; //字符串输出(闹铃)
uchar code lamp[]={"Lamp"}; //字符串输出(背光灯)
uchar code reset[]={"Reset"}; //字符串输出(时间归零)
uchar code exit[]={"Exit"}; //字符串输出(退出)
uchar code set[]={"Set"}; //字符串输出(设置)
uchar code sec[]={"sec"}; //字符串输出(秒)
uchar code ClockSet[]={"ClockSet"}; //字符串输出(闹铃设置)
uchar code ClockOn[]={"ON"}; //字符串输出(ON)
uchar code ClockOff[]={"OFF"}; //字符串输出(OFF)

void timesetup(void); //时间设置
void datesetup(void); //日期设置
void alarmclockset(void); //闹铃设置
void lampsetup(void); //背光灯设置

一段单片机播放音乐的汇编程序:http://hi.baidu.com/shizengh/blog/item/fd9f72085b8f4d32b1351de1.html
博思aippt
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT... 点击进入详情页
本回答由博思aippt提供
爬行的山羊
2010-09-02 · TA获得超过3026个赞
知道大有可为答主
回答量:6449
采纳率:70%
帮助的人:1157万
展开全部
时钟是有的,你在我的百度空间应该看见了。有原理图。防真和程序,就是差1700语音模块
来自:求助得到的回答
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
lifumin8
2010-09-17
知道答主
回答量:8
采纳率:0%
帮助的人:8.3万
展开全部
89s51最小系统板中我要实现开机LED灯亮 复位时断灭一下 怎么做到 就是电路图是什么 怎么接
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
nongjianjun
2010-09-02 · TA获得超过831个赞
知道小有建树答主
回答量:3761
采纳率:0%
帮助的人:899万
展开全部
可以帮你搞个
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式