自动打铃器YJ+

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动打铃器YJ+

————————————————————————————————作者:————————————————————————————————日期:

2

;将原来的自动光照控制器,改进成自动打铃控制器

;仍然可以记录32次,每次操作使电铃响10秒

;液晶显示时分秒,按钮设置打铃时刻

;使用方法:

;临时打铃:按临时打铃按钮,铃响;放开则铃停

;对表:按对表按钮,出现闪动显示的项目,再按向上(或向下),改变闪动项目;再按增加(或减少)按钮调整当前项目值

;对表时可以调整的项目有:星期-月-日小时-分-秒

;定时设定:可以设定的项目有:小时-分,序号只是个便于区别的记录号,与打铃顺序无关

;按定时设定按钮,出现闪动的项目,按向上(或向下)可以改变闪动项目,按增加(或减少)可以修改当前闪动项目的值

;再次按对表(或设定)按钮则退出对表(或设定)状态,对表(或设定)状态下,5秒不操作自动退出

;自动打铃时间到,会响铃10秒

;一个记录的小时设置为24,这个记录就不用

;走时误差的调整:

;进入对表状态后,按一下临时打铃键,进入快慢调整状态,再同时按下上下左右四个键,就可以开始调整快慢啦

;此时,按一下向上键,调整数值加一,按一下向下键,调整数值减一,达到你需要的数值,等待2秒,自动完成调整

;调整数值一个负数,每24小时慢1.728秒,一个正数,每24小时快1.728秒。

;打铃时间的调整:

;进入定时设定,按临时打铃键,进入打铃时间调整状态,按增加键秒数增加,按减少键秒数减少

;秒数合适后,等待2秒,自动完成。最多50秒。

;单片机采用AT89C2051

;晶振采用6MHZ ,机器周期=2us(微秒)

;定时器0方式一,

;显示格式变时-分-秒 11-43-35 星期月日4 05_22

;内存分配:

; 主程序使用工作寄存器第0区,

; 定时器中断使用第1区

; 显示子程序使用第2区10h-17h,

;20H-21H:延时子程序

;22H 定时器0中断使用,计算月份日数

;23H 响铃秒数值,默认10秒,可以调整

;24H 快慢调整时计数用。改变一个数,每24小时快(或慢)1.728秒

3

;25H 液晶显示程序用于控制循环次数

;26H : 响铃时间计数

;27H :秒状态记实

;28H :分状态记实

;29h : 29H.0 对表标志,0=对表,1=不对表

; 29h.1 防止一分钟响铃2次标志,

; 29h.1=0,一分钟内不查找其他记录

; 29h.1=1, 指示可以查找记录

; 29h.2:

; 29H.6 0=可以调用一次显示时间子程序,1=不可以

; 29H.7 定时设定标志

;2AH-2BH:定时器时间常数=3CB0H

;2ch-2DH:

;2EH-2FH:干扰标志AAH55H

;30H-3FH:堆栈区

;40H-7FH:开关时间记录,格式:时1字节+分1字节=2字节,共可以有32个记录

;I/O口分配:

;p1.0 内部比较器同相输入端,输入,没用

;p1.1 内部比较器反相输入端,输入,没用

;p1.2:输出控制,出 0=铃响灯亮,1=不响灯灭

;p1.3:工作指示出 0=讯响器响, 1=不响

;p1.4:选择向上开关入按下=0

;p1.5:选择向下开关入

;p1.6:调整增加开关入

;p1.7:调整减少开关入

;p3.0:串行口TXD,显示

;p3.1:串行口RXD,显示

;p3.2: INT0,对表按钮入

;p3.3: INT1,定时按钮入

;p3.4: T0 ,没用

;p3.5: T1 ,没用

;p3.6:内部是比较器的输出信号,P1.0电平高于P1.1时得1,没有引出片外

;p3.7:临时打铃用按钮

org 0000h

ljmp main

org 0003h

ljmp int0fw ;外中断0服务

4

; CPL 29H.0 ;对表设定标志

; RETI

org 000bh

ljmp t0fw ;定时器0中断服务

org 0013h

ljmp int1fw ;外中断1服务

; cpl 29h.1 ;定时设定标志

; reti

org 001bh

ljmp ganrao

ljmp ganrao

; ljmp t1fw

org 0023h

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

; ljmp tirifw

org 0030h

main: mov a,2eh

xrl a,2fh

cjne a,#0ffh,maina

ljmp main1

maina: ;mov 08h,#0 ;时间从0开始

;mov 09h,#0

;mov 09h,#0

;mov 0ah,#0

;mov 0bh,#0

;mov 0ch,#0

;mov 0dh,#0

;mov 0eh,#01 ;星期一

;mov 0fh,#0

MOV 23H,#10 ;响铃10秒

MOV 26H,#0 ;当前响铃时间倒计时

MOV P1,#0FFH ;输出全1,

MOV P3,#0FFH

mov 29h,#0ffh

MOV 2AH,#03CH ;定时器初值高字节 (计算值是3CBOH,补偿13个周期, ; 就是3CBDH)

5

相关文档
最新文档