xiaomi_51hei 发表于 2019-9-26 14:38 关键是不会呀 |
| 程序中加个判断不就搞定? |
wj_yuq 发表于 2019-9-23 13:13 您好,我才开始学,能明白您说的意思,但是自己学疏才浅不能实现您指点的这些,望您写个范例,供我参考、学习,感激不尽 |
| 即便是参照别人程序写的,也要整明白,你代码中“u8 time[]={0x30,0x30,0x23,0x13,0x09,0x04,0x19}; //存放初始时间”保存了从DS1302模块读来的实时数据,对照DS1302的Data Sheet,研读你程序代码,找到”小时“”秒“数据在time[]中的具体位置,在代码中增加”小时缓存“、”BUZ计数“变量,比较”小时缓存“与time[]中小时数据;当time[]中小时数据=”小时缓存“+1时,按顺序进行如下内容:1”BUZ计数“==10(BUZ秒数);2P1.7输出一定频率的高电位脉冲(101010),Q1按频率通断,BUZ1出声;3”BUZ计数“=”BUZ计数“-1直到”BUZ计数“=0;4P1.7输出低电位0关掉Q1;”小时缓存“=”小时缓存“+1。具体放在什么位置无所谓,学单片机的乐趣在于搞明白,然后实现自己的想法。 |
yzwzfyz 发表于 2019-9-21 08:59 因为不太懂,这个是参照别人的程序写的,望指点 |
| 只要你不抄别人的程序,你就能办到。 |
wj_yuq 发表于 2019-9-20 16:51 就是BUZ1上接Vcc,从23点到0点,会响吗? 具体程序该怎么写,加在哪个位置? 请赐教 |
| 假设BUZ1上接VCC,在小时位增加1时P1.7输出一定频率的高电位脉冲(101010),Q1按频率通断,BUZ1出声;秒加十后P1.7输出低电位0关掉Q1便可。 |