任务实施
1.任务分析
(1)从硬件角度分析。
闹钟电路采用蜂鸣器电路。
(2)从软件角度分析。
第一步,选择定时/计数器,确定定时时间。
题目要求定时10s,四种工作方式中,方式1的容量最大,最大定时时间也只有65ms(晶振为12MHz),以方便计算的50ms为基本单位,则有:
200×50ms=10s
所以,选择定时/计数器T0,方式1,基本定时50ms。
第二步,设置TMOD值。采用T0,方式1,定时功能,软件启动,则
TMOD=0000 0001B=0x01
第三步,计算定时初值。晶振为12MHz,机器周期为1μs。
TH0=(65 536-50 000/1)/256(https://www.daowen.com)
TL0=(65 536-50 000/1)%256
第四步,开T0中断。EA=1,ET0=1。
第五步,启动TR0=1。
第六步,编写中断服务子程序。通过全局变量记录中断发生的次数,达到200次时,10s时间到,闹钟响。
第七步,外部中断控制闹钟停。选择外部中断0,对外部中断0初始化,编写外部中断服务子程序。
2.电路设计
根据以上分析,硬件电路设计如图5-10所示。

图5-10 简易闹钟硬件电路
3.程序设计

