自动打铃器YJ+

自动打铃器YJ+
自动打铃器YJ+

自动打铃器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

MOV 2BH,#0BDH ;定时器初值低字节 (补偿时间包括:中断响应3个,

; 中断服务程序开头到重新装入初值14个周期,频率误差根据经验少补4) main1: nop

mov sp,#2fh ;堆栈从30H开始

mov ie,#87h ;允许T0、INT0、INT1中断

mov ip,#02h ;T0高优先

mov tmod,#01h ;t0方式1

MOV TCON,#05H ;外中断下降沿触发

mov th0,#03ch ;T0初值6 计数250个

mov tl0,#0b0h ;定时500us(250*2us=500us)

setb tr0 ;启动定时器0

mov 2eh,#0 ;清除干扰标志

mov 2fh,#0

lcall xssj

lm: nop ;主循环从此开始 ======================

mov ie,#87h ;允许外部中断和T0中断

JB 29H.6,LM1 ;29H.6=1,不调用显示

SETB 29H.6 ;29H.6=0,可以,并清除此标志

lcall xssj ;显示时间

JNB P1.7, XSYRXQZZ

JNB P1.6, XSYRXQZZ

JNB P1.5, XSYRXQZZ

JNB P1.4, XSYRXQZZ

LM1: jnb 29h.0,duibiao ;转对表

JNB 29H.7,dssdZZ ;转定时设定

LM2: ;SETB P1.3 ;蜂鸣器不响

lm3: JB P3.7,LM10 ;没有临时打铃,转自动 1=自动

clr p1.2 ;临时打铃 ,铃响 0=临时打铃

lcall zssd ;蜂鸣器响

sjmp lm

lm10: mov a,26h ;响铃时间秒

cjne a,#0,lm10z ;响铃秒数不为0 ,继续响铃

setb p1.2 ;响铃秒数为0,不响铃

setb p1.3 ;蜂鸣器不响

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

mov a,0Ah ;为保证一次记录(一分钟内)只响铃一次(10秒) xrl a,28h ;比较当前时间和记录时间的分

jz lm10z ;相同时,A中内容为0,不再查找别的记录

6

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

; 在下一个小时同一分钟也可以查找

lm1000: MOV R7,#20H ;记录总数------查找记录开始

MOV R0,#40H ;记录的开始地址

lm100: MOV A,@R0 ;取记录的第一字节--小时

CJNE A,#24,LM101 ;小时设置24,这个记录就不用比较,亦即不打铃 SJMP LM10A ;是24,不用比较,查找下一个记录

LM101: CJNE A,0bH,LM10A ;记录小时与当前小时比较,不相等转移

INC R0 ;相等,指向下一个地址

mov a,@r0 ;取记录的第二字节--分

cjne a,0Ah,lm10b ;记录的分比较,不相等

clr p1.2 ;分也相等,操作时间到,响铃

lcall zssd ;蜂鸣器响

mov 26h,23H ;响铃10秒

mov 27h,09h ;当前秒状态记实

mov 28h,0Ah ;当前分状态记实

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

sjmp lm10z

lm10a: inc r0

lm10b: inc r0

; inc r6 ;记录号加1

djnz r7,lm100 ;查找下一个记录

lm10z: mov a,26h ;响铃时间秒

cjne a,#0,lm10z1 ;响铃秒数不为0,继续响铃

setb p1.2 ;响铃秒数为0,不响铃

setb p1.3 ;蜂鸣器不响

ljmp lm10z3 ;

lm10z1: clr p1.2 ;响铃

lcall zssd ;蜂鸣器响

mov a,09h ;秒

cjne a,27h,lm10z2 ;检查秒数是否变化

ljmp lm10z3 ;没有变化

lm10z2: mov 27h,09h ;有变化,保存新秒

dec 26h ;响铃秒数倒计时

lm10z3: ljmp lm ;主循环到此结束 ===================

DSSDZZ: LJMP DSSD ;中转到定时设定

XSYRXQZZ: LJMP XSYRXQZ

7

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

DUIBIAO: NOP ;对表程序

clr ex1 ;禁止外部中断1

mov r7,#15h ;对表操作空闲时间限制,15h*0.15=3.15秒 mov r1,#09h ;秒地址

duibiao1: CJNE R1,#0CH,DUIBIAO1A

DUIBIAO1A:JNC DUIBIAO1B ;地址大于等于0CH是日月星期

lcall xssj ;显示时间

SJMP DUIBIAO1C

DUIBIAO1B:LCALL XSYRXQ ;显示月日星期

DUIBIAO1C:lcall bbb ;延时50MS

CJNE R1,#0CH,DUIBIAO1D

DUIBIAO1D:JNC DUIBIAO1E ;地址大于等于0CH是日月星期

lcall XGSJA ;修改时间暗点

LCALL YJXS ;显示暗点

SJMP DUIBIAO1F

DUIBIAO1E:LCALL XGYRXQA ;修改月日星期暗点

LCALL YJXS ;显示

DUIBIAO1F:lcall bbb ;延时50MS

CJNE R1,#0CH,DUIBIAO1G

DUIBIAO1G:JNC DUIBIAO1H ;地址大于等于0CH是日月星期

lcall xssj ;显示时间

SJMP DUIBIAO1I

DUIBIAO1H:LCALL XSYRXQ ;显示月日星期

DUIBIAO1I:lcall bbb ;延时50MS

mov p1,#0ffh

mov a,p1

jnb acc.4,db4 ;选择向上按钮

jnb acc.5,db5 ;选择向下按钮

jnb acc.6,db6 ;调整增加按钮

jnb acc.7,db7zz ;调整减少按钮

jnb p3.7,kmzz

jb 29h.0,duibiaoz ;对表结束

djnz r7,duibiao1

setb 29h.0 ;自动结束对表

duibiaoz: LJMP LM ;对表结束

8

;--

db4: inc r1 ;指示调整的项目地址,向上一个 cjne r1,#0fh,db41 ;判断地址范围

db41: jc db42 ;小于等于上限,可以了

mov r1,#09h ;大于上限,回到最小地址,秒db42: mov r7,#15h

ljmp duibiao1

;---

db5: dec r1 ;向下一个

cjne r1,#09h,db51 ;判断地址范围

db51: jNc db52 ;大于等于下限,可以了

mov r1,#0eh ;小于下限,回到最大地址,星期db52: mov r7,#15h

ljmp duibiao1

;-----------------

db7zz: ljmp db7

kmzz: ljmp km

;------------------

db6: inc @r1 ;加1

cjne r1,#0eh,db61 ;不是星期,下一个

cjne @r1,#08h,db601 ;判断星期上限

db601: jc db602 ;小于8,正常,继续

mov @r1,#1 ;大于等于8,回到最小值1

db602: mov r7,#15h ;重置自动结束时间

db603: ljmp duibiao1 ;继续对表

db61: cjne r1,#0dh,db62 ;不是月,下一个

cjne @r1,#13,db611 ;判断月上限

