用DS1302制作打铃仪是最好不过的,因为DS1302耗电极小,使用备用电池后,在断电(5V)情况下仍能保证正常的走时。本人制作的打铃仪是选用DS1302,经过自己的编程与调试,终于取得实验的成功。打铃仪有两种,A型是将打铃时间直接写入程序中,外部无法更改,但能保证不会因用户输入错误而导致打铃时间混乱;B型是用24C02来存储打铃时间,这一种用户可以按照说明存入或删除打铃时间。24C02在断电情况下也能保存已经存入的打铃时间。两种都各有优缺点,一般来说,A型操作方便,只能调整当前时间就行了,但要更改打铃时间必须修改程序再写入芯片,这一种适应于本人服务范围内的单位。而B型操作较麻烦,操作者需要仔细阅读说明书才能对打铃时间进行编入或删除,当然误操作也不会导致打铃仪报废。 下面是电路图: 下面是检测打铃时间的部分程序: void scantime() { uchar i; for(i=0;i<timeshu;i++) { if(hour==time_hour&&min==time_min&(sec<20)) {beef=0;break;} else beef=1; } }
|