db611: jc db602 ;小于13,正常,继续

mov @r1,#1 ;大于等于13,回到最小值1

mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db62: cjne r1,#0ch,db63 ;不是日,下一个

cjne @r1,#32,db621 ;判断日上限

db621: jc db602 ;小于32,正常,继续

mov @r1,#1 ;大于等于32,回到最小值1

mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db63: cjne r1,#0Bh,db64 ;不是小时,下一个

cjne @r1,#24,db631 ;判断小时上限

9

db631: jc db602 ;小于24,正常,继续

mov @r1,#0 ;大于等于24,回到最小值0 mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db64: cjne r1,#0Ah,db65 ;不是分,下一个

cjne @r1,#60,db641 ;判断分上限

db641: jc db602 ;小于60,正常,继续

mov @r1,#0 ;大于等于60,回到最小值0 mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db65: cjne r1,#09h,db66 ;不是秒,下一个

cjne @r1,#60,db651 ;判断秒上限

db651: jc db602 ;小于60,正常,继续

mov @r1,#0 ;大于等于60,回到最小值0 mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db66: ljmp ganrao ;是干扰,进入干扰处理

;--------------------------

org 0202h

ganrao: clr ea

mov sp,#2fh

mov dptr,#ganrao1

push dpl

push dph

reti

ganrao1:mov 2eh,#0aah

mov 2fh,#055h

clr a

push a

push a

reti

;--------------------------

ljmp ganrao

ljmp ganrao

ljmp ganrao

DB7: DEC @r1 ;减1

cjne r1,#0Eh,db71 ;不是星期,下一项

10

cjne @r1,#08h,db701 ;判断星期上限

db701: jc db702 ;小于8,正常,继续

mov @r1,#7 ;大于等于8,回到最大值7

db702: CJNE @R1,#0,DB703 ;不等于0,继续

MOV @R1,#7 ;等于0,回到最大值7

db703: mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db71: cjne r1,#0Dh,db72 ;不是月,下一个

cjne @r1,#13,db711 ;判断月上限

db711: jc db712 ;小于13,正常,继续

mov @r1,#12 ;大于等于13,回到最大值12 db712: CJNE @R1,#0,DB703 ;不等于0,继续

MOV @R1,#12 ;等于0,回到最大值12

Sjmp DB703 ;继续对表

db72: cjne r1,#0ch,db73 ;不是日,下一个

cjne @r1,#32,db721 ;判断日上限

db721: jc db722 ;小于32,正常,继续

mov @r1,#32 ;大于等于32,回到最大值31 db722: CJNE @R1,#0,DB703 ;不等于0,继续

MOV @R1,#31 ;等于0,回到最大值31

Sjmp DB703 ;继续对表

DB73: cjne r1,#0Bh,db74 ;不是时,下一个

cjne @r1,#24,db731 ;判断时上限

db731: jc db703 ;小于24,正常,继续

mov @r1,#23 ;大于等于24,回到最大值23 SJMP DB703

db74: cjne r1,#0Ah,db75 ;不是分,下一个

cjne @r1,#60,db741 ;判断分上限

db741: jc db703 ;小于60,正常,继续

mov @r1,#59 ;大于等于60,回到最大值59 sjmp db703 ;继续对表

db75: cjne r1,#09h,db76 ;不是秒,下一个

cjne @r1,#60,db751 ;判断秒上限

db751: jc db703 ;小于60,正常,继续

mov @r1,#59 ;大于等于60,回到最大值59 mov r7,#15h ;重置自动结束时间

ljmp duibiao1 ;继续对表

db76: ljmp ganrao ;是干扰,进入干扰处理

ljmp ganrao

11

ljmp ganrao

km: mov 24h,#0 ;快慢调整,初值0

mov r7,#10 ;

LCALL KMXS

kml: MOV 17H,R7

lcall YJxs ;显示倒计时

lcall bbb

mov a,p1 ;P1口输入

anl a,#0f0h ;屏蔽低四位

jnz kmx ;高四位不全是0,下一次

lcall yjxs ;同时按下四个键,显示

lcall bbb ;延时80毫秒

mov a,p1 ;P1口输入

anl a,#0f0h ;屏蔽低四位

jnz kmx ;高四位不全是0 下一次

ljmp kmtz ;同时按下四个键,且保持80毫秒以上,; 进入快慢调整

kmx: djnz r7,kml

setb 29h.0

ljmp lm

kmtz: mov r7,#10 ;快慢调整

kmtz1: MOV 11H,R7

lcall YJxs

lcall bbb

jnb p1.6,kmtz2

jnb p1.7,kmtz3

sjmp kmtz4

kmtz2: inc 24h ;加1,加快

mov r7,#10

sjmp kmtz4

kmtz3: dec 24h ;减1,减慢

mov r7,#10

kmtz4: MOV A,24H

JB ACC.7,KMTZ42 ;负数处理

MOV 16H,#10H ;正数无符号

CJNE A,#10,KMTZ41 ;正数,判断值

KMTZ41: JC KMTZ44 ;小于10,继续

12

MOV 24H,#0 ;大于等于10,回到0

MOV A,24H

SJMP KMTZ44

KMTZ42: MOV 16H,#11H ;负号

CPL A ;取反

INC A ;末位加1,得到绝对值

CJNE A,#10,KMTZ43 ;判断绝对值

KMTZ43: JC KMTZ44 ;其绝对值小于等于9 ,可以继续 MOV 24H,#0 ;绝对值大于等于10,回到0

MOV A,24H

KMTZ44: MOV 17H,A ;

lcall YJxs ;显示值

lcall bbb

djnz r7,kmtz1 ;循环10次

mov a,17h ;显示的结果

cjne a,#10,kmtz5 ;比较

kmtz5: jnc kmtzz ;大于等于10无效

mov a,16h ;符号位

cjne a,#11h,kmtz6 ;正数处理

mov a,2bh ;负数

clr c

subb a,17h ;直接相减

mov 2bh,a ;送到常数单元保存

sjmp kmtzz

kmtz6: mov a,2bh

add a,17h ;正数要加

mov 2bh,a

kmtzz: setb 29h.0

ljmp lm ;快慢调整结束

;-

kmxs: MOV 10H,#10h ;不显示

MOV 11H,#10h

MOV 12H,#10H

MOV 13H,#10h

MOV 14H,#10h

MOV 15H,#10H

MOV 16H,#10h

MOV 17H,#10H

LCALL YJXS

13

RET

;---

ljmp ganrao

ljmp ganrao

ljmp ganrao

;延时程序 80MS

bbb: mov 20h,#80

bbb1: mov 21h,#250

bbb2: nop

nop

djnz 21h,bbb2

djnz 20h,BBB1

ret

;INT0中断服务

int0fw: lcall bbb

cpl 29h.0 ;对表标志

lcall bbb

reti

;INT1中断服务

int1fw: lcall bbb

CPL 29H.7 ;定时设定记录标志

lcall bbb

reti

;定时器0中断服务程序 ,t0方式1,初值15536,100毫秒中断一次,高优先级t0fw: push a

push b ;保护现场

push psw ;

setb rs0 ;选择工作寄存器第1组

clr rs1

MOV TH0,2AH ;定时器重新赋值,高字节

MOV TL0,2BH ;低字节

INC R0 ;100毫秒数 (在08H中)

CJNE R0,#10,T0FWZ

INC R1 ;1秒数 (在09H中)

MOV R0,#0

CLR 29H.6 ;可以调用一次显示程序

14

cjne r1,#60, t0fwz

inc r2 ;1分数 (在0aH中)

mov r1,#0

cjne r2,#60,t0fwz

inc r3 ;60分=1小时数 (在0bH中)

mov r2,#0

cjne r3,#24,t0fwz

mov r3,#0

inc r4 ;日数? (在0cH中)

mov a,r5 ;月份

mov dptr,#month_tab ;表首

movc a,@a+dptr ;查表得到日数

mov 22h,a ;日期送22H,以便比较

inc 22h ;超限数

mov a,r4 ;日数

cjne A,22h,t0fwA ;比较

mov r4,#1 ;超过本月最大日期就回到1号

INC R5 ;月数 (在0dh中)

CJNE R5,#13,T0FWA

MOV R5,#1

T0FWA: inc r6 ;星期 (在0eh中)

cjne r6,#08h,t0fwz

mov r6,#1

t0fwz: pop psw ;恢复现场

pop b

pop a

reti ;定时器0中断服务程序到此结束

ljmp ganrao

ljmp ganrao

;每月日数表

month_tab: db 31,28,31,30,31,30,31,31,30,31,30,31 ;1月,2月。。。。。。 ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

xssj: MOV R2,0BH ;显示时间子程序,时-分-秒。小时

LCALL FLBCD ;分离

MOV 10H,R4 ;小时送第一位显示

MOV 11H,R5 ;第二位送显示

15

MOV 12H,#11H ;间隔

MOV R2,0AH ;分

LCALL FLBCD ;分离成BCD码

MOV 13H,R4 ; 分高位

MOV 14H,R5 ; 分低位

MOV 15H,#11H ; 分间隔

MOV R2,09H ;秒

LCALL FLBCD ;分离成BCD码

MOV 16H,R4 ; 秒高位

MOV 17H,R5 ; 秒低位

LCALL YJXS ;送串行口显示

RET

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

xsYRXQ: MOV R2,0EH ;显示星期-月-日子程序, 星期 LCALL FLBCD ;分离

MOV 10H,R5 ;星期送第一位不显示

MOV 11H,#10H ;第二位送显示

MOV 12H,#10H ;间隔空

MOV R2,0DH ;月

LCALL FLBCD ;分离成BCD码

MOV 13H,R4 ;月高位

MOV 14H,R5 ;月低位

MOV 15H,#12H ;月间隔 _

MOV R2,0CH ;日

LCALL FLBCD ;分离成BCD码

MOV 16H,R4 ; 日高位

MOV 17H,R5 ; 日低位显示

LCALL YJXS ;送串行口显示

RET

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

16

ljmp ganrao

XGSJA: CJNE R1,#0BH,XG1 ;修改时间暗点子程序。

MOV 10H,#10H ;时送第一位显示

MOV 11H,#10H ;第二位不显示

RET

XG1: CJNE R1,#0AH,XG3 ;分

MOV 13H,#10H ; 分高位

MOV 14H,#10H ; 分低位

RET

XG3: CJNE R1,#09H,XG4 ;秒

MOV 16H,#10H ; 秒高位

MOV 17H,#10H ; 秒低位

RET

XG4: ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

XGYRXQA: CJNE R1,#0EH,XGYRXQ1 ;修改时间暗点子程序。 MOV 10H,#10H ;星期送第一位显示

MOV 11H,#10H ;第二位不显示

RET

XGYRXQ1: CJNE R1,#0DH,XGYRXQ3 ;月

MOV 13H,#10H ; 月高位

MOV 14H,#10H ; 月低位

RET

XGYRXQ3: CJNE R1,#0CH,XGYRXQ4 ;日

MOV 16H,#10H ; 日高位

MOV 17H,#10H ; 日低位

RET

XGYRXQ4: ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

XGJLA: CJNE R3,#02H,XGJL1 ;修改记录暗点子程序。

MOV 16H,#10H ;序号,第一位不显示

17

MOV 17H,#10H ;第二位不显示

RET

XGJL1: CJNE R3,#00H,XGJL2 ;时

MOV 10H,#10H ; 时高位

MOV 11H,#10H ; 时低位

RET

XGJL2: CJNE R3,#01H,XGJL3 ;分

MOV 13H,#10H ; 分高位

MOV 14H,#10H ; 分低位

RET

XGJL3: ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

xsjL: nop ;显示定时设定时间子程序。 MOV A,R6 ;定时时间记录号

MOV R2,A ;分离用

CLR C ;0送C

RLC A ;乘以2

ADD A,#40H ;加初始地址

MOV R0,A ;记录的开始地址

LCALL FLBCD ;分离

MOV 16H,R4 ;记录号

MOV 17H,R5

mov 15h,#10h ;分隔符号空

MOV A,@R0 ;记录的第一字节

MOV R2,A ;时

LCALL FLBCD ;分离成BCD码

MOV 10H,R4 ; 时高位

MOV 11H,R5 ; 时低位

mov 12h,#11h ;分隔符号-

INC R0 ;记录的第二字节

MOV A,@R0

MOV R2,A ;分

LCALL FLBCD ;分离成BCD码

MOV 13H,R4 ; 分高位

18

LCALL YJXS ;送串行口显示

RET

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

flbcd: nop ;时间二进制数转换到分离BCD码

PUSH A

PUSH B

mov a,r2 ;一字节数,不大于99 ,在R2中

mov b,#10

div ab ;除以10

mov r4,a ;商是十位数结果送R4R5

mov r5,b ;余数是个位数

POP B

POP A

ret

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

ljmp ganrao

yjxs: nop ;液晶显示子程序。液晶显示从10H到17H, ; LED数码管从17H到10H

mov scon,#00h ;串行口工作方式0

mov r0,#10h ;液晶显示缓冲区在10H--17H中,

; 其内容是分离BCD码,

; 10H的内容显示在前17H的内容显示在后

19

mov dptr,#tab ;字型表首

yjxs0: mov a,@r0 ;取显示内容

movc a,@a+dptr ;查表得到字型

mov sbuf,a ;送发送缓冲区

inc r0 ;地址减1

yjxs1: jbc ti,yjxs2 ;发送完成一个字节,进入下一个

sjmp yjxs1 ;未发送完成,继续判断

yjxs2: djnz 25h,yjxs0 ;循环8次

ret

;以下是字型表,共阴极LED,A接最低位,小数点接最高位

tab: db 0fch,060h,0dah,0f2h,066h ;0,1,2,3,4

db 0b6h,0beh,0e0h,0feh,0f6h ;5,6,7,8,9

db 0EEH,03EH,09CH,07AH,09EH,08EH ;a,b,c,d,e,f

db 00h,02H,010H,012h,0CEH ;暗,-,_,=,P

DB ;一,二,三,二

;disp_tab: db 3fh,06h,05bh,04fh,066h ;0,1,2,3,4

; db 06dh,07dh,007h,07fh,06fh ;5,6,7,8,9

; DB 77H,7CH,39H,5EH,79H,71H ;A,B,C,D,E,F

; DB 00H,040H,73H ;暗,-,P

ljmp ganrao

ljmp ganrao

ljmp ganrao

DSSD: NOP ;定时设定程序

clr ex0 ;禁止外部中断0

mov r7,#15h ;定时设定操作空闲时间限制,21*0.15=3.15秒

mov r0,#40h ;记录设定打铃时间开始地址

mov r6,#0 ;记录号(序号),乘以2再加40H得记录开始地址

MOV R3,#2 ;定时设定时指示项目: 0=小时,1=分,2=序号;序号存放在R6中

dssd1: lcall xsjL ;显示记录时间

lcall bbb ;延时50MS

lcall XGjLA ;修改记录显示暗点

LCALL YJXS ;显示

lcall bbb

lcall XSJL

lcall bbb

jnb p1.4,dssD4 ;选择向上按钮

jnb p1.5,dssD5 ;选择向下按钮

20

定时打铃器

专业课程设计任务书 20 13 -20 14学年第 2 学期分散1周第 17 周- 19 周集中 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 如今随着电子技术广泛应用于社会生活生产中,逐渐成为了生活的必备技术,而51单片机以其优越的性能、成熟的技术和较高的可靠性,占领了工业控制领域的主要市场。打铃器是我们日常生活中使用很广泛的一种时间提示工具,以前的人工打铃已经不适合现在高效的社会理念,而自动打铃器具有实时性强、准确度高和可控制性较好等特点。 此次专业课程设计是利用单片机编程设计一个定时打铃器,通过单片机控制7279芯片对键盘和数码管的管理,设计出一个可以任意设置两个打铃时间点,并可以对时间和定时进行校时进行校时的打铃器。当时间到定时时间,则打铃一分钟,而后自动关闭,实现了定时打铃的目的,再通过外接驱动蜂鸣器电路,响铃。 本文着重讲软件设计部分,主要采用模块化设计方式用汇编语言编写整个程序,程序中主要有7279的显示、读键、发送、初始化程序等。将其分成主程序、键盘扫描子程序、显示子程序、打铃子程序等几个部分来分别设计,这样不仅思路清楚,也方便程序的编写、便于之后的调试。 关键词:单片机、7279显示、键盘扫描、定时打铃

目录 前言 (1) 第一章系统组成及工作原理 (2) 1.1设计要求 (2) 1.2系统组成 (2) 1.3工作原理 (2) 1.3.1硬件工作原理 (2) 1.3.2软件工作原理 (3) 第二章硬件电路方案设计 (4) 2.1单片机控制系统 (4) 2.2键盘显示电路设计 (5) 2.3打铃电路设计 (7) 2.4方案选择 (9) 2.3元件选择与参数计算 (9) 第三章软件设计 (11) 3.1程序设计思想 (11) 3.2主程序设计 (12) 3.3键盘扫描子程序设计 (13) 3.4显示子程序设计 (14) 3.5中断子程序设计 (14) 第四章实验、调试和测试结果与分析 (16) 4.1硬件分析 (16) 4.2软件分析 (16) 第五章总结 (17) 参考文献 (18) 附录1 定时器程序清单 (19) 附录2 元件清单 (29) 附录3 定时器实物图 (29) 附录4 定时器原理总图 (30)

单片机自动打铃系统设计

自动打铃系统 ----学校上下课自动打铃设计 设计人: 要求:(1)实现上下课的打铃,并通过语音提示上下课;(2)按下开机键,显示当前年月日时间,在LCD液晶屏显示年,月,日,星期,时,分,秒,年-月-日-星期显示在第一行,格式xx-xx-xx-星期x;时分秒显示在第二行,格式xx-xx-xx(24小时格式); (3)能够设置当前时间; (4)使用语音芯片提示上下课,上课时提示:“亲爱的同学们,

上课了”,重复2遍,下课时提示:“亲爱的同学们,下课了“,重复2遍。 (5)允许使用时钟芯片。 《摘要》 单片机的外接石英晶体振荡器能提供稳定、准确的基准频率,并经12分频后向部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息。如果石英晶体振荡器的频率信号为6MHZ,设定定时器定时工作方式1下,定时器为3CBOH,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数自动打铃系统,是以一片8位单片机为核心的实时时钟及控制系统。我们知道到60,则向时计数器进位,如此周而复始的连续计数,便可获得时、分、秒的信号,建立一个实时时钟。接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求。

数电自动打铃器课程设计

数字电子技术课程设计题目自动打铃器 姓名:___ XXXXXX ___ 所在学院:工学院 所学专业:_ 电气工程及其自动化 班级___ 电气工程XXXX 学号___ XXXXXXXXXXXXX 指导教师:_____ XXXXXX_ ___ 完成时间:____ 2XXXXXXXXX

数电课程设计任务书 一、基本情况 学时:40学时学分:1学分适应班级: 二、进度安排 本设计共安排1周,合计40学时,具体分配如下: 实习动员及准备工作:2学时 总体方案设计:4学时 查阅资料,讨论设计:24学时 撰写设计报告:8学时 总结:2学时 教师辅导:随时 三、基本要求 1、课程设计的基本要求 数字电子技术课程设计是在学习完数字电子课程之后,按照课程教学要求,对学生进行综合性训练的一个实践教学环节。主要是培养学生综合运用理论知识的能力,分析问题和解决问题的能力,以及根据实际要求进行独立设计的能力。初步掌握数字电子线路的安装、布线、焊接、调试等基本技能;熟练掌握电子电路基本元器件的使用方法,训练、提高读图能力;掌握组装调试方法。其中理论设计包括总体方案选择,具体电路设计,选择元器件及计算参数等,课程设计的最后要求是写出设计总结报告,把设计内容进行全面的总结,若有实践条件,把实践内容上升到理论高度。 2、课程设计的教学要求 数字电子技术课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到设计室进行。做到实训教学课堂化,严格考勤制度,在实训期间累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及格处理。在实训期间需要外出查找资料,必须在指定的时间内方可外出。 课程设计的任务相对分散,每3名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人的设计方法和经验。但每个学生必须单独完成设计任务,要有完整的设计资料,独立撰写设计报告,设计报告雷同率超过50%的课程设计考核按不及格处理。

基于ATC单片机定时闹钟设计

塔里木大学信息工程学院 《单片机原理与外围电路》课程论文 题目:单片机定时闹钟设计 姓名:海热古丽·依马木 学号: 15 班级:计算机15-1班

摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。?本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。 关键词:单片机、AT89C51、定时闹钟、仿真? Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always - sub - seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results. Keywords: single chip microcomputer, AT89C51, alarm clock,

程控打铃器说明书

详细介绍 针对广大学校等单位的要求,我们对SF-128F型电脑程控打铃器进行了大规模改进,使程序输入变得轻松、方便,新增了程序保持功能,在任何情况下都能保持程序永不丢失;具备音乐打铃功能,可根据设定时间自动打开功放播放音乐。 1、基本功能:本机能够按照我们事先设定的时间自动打开功放并播放所选音乐,每天可设置128次,四种音乐打铃时间长度可分别在0-99秒间任意设置,四种音乐可任意选择,不同时刻打铃音乐可不相同。 2、有多种编程模式供选择,每天都打铃,单休日不打铃、双休日不打铃,任一天打铃,且每天程序可不一样。 3、手动功能:能够在任何情况下手动打铃或响音乐。 4、具有“单点擦除”功能。

使用方法 一、接线方法:本机机后电源插座直接输出220V交流电(直接接电铃两端或扩音机、功放机电源);音频输出插座可接到扩音机、功放机的CD输入端。 二、安装电池:打开机器底部电池盖板,装入3节5号电池(停电保持时钟走时);接通220V电源,屏幕显示“07:00”,秒点闪动,如果通电后不出现“07:00”,可同时按两个“复位”键进行复位,直至出现“07:00”。 三、时钟使用说明: ⑴调星期:正常走时状态下,按“星期”键调星期,按一下调整一天。 ⑵调时分:按“+”键调时、分,按一下加一,按住5秒钟不放转为快加;按“-”键调时、分,按一下减一,按住5秒钟不放,转为快减。注:调整时分后,秒钟自动清零,即从该时刻的0秒开始走时。四、简单编程(实例):编程前先列好时间表(如下表)。 设置音乐1响铃20秒,音乐2响铃16秒,音乐3响铃12秒,音乐4响铃8秒。 ⑴清除内部程序:按“编程”键3秒,屏幕显示“Y-:15”,星期灯全闪,音乐1灯亮,按“确认”键,显示“07:00”,再按“清除”键3秒清除内部所有程序直至显示“Y-:15”,进入星期及音乐设置模式状态。 ⑵星期模式设置:按“星期”键,直至星期一至日灯全闪,表示一周七天全打铃。 ⑶音乐模式设置:音乐灯1亮,显示“Y-:15”按“+”5次调整至显示

自动打铃器设计肖成华

FPIT-R-JX11-2303-40 信息职业技术学院成人高等教育 毕业论文(设计) 题目自动打铃器设计 姓名肖成华 学号12412215162 年级与专业2012机电一体化

指导教师圣养 毕业论文(设计)任务书 题目:自动打铃器设计 一、指导教师对毕业论文(设计)的进度安排及任务要求: 任务:1、应查阅参考文献5篇以上 2、毕业设计提纲(选题意义、论文框架结构) 3、毕业设计论文(目录、标题、论文摘要、开题报告及关键字、正文) 进度安排: 2014年5月选题 2014年6月-2014年7月完成毕业论文提纲及文献综述、系统设计文案。 2014年6月-2014年8月完成毕业论文初稿及系统设计 2014年9月-2014年10月完成毕业论文及系统调试

起讫日期2014年5月1日至2014年10月30日 指导教师(签名)圣养职称讲师 目录 摘要1 一.绪论2 二. 自动打铃器的基本原理2 三. 设计方案2 四.设计原理分析3 4.1校时模式3 4.2定时模式3 4.3工作模式3 4.4储存器93C46的相关介绍3 五.硬件设计4 5.1时钟与数据储存器4 5.2电源供电电路4 5.3键盘、显示与红外接收电路4 六.软件设计5 七.程序清单6

7.1初始化程序6 7.2键值处理程序7 7.3读写93C46程序10 7.4中断程序12 7.5显示器驱动程序13 7.6显示程序13 结束语15 致15 参考文献16

自动打铃器设计 摘要:为方便人们的日常生活,优化学校,机关等单位的计时系统,采用以单片机为基础设计了一种的自动打铃器。本电路有电源,显示电路,按键控制电路,功放电路四部分组成。这次设计利用了单片机AT89C51的定时和计数功能,来完成时间的计时,校时功能。用LM12864液晶显示时,分,秒。选用蜂窝器模拟现实的电铃实现打铃,其中计时和定时功能是软件为主,硬件为辅。而校时功能是软件为辅,由外部按键控制,实现加一与减一的操作。用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低可靠性好等特点。可用于学校作息,方便了广大师生。 关键词:自动打铃器AT89C51 LM12864液晶单片机

基于PLC的自动打铃控制器设计

课程设计(论文) 基于PLC的自动打铃控制器设计 DESIGN OF AUTOMATIC BELL CONTROLLER BASED ON PLC 学生姓名李然 学院名称信电工程学院 学号20120501150 班级12电气 1 专业名称电气工程及其自动化 指导教师王仁丽 2015年7月1日

摘要 本文介绍一种采用西门子PLC控制的校园作息时间自动打铃控制系统,详细的阐述了系统的组成、系统硬件接线和系统软件设计,并仔细介绍了系统工作原理。该系统具有外设电路配置简单、扩展方便、操作容易,可靠性高实用性强等特点。该系统用于学校电铃的自动控制,具有周末和假期控制功能和星期与时间的显示功能,实现了作息时间无人控制的自动化、科学化管理与操作。 关键词PLC;电铃;自动控制;软件设计

目录 1 绪论 (1) 1.1 系统背景 (1) 1.2 课题的目的和意义 (1) 2 PLC可编程控制器的概述 (3) 2.1 PLC可编程控制器的功能 (3) 2.2 PLC可编程控制器的发展趋势 (4) 3 设计任务及要求 (5) 4 系统总体设计 (6) 4.1 系统概述 (6) 4.2 机型的选择 (6) 4.3 设计方案 (7) 4.4 电铃电路简单介绍 (8) 4.5 数码管显示的介绍 (8) 4.6 编程元件地址分配 (10) 4.6.1 输入输出继电器地址分配 (10) 4.6.2 输入输出接线图 (10) 4.6.3 系统的实物接线图 (11) 5 程序设计 (12) 5.1 计算机辅助设计编程 (12) 5.2 系统流程图 (12) 5.3 MCGS的设计 (13) 5.4 总体PLC程序的设计 (15) 结论 (22) 致谢 (23) 参考文献 (24)

LCD电子定时闹钟的设计及制作

摘要 时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求。本设计采用单片机芯片进行计时,由于AT89C51系列单片机的体积小,成本低,控制器运算能力强,处理速度快,可以精确计时,对于社会生产有着十分重要的作用。 在此次设计中,AT89C51单片机芯片是主要的元器件,通过它来控制电路的LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成的硬件电路,再利用软件来执行一定的程序来实现LCD电子定时闹钟计时功能和定时闹铃的设置和控制。由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。 关键词:单片机计时AT89C51

ABSTRACT Time is the indispensable in the modern society, whether a parameter normally live or social production all need to control over time, some occasions to its accuracy and high requirements. This design USES the monolithic integrated circuit chips for timing, due to the volume of the series microcontroller AT89C51 is small, low cost, operation ability, controller processing speed, can accurate timing for social production, plays a very important role. In this design, AT89C51 chip is the main components, by which it can control circuit of LCD, crystals, resistor, capacitor, light-emitting diodes, switch, loudspeaker elements such as hardware circuit, reuse of software to perform certain procedures to achieve LCD electronic timing alarm clock function and regular alarm Settings and control. Because the system which is less, SCM used components is occupied I/O mouth not much, so system has certain expansibility. Key word:SCM Timing AT89C51

打铃器清单 原理图及程序

单片机项目——打铃器设计 朱琳 指导老师:张小明老师 班级:09信息一班

目录1………………………………………摘要 2……………………………………任务 3……………………….......硬件图及其设计说明 4………………………..使用说明 5…………………….结束语 6…………….致谢 摘要 本设计是采用单片机技术的打铃器,目前以单片机技术的应用为核心的产品种类非常丰富。应用我们所学过的知识和查阅相关资料,我制作了这个单片机技术为基础的打铃器,这是一个

简单的实用的单片机电子设计产品。 我们通过书本上的知识,再通过每一次上课张老师让我们独立完成自己的项目,自己动脑筋,自己解决。实在没办法的,可以请教张老师指点1,2 在一个半月里的努力与奋斗,有了今天的成果,之前我都没想到我会完成这个任务的。本打铃器设计是以单片机技术为核心,采用了中小规模集成度的单片机制作的功能较为完善的电子闹钟。硬件设计应用了成熟的数字钟电路的基本设计方法以,并详细介绍了系统的工作原理。硬件电路中使用了除AT89C52外,另外还有LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件。在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的C语言,实现的功能包括‘时时-分分’显示、可设置多组时间、定时时间到能发出10秒的报警声。整体进行仿真并调试构成了整个完整的打铃器的设计。 最后通过反复的林洋板的实际烧片仿真,该系统能够实现所有要求的功能包括:(1)能显示‘时时-分分’。(2) 可设置多组时间(3)定时时间到蜂鸣器能发出铃声。当然这个系统仍然是属于比较简单的单片机应用系统,要设计功能更强的更复杂的系统还需要我进一步的学习。 任务 1.1设计任务

福建农大自动打铃控制器_PLC课程设计

设计任务书 《可编程控制器》课程设计 学院: 学号: 专业(方向)年级: 学生姓名: 福建农林大学机电工程学院电气工程系 2010年 9 月 1 日

PLC自动打铃控制器设计

目录 前言 (4) 第一设计任务书 (5) 1、设计题目 (7) 2、设计要求 (7) 3、设计方案 (7) 4、编程元件地址分配 (9) 5、设计软件 (10) 第二设计步骤 (10) 第三设计程序 (11) 第四结论及设计心得 (16)

前言 在进行PLC控制系统设计时,需要全面系统地考虑系统的控制要求,最大限度地满足系统的控制要求,从实际出发,设计一个可靠性高、技术先进合理、易操作、易维护、低成本的PLC 控制系统。 一、控制系统设计的基本原则 同其他电气控制系统一样,PLC控制系统的设计原则就是为了实现被控对象(生产设备或生产过程)的工艺要求,从而保证生产过程安全、可靠、稳定、高效地进行。基本的设计原则如下。 1、满足被控对象的要求 PLC控制系统设计的首要任务就是要充分满足被控对象对控制系统提出的要求,这也是PLC控制系统设计中最重要的原则。为了实现系统的控制目标,要求设计人员对被控对象和生产现场做深入细致的调查研究,详细收集有关的设计资料,包括生产现场的作业环境,生产设备的相关参数,控制设备的操作方式和操作顺序;,以及相关的管理经验等。在制订控制方案时,要与现场的管理人员、技术人员及操作人员共同研究,紧密配合,共同拟订控制方案,解决设计中的疑难问题和重点问题。 在制订控制系统的控制方案时,要从工程实际出发,要充分考虑系统功能的组成及实现,主要从以下方面考虑。 ①机械部件的动作顺序、动作条件、必要的保护和连锁。 ②系统的工作方式(如手动、自动、半自动)。 ③生产设备内部机械、电气、仪表、气动、液压等各个系统之间的关系。 ④PLC与上位计算机、交/直流调速器、工业机器人等智能设备的关系。 ⑤系统的供电方式、接地方式及隔离屏蔽问题。 ⑥网络通信方式。 ⑦数据显示的方式及内容。 ⑧安全保护措施及紧急情况处理。 2、确保系统安全可靠、操作简单 确保PLC控制系统的安全可靠、长期稳定地连续运行,这是任何一个控制系统的生命线。为此,必须在控制方案的制定、控制设备的选择及应用程序的编制方面都要建立在确保控制系

KG300T打铃器说明书

KG300T微电脑打铃控制器使用说明书 一、功能和用途 本产品能根据用户设定的时间,可以用做工厂、学校、机关自动打铃控制。如果配相应的语言片,还可以作为家庭、机关里日程安排 的语音提示,实现自动、及时准确的警示作用。 二、特点 1、可直接控制电铃(打铃器触点容量10A阻性); 2、每天走时误差及打铃误差小于0.5秒; 3、每天可设20级打铃; 4、液晶显示、中文界面、安装方便; 5、打铃时间可按天或周循环。 6、打铃延迟时间1秒~99秒可调; 7、打铃间隔时间1分~99分可调; 8、具有手动打铃功能。 三、定时打铃设置 1、调时钟: 按住“时钟”键不入的同时再依次按“校星期”键、“校时”键、“校分”键,分别将以上时间参数按标准进行调整即可。 2、打铃时间参数设置: 2.1、打铃时间设置: 按动“定时”键,液晶显示屏则显示“1开”(第一组可铃设置提示),可按所需时间参数分别按动“校时”、“校分”键进行设置,如时间参数设置完毕后,再对所需星期参数进行设置。 2.2、星期参数设置按动“校星期”键则有如下几种情况供选择: ①单日设定:(一或二或三……或日) ②一三五 ③二四六 ④六日 ⑤一二三

⑥四五六 ⑦一二三四五 ⑧一二三四五六 ⑨一二三四五六日 如需打铃器一星期七日均工作,则可选第⑨种情况,其它依次类推。如需重新设置可按动“取消恢复”键使所设的开启时间显示“” 3、打铃延迟时间、间隔时间设置: 3.1、待“1开”、“2开”……“20开”设置完毕后,再继续按动“定时”键则显示屏出现“H10”,此时可按动“校分”键可调整打铃延迟时间(1~99秒内可调),如不进行调校则默认为10秒。 3.2、待打铃延迟时间设置完毕后,再继续按动“定时”键,则显示屏出现“45,此时可按动“校分”键调整打铃间隔时间(1~99min内可调),如不调整,默认打铃间隔时间45min。待上述设置完毕后,按下“时钟”键即进入设定的工作状态。 4、在设置上述参数时,如在30秒内未按动任何键,液晶显示屏恢复标准时间,如继续设置打铃参数,则可重新按动“定时”键进行调整,只至调整到所需参数位置。 四、工作状态显示 工作状态显示: 打铃器加入工作电源后,工作指示红色发光指示灯亮:如打铃器处于工作状态时,绿色发光指示灯亮。 五、手动打铃控制 如需手动临时打铃,打按动“手动”按键,使液晶显示屏三角提示符从“自动”调至“开”位置,此时工作状态绿色指示灯亮,表示打铃器已处于工作状态。如需使打铃状态停止,可重新按动“手动”按键使液晶显示屏三角提示符从“开”位置调至“自动”或“关”位置即可,打铃延迟时间可手动控制(此打铃时是与所置打铃延迟时间无关)。在自动控制时必须将三角提示符调至自动位置。 六、性能指标 1、标准工作电压:220V/50Hz+10% 2、开关容量:阻性10A; 3、消耗功率:<2VA 4、20组打铃设定; 5、1秒~99秒打铃延迟时间可调; 6、1分钟~90分钟打铃间隔时间可调; 7、工作温度:-20℃~+60℃;

基于单片机的自动打铃器的设计毕业设计

毕业设计题目:基于单片机的自动打铃器的设计院:电气信息学院

诚信声明 本人声明: 1、本人所呈交的毕业设计是在老师指导下进行的研究工作及取得的研究成果; 2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料; 3、我承诺,本人提交的毕业设计中的所有内容均真实、可信。 作者签名:日期:年月日

毕业设计(论文)任务书 题目:基于单片机的自动打铃器的设计 一、基本任务及要求: 1.学习单片机的相关知识,利用单片机编程,实现相关控制; 2.设计一个自动打铃器,要求具备一般电子时钟的功能;能进行多点时间的定时以及 定时时间到自动打铃,要求定时点数至少是40,定时精度是1分钟,且要求能通过键盘查看各定点时间,要求具备掉电保护功能。 3.利用相关软件绘制原理电路图和PCB板图; 4.对实验电路编写程序进行调试,保证各部分正常工作,保证电路板正常完成所规定的任务。 二、进度安排及完成时间: (1)第一周至第三周:查阅资料、撰写文献综述和开题报告; (2)第四周至第五周:学习并掌握单片机及外围设备接口; (3)第六周至第七周:在实验板上完成硬件设置和连线; (4)第八周至第十一周:在开发机上调好软件,然后固化到EPROM中,能脱机运行;(5)第十二周至第十三周:用PROTEL工具软件绘制完整电路原理图,标志各元器件序号和脚号;画出软件流程框图。包括主程序和各子程序。撰写设计说明书;(6)第十四周:毕业设计答辩;

目录 摘要..................................................................... I Abstract................................................................ II 第一章绪论 (1) 1.1 单片机设计的目的和意义 (1) 1.2 单片机发展现状和前景展望 (1) 1.2.1 课题发展现状 (1) 1.2.2 课题前景展望 (2) 1.3 Protel 99 SE概述 (2) 1.3.1 Protel 99 SE的组成 (3) 1.3.2 Protel 99 SE的应用 (4) 1.3.3 电路板的设计步骤 (6) 第二章单元模块的设计 (8) 2.1电源模块 (8) 2.2单片机最小系统模块 (8) 2.3时钟模块 (9) 2.4按键模块 (11) 2.5显示模块 (12) 2.5.1 主要技术参数 (13) 2.5.2 引脚功能 (13) 2.5.3 基本操作时序 (14) 2.5.4 状态字说明 (14) 2.5.5 RAM地址映射图 (14) 2.5.6 指令说明 (15) 2.5.7 接口时序图 (16) 2.6喇叭模块 (18) 第三章系统软件设计 (19) 3.1 系统软件按键程序设计 (20) 3.2 系统软件打铃器时间设置设计 (21) 第四章系统功能介绍及调试 (22) 4.1 打铃器功能简介 (22) 4.2 打铃器优点 (22) 4.3 打铃器缺点与不足 (22) 4.4 系统调试 (22) 4.3.1 硬件调试 (22) 4.3.2 软件调试 (23) 结束语 (24) 参考文献 (25) 致谢 (26) 附录 (27) 附录1 (27) 附录2 (41)

智能定时闹钟 毕业设计

毕业论文(设计) 智能定时闹钟 -----温度、定时硬件设计 院系:工程学院年级专业:电气工程及其自动化0801 提交日期:答辩日期: 答辩委员会主席(签名): 评阅人(签名): 年月日

摘要 随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本文采用宏晶单片机STC10F08XE,通过DS1302时钟芯片进行定时,并通过LCD 1602字符液晶显示器显示。采用C语言程序编写,将设计出更准确定时、更省电的数字时钟。单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期,温度。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。本设计是定时闹钟的设计,由单片机 AT89C51 芯片和宏晶单片机STC10F08XE为核心,辅以必要的电路,构成的一个单片机智能定时闹钟。用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用 AT89C51,它是低功耗、高性能的 CMOS 型 8 位单片机。 关键字:数字时钟;DS1302;LCD1602;STC10F08XE

Abstract In daily life, time is science, technology and everyday life is one of the most basic physics, we often deal with temporal clocks, such as hand watch, wall clock, even on a computer program, the clock on the phone can be generalized a clock display on the clock, along with the rapid development of technology and the continuous improvement of living standards, people on the clock's accuracy and practical demand is higher and higher. Based on the single chip microcomputer principle, USES the monolithic integrated circuit STC10F08XE series, through the hardware circuit and software production procedure formulation, will design a more accurate timing, electricity -saving digital clock, SCM in performance or digital clock no matter in style have undergone a qualitative change, digital clock has proved microcontroller more accuracy, precision sex etc. Function. This design is the design of timing alarm clock, the single chip microcomputer AT89C51 single chip microcomputer chip and macro crystal STC10F08XE as the core, with the necessary auxiliary circuit, constitute a single chip microcomputer intelligent timing of alarm clock . By single chip design system to be completed, because its main through the realization of the function of software programming to complete, then reduce the complexity of the hardware circuit, and the cost is reduced, so in this design using AT89C51 single-chip, it is low power, high-performance CMOS type eight microcontroller. Key Words:Digital clock ; DS1302; LCD1602;STC10F08XE

简易教学用打铃器

单片机原理与应用 课程设计报告 简易教学用打铃器 姓名: 专业: 电子信息工程 班级: 08314 学号: 08314 指导老师: 徐猛华 2011年6 月5日

目录 一.设计任务与要求 (2) 1. 主要任务及目标 (2) 2. 设计的主要内容 (2) 二.总体设计方案 (3) 1. 设计思路 (3) 2. 关键芯片介绍 (3) 3. 总体电路方框图 (6) 4. 总程序流程图 (7) 5. 校时程序流程图 (8) 6. 校分及显示流程图 (9) 三.各部分电路设计 (11) 1. 校时与定时电路图 (11) 2. 振荡电路 (11) 四.整体电路图 (13) 五.设计程序清单 (13) 六.设计总结 (21) 1. 遇到的问题及解决方法 (21) 2. 设计体会 (21) 参考文献 (21) 附A:课程设计评分表 (22)

一.设计任务与要求 1. 主要任务及目标 用单片机设置一个多路打铃时间点的教学打铃器(1)可以实现显示当前时间; (2)可以用键盘设定多个预订打铃时间; 2. 设计的主要内容 (1)时钟范围:24h,60s,60s; (2)按键调整时间设定; (3)按键设定电铃,精度为分钟; (4)可任意设定时间达到定时控制,定时点有2个;(5)定时时间到,打铃10s,然后自动关闭打铃;

二.总体设计方案 1. 设计思路 利用单片机及定时器设计的一个时钟,在每次秒加 1的计时过程中,都与规定的时间作比较,如果相等就进行开关电铃,不等则返回。 利用单片机及定时器设计的一个时钟,定时打铃主要由显示模块,校时模块和时钟运算模块三大部分组成。其中校时模块和时钟运算模块要对时,分,秒的数值进行操作,并且计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环计时。主要采用了8只LED数码管,时钟运算模块的主要功能是对时,分,秒的运算。 2. 关键芯片介绍 AT89S52是一款低功耗、高性能CMOS8位微控制器,具有8K可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 AT89S52具有以下标准功能:8K字节Flash, 256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。其引脚如图3-2所示,下面简要介绍其引脚功能:

单片机打铃系统设计(完整)

目录前言 (1) 第1章方案比较与选择 (2) 1.1系统的比较与选................... ..... .... ......... (2) 1.2显示器的比较与选择 (2) 1.3时钟芯片的比较与选择 (2) 第2章系统框图 (3) 2.1系统框图 (3) 第3章原理分析 (4) 3.1 89C52简介 (4) 3.2键盘控制模块 (7) 3.3时钟电路模块............. ............. ............. ........... . (7) 3.4复位电路模块........... ........ ........... ................ .. (7) 3.5系统电源模块........ ........ ........... ................ ....... (8) 3.6液晶显示模块........ ........ ........... ................ ......... .. (8) 3.7打铃模块....... ........ . ......... .......... ................ .. (9) 3.8 ISP下载线接口....... ........ .......... .......... ............ . (9) 第4章系统软件设计 (10) 4.1软件调试 (11) 结论..................................................... .............13 致谢.................... .... .... .... .... (24) 参考文献....................... ..... ..... ..... .. (26)

12小时制任意点定时数字闹钟设计方案

12小时制任意点定时数字闹钟设计方案 第一章绪论 1.1引言 在信息技术急速发展的今天,计算机科学日新月异。而单片机作为计算机科学的一个分支,在微机控制领域得到长足的发展。随着单片机的发展与科学技术的提高,单片机已经成为人类生产生活中不可缺少的工具。现在,单片机的应用已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。 单片机要解决的问题多数是仍是老问题,新颖之处是比以前用较少的元件。尤其是设计逻辑关系复杂的控制系统,过去用通用的逻辑门集成电路芯片将需要几十片甚至上百片,而现在只用几片就能够实现,而且方便灵活,做设计修改或改动功能时,只消改写软件原文件重写芯片,免去了在硬件线路上大动干戈的苦差事。减少芯片个数主要是靠单片机的可编程性和高度集成化。使开发周期更短,制造成本更低,用电更省和可靠性更高。要求用各种逻辑门芯片实现的逻辑电路,可以用一片单片机芯片加上相应的控制软件就可以实现。 用单片机的另一个优点是设计软件将不断积累,不断模块化,形成标准化软件,大大提高了开发效率。 数字电子钟的设计方法有很多种,例如可以用中小规模的集成电路组成电子钟;

也可以用专用的电子钟芯片配以显示电路及所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟。这些方法各有特点,其中利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可以使用该电电子钟发出控制信号。 1.2论文的容和结构安排 该课程设计是利用74LS290单片机部的定时/计数器、中断系统、以及外围的按键和LED显示器等部件,设计一个12小时制任意点定时数字闹钟设计。设计的电子时钟通过数码管显示,并能通过按键实现任意点定时闹钟。 1.3工作原理 数字电子钟的逻辑框图如图1所示。它由石英晶体振荡器、分频器、计数器、译码器显示器和校时电路组成。振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“12翻1”规律计数。计数器的输出分别经译码器送显示器显示。计时出现误差时,可以用校时电路校时。 图1

基于单片机的定时打铃设计资料

本科毕业设计(论文)题目基于单片机的时控打铃设计 专业班级 学号 学生姓名 指导教师 设计所在单位

基于单片机的时控打铃设计 摘要:随着家用电器的越来越普及和人们生活节奏的加快,人们对电器的依赖性进一步提高,对电器的定时需求也进一步增大。定时开关打铃可用于工厂、学校等需要定时打铃的场合。定时开关打铃的使用能够做到节能、安全、方便等。本文介绍了一种基于STC89C52RC单片机的定时开关打铃设计方案。 本文首先介绍定时开关打铃设计要实现的功能,接着阐述系统电路的设计及原理说明,包括设计方案选择、关键元器件介绍、电路设计说明(包括电源电路、键盘、单片机控制电路、液晶1602显示、蜂鸣器工作电路)软件设计流程以及系统的测试。最后总结了定时开关打铃设计完成的任务,分析系统的不足并提出了系统的应用展望。 关键词:STC89C52RC;定时打铃;1602液晶;键盘

Design of Control Outlet Based on SCM Abstract: with the increasing popularity of household appliances and people life rhythm speeding up, people for the dependence of the electrical appliances to further improve, demand for electric timing also increases further. Time switch ringing the bell can be used in factories, schools and so on need to regular the occasion of ringing the bell. Time switch the use of ringing the bell can achieve energy saving, safety, convenience, etc. This paper introduces a kind of based on STC89C52RC single-chip microcomputer timer switch design of ringing the bell. This paper introduces the time switch design in order to realize the function of ringing the bell, and then expounds design and principle of the circuit system, including design scheme selection, key components, circuit design specificSTCion (including power circuit, keyboard, 1602 single chip microcomputer control circuit, liquid crystal display, relay circuit) software design process, and system test. Finally summarizes the time switch ringing the bell design task, the shortcoming of the system and put forward the applicSTCion prospect of the system. Key words:STC89C52RC,Timer switch,LCD 1602,Keyboard

相关文档
最新文档