自动打铃控制器
自动打铃器
自动打铃器 (3)自动打铃器是一种能够根据预设的时间或者条件自动触发铃声的装置。
在各种不同的场合,自动打铃器都扮演着重要的角色,如学校上下课,公司上下班,定时提醒等。
下面我们将从几个方面详细介绍自动打铃器的原理、应用和未来的发展趋势。
一、自动打铃器的原理自动打铃器主要利用定时器或者计数器来控制电路的运行,以达到自动触发铃声的目的。
根据不同的原理,自动打铃器可以分为机械式和电子式两种。
1.机械式自动打铃器机械式自动打铃器主要利用钟表机构或者定时器齿轮等机械部件来控制时间,当达到预设时间时,通过机械连杆带动铃铛发出铃声。
这种打铃器一般需要手动上链或者拨动开关来启动,同时也有一定的误差存在。
2.电子式自动打铃器电子式自动打铃器则是利用电子电路来控制时间,常用的有数字电路和单片机等。
数字电路通过设定不同的时间参数来实现定时打铃,而单片机则可以通过编程来实现更为复杂的控制逻辑,如铃声的持续时间、间隔时间等。
二、自动打铃器的应用自动打铃器被广泛应用于各种场合,如学校、公司、车站、码头等。
在学校中,自动打铃器可以用来控制上下课的时间,提高学校的教学管理水平;在公司中,自动打铃器可以用来控制上下班的时间,提高公司的工作效率;在车站、码头等场合,自动打铃器可以用来通知乘客列车或船只的开行时间等。
此外,自动打铃器还可以用于定时提醒,如定时叫醒、定时吃药等。
在一些工业生产中,也需要用到自动打铃器来控制生产节拍和时间,提高生产效率。
三、自动打铃器的未来发展趋势随着科技的不断发展,自动打铃器也在不断升级换代,未来将会有更多新的技术应用到自动打铃器中。
1.网络化未来的自动打铃器将会更加网络化,可以通过互联网进行远程控制和监控。
例如,在车站、码头等场合,管理员可以通过互联网远程控制打铃器的开关和铃声持续时间等参数,以适应不同的情况和需求。
2.智能化未来的自动打铃器将会更加智能化,可以利用人工智能技术实现自我学习和自我调整。
例如,通过机器学习和大数据分析技术,自动打铃器可以学习用户的使用习惯并自动调整参数,为用户提供更加智能化的服务。
自动打铃控制器的PLC控制系统设计
自动打铃控制器的P L C 控制系统设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN设计任务书一.课题名称:自动打铃控制器的设计二.概述目前,学校打铃系统的控制均有专用的控制器,这种控制器由单片机或数字系统组成。
当然,用PLC控制也完全可以达到准确定时打铃的目的。
图1所示为PLC控制自动打铃系统组成框图。
图1 PLC控制自动打铃系统组成框图根据学校作息时间表,该控制系统的要求具体如下:(1)上课铃与下课铃要能分开(铃声响的频率不一样),起床、晚自习等时间的铃声为连续打铃,每次打铃的时间为15s。
(2)要具备时间调整功能。
(3)星期六、星期日不打铃,星期一至星期五按表1所示作息时间打铃。
(4)具有时间显示功能,要有秒、分、时和星期的显示。
表1 作息时间表1.根据题意,设计该PLC控制系统。
2.PLC选择及I/O及其它PLC元器件分配。
3.选择电器元件,编制元件目录表。
4.绘制梯形图。
5.用计算机绘制主电路图、PLC控制电路图、电器元件布置图。
6.编写设计说明书及设计小结。
四.设计方案提示1.电子钟程序电子钟程序分别设有秒、分显示(00~59),时显示(00~23)和星期显示(1~6、日)。
其中电子钟计数功能可采用移位指令实现,0~9显示译码电路可用组合逻辑功能完成。
“00~59”六十进制秒、分计数的个位向十位进位的处理方法是:当个位计数到9,第10个脉冲到来时,个位数应该显示0,而十位数应显示1,这是两位数的显示应为10。
对于时显示00~23及星期一至星期日的进位方法处理类似。
有区别的是星期日显示可用数字“”表示,即星期日显示不是显示数字“7”,而是显示数字“8”。
2.打铃程序要使电子钟在显示时间7:40时打铃,可以将7:40的特征码“1”找出来,再驱动一“定时器”电路,使定时器定时15s,打铃也将响应15s。
其余上课的特殊码处理方法相同。
而当下课时,将产生特征码“2”,驱动下课打铃“定时器”电路,打铃15s后停止,但此时打铃的铃声应和特征码“1”时(即上课)不同。
【推荐】电铃控制器说明书-范文模板 (9页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==电铃控制器说明书篇一:电铃使用说明书1、概述目前在皮带运输巷和提升运输巷使用的信号装置大致有两类,一类是传统的隔爆型电磁式电铃;另一类是组合式声光信号电铃,其中有一些具有单工对讲功能。
后者在技术和功能上都有了较大发展,但要实现多水平信号区分、二级传送、安全灯自动转换等功能仍需要增设大量电缆及隔爆型三通、四通等,投资大、故障率高。
针对目前这种状况,我们研制生产了KXT23型数显通信声光信号装置。
该产品结构上为隔爆兼本安型设计,采用单片微控制器及调制解调技术,仅需一条四芯信号电缆,即能实现发出声、光信号、单工对讲、自动区分多水平、二级传送、红绿灯转换等功能。
技术领先、设计合理、一机多用。
可应用于皮带机巷和轨道运输巷,是目前声光信号装置中理想的更新换代产品。
2、主要技术参数3、主要功能3.1、发出声光信号、数显打点数功能在等机状态下,按下信号装置的“信号按钮”,联线上的各装置,均发出声光信号,并数字显示打点数(二级传送除外)。
3.2、自动实现二级传送功能将车房内的信号装置,设置为二级传送状态(将DTP2开关中“1”拨到数字侧,“2”拨到ON侧),井口发出打点信号时,车房及其它水平相应发出声光信号,并显示打点数;当其它水平打点时,车房内的信号装置,只有灯光及数字显示,而不发出打点声,也无127V电压输出,无须使用双联按钮,自动实现二级传送。
3.3、对讲呼叫功能在待机状态下,可实现单工对讲及呼叫功能。
按下信号装置对讲按钮,联线的所有信号装置均能听到讲话及呼叫,松开对讲按钮,信号装置均处于接收状态。
注:在绞车运行时,应禁止对讲呼叫,以免影响司机操作。
3.4、多水平数显功能将每台信号装置设置一个编码(如井口为“1”,一水平为“2”,车房不设置等),按下信号装置“信号按钮”后,其它所有联机装置都数显打点位置的编码,同时根据编码的不同而发出不同的音调,无须增加任何电缆及设备,自动实现多水平的信号区分。
SF-128F型电脑程控打铃器详细介绍
详细介绍针对广大学校等单位的要求,我们对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次调整至显示“Y-:20”;再按“音乐2”,音乐2灯亮,按“+”1次调整直至显示“Y-:16”;再按“音乐3”,音乐3灯亮,按“-”3次调整至显示“Y-:12”;再按“音乐4”,音乐4灯亮,按“-”7次调整至显示“Y-:08”,按“确认”键,星期模式及音乐模式设置的信息存入打铃器中,此时星期灯全闪,显示“07:00”表示进入打铃点设置状态。
PLC课程设计题目
可编程控制器原理及应用课程设计题目1. 设计抢答器PLC控制系统。
控制要求:1)抢答台A、B、C、D,有指示灯,抢答键。
2)裁判员台,指示灯,复位按键。
3)抢答时,有2S声音报警。
4)用数码管显示抢中的组号。
2设计两台电动机顺序控制PLC系统。
控制要求:两台电动机相互协调运转,M1运转10S,停止5S,M2要求与M1相反,M1停止M2运行,M1运行M2停止,如此反复动作3次,M1和M2均停止。
3.设计交通红绿灯PLC控制系统。
控制要求:1)东西向:绿5S,绿闪3次,黄2S;红10S。
2)南北向:红10S,绿5S,绿闪3次,黄2S。
4设计彩灯顺序控制系统。
控制要求:1)A亮1S,灭1S;B亮1S,灭1S;2)C亮1S,灭1S;D亮1S,灭1S。
3)A、B、C、D亮1S,灭1S。
4)循环三次。
5.用PLC对自动售汽水机进行控制,工作要求:1)此售货机可投入1元、2元硬币,投币口为LS1,LS2;2)当投入的硬币总值大于等于6元时,汽水指示灯L1亮,此时按下汽水按钮SB,则汽水口L2出汽水12秒后自动停止。
3)不找钱,不结余,下一位投币又重新开始。
6.设计电镀生产线PLC控制系统.控制要求:1)SQ1—SQ4为行车进退限位开关,SQ5—SQ6为上下限为开关。
2)工件提升至SQ5停,行车进至SQ1停,放下工件至SQ6,电镀10S,工件升至SQ5停,滴液5S,行车退至SQ2停,放下工件至SQ6,定时6S,工件升至SQ5停,滴液5S,行车退至SQ3停,放下工件至SQ6,定时6S,工件升至SQ5停,滴液5S,行车退至SQ4停,放下工件至SQ6。
3)完成一次循环。
7.皮带运输机传输系统有一3台皮带运输机传输系统,分别用电动机M1、M2、M3带动,控制要求如下:按下起动按钮,先起动最末一台皮带机M3,经5S后再依次起动其它皮带机。
正常运行时,M3、M2、M1均工作。
按下停止按钮时,先停止最前一台皮带机M1,待料送完毕后再依次停止其它皮带机。
自动打铃器使用说明
;将原来的自动光照控制器,改进成自动打铃控制器
;仍然可以记录32次,每次操作使电铃响10秒
;液晶显示时分秒,按钮设置打铃时刻
;使用方法:
;临时打铃:按临时打铃按钮,铃响;放开则铃停
;对表:按对表按钮,出现闪动显示的项目,再按向上(或向下),改变闪动项目;再按增加(或减少)按钮调整当前项目值
;对表时可以调整的项目有:星期-月-日小时-分-秒
;定时设定:可以设定的项目有:小时-分,序号只是个便于区别的记录号,与打铃顺序无关
;按定时设定按钮,出现闪动的项目,按向上(或向下)可以改变闪动项目,按增加(或减少)可以修改当前闪动项目的值
;再次按对表(或设定)按钮则退出对表(或设定)状态,对表(或设定)状态下,5秒不操作自动退出
;自动打铃时间到,会响铃10秒
;一个记录的小时设置为24,这个记录就不用
;走时误差的调整:
;进入对表状态后,按一下临时打铃键,进入快慢调整状态,再同时按下上下左右四个键,就可以开始调整快慢啦
;此时,按一下向上键,调整数值加1,按一下向下键,调整数值减1,达到你需要的数值,等待2秒,自动完成调整
;调整数值一个负数,每24小时慢1.728秒,一个正数,每24小时快1.728秒。
;打铃时间的调整:
;进入定时设定,按临时打铃键,进入打铃时间调整状态,按增加键秒数增加,按减少键秒数减少
;秒数合适后,等待2秒,自动完成。
最多50秒。
;单片机采用AT89C2051
;晶振采用6MHz ,机器周期=2μs(微秒)
;显示格式变,定时器0方式一, 时-分-秒 11-43-35 星期月日4 05_22
以下是电路原理图。
基于PLC的自动打铃控制器设计
《电气控制与PLC》课程设计说明书基于PLC的自动打铃控制器设计学生姓名学生学号学院名称专业名称电气工程及其自动化指导教师2013年11月29日摘要在学校和很多公司单位都能看到电铃,它们被用来作为上下课、上下班等作息时间的信号.随着社会的发展,不仅电铃的需求量多了而且对其的要求也高了.通过不同方式控制的自动打铃系统逐一被设计出来。
本文介绍的是三菱PLC控制的作息时间自动打铃控制系统,详细地阐述了系统的组成、系统硬件接线和系统软件设计,并详细介绍了系统工作原理。
该系统具有外设电路配置简单、扩展方便、操作容易,可靠性高实用性强等特点。
该系统用于学校电铃的自动控制,具有周末和假期控制功能和星期与时间的显示功能,实现了作息时间无人控制的自动化、科学化管理与操作.关键词 PLC;电铃;控制系统;软件设计目录1 绪论 01.1课题设计的背景 01.2 课题设计的目的和意义 02 设计任务 (3)2.1 设计题目 (3)2。
2 设计要求 (3)3 系统总体设计 (3)3。
1 系统概述 (3)3。
2 机型的选择 (3)3.3 设计方案 (5)3。
3。
1 控制任务分析 (6)3。
3。
2 TD-200的设置 (6)3。
4 电铃电路简单介绍 (7)3。
5 编程元件地址分配 (8)3。
5.1 输入输出继电器地址分配 (8)3。
5。
2 其他元件地址分配 (8)3.5。
3 输入输出接线图 (9)4 软件设计 (10)4。
1 计算机辅助设计编程 (10)4.2 设计步骤流程图 (10)4.3 总体程序的设计 (10)结论 (15)心得 (16)参考文献 (17)1 绪论1。
1 课题设计的背景电铃作为常用的作息时间信号,铃声已日益成为人们生活中的一部分。
铃声作为作息时间信号,最原始的控制方式就是人工控制。
按照作息时间表敲铃,以及后来出现了电铃但没有能实现自动控制也是由人工按电钮开关来电铃发出铃声都是人工控制方式。
随着计算机技术、自动控制技术和通讯技术的发展,出现了新兴的技术—电气控制与可编程控制技术,而计算机向微型方向的一个分支发展,则出现了主要是用于控制领域的单片机。
KG3028打铃控制器使用说明书
KG3028打铃控制器使用说明书一、产品特点1.内置3.6V/60MAh可充电池、工业级芯片,抗干忧强2.打铃数据在断电情况下可保存10年3.有键盘锁定不会出现人为因素误动作4.产品精度高、操作方便、安装简单5.本产品可设定、上课铃声(基本铃声)、下课铃声、预备铃声6.设定一至五十次打铃控制按周或天循环并随时可以控制打铃7.大屏幕LCD显示8.键盘设定,大功率输出9.除学校适用外、也特别适用于工厂等部门作息全自动打铃二、调试顺序1.打开钥匙液晶显示屏出现5:00,按住“时钟键”不放同时分别再按“校星期键”、“校时键”和“校时键”输入标准时间。
2.按“定时键”出现星期(七天全显示)表示每天工作。
如在一周内有几天作息时,再按“星期键”星期顺次跳动、在不需打铃那天跳动时、再按“取消键”,这天即不打铃,剩下的星期即循环打铃3.再按“定时键”分别按“校时键”和“校分键”设定第一次打铃时间,(再按“铃声转换键”分别上课铃、下课铃,预备铃状态)。
4.再按“定时键”同以上第3点方法设定第二次至五十次打铃时间和铃声状态5.如不需五十六次打铃定时按“时钟键:,返回标准时间6.如设定错误或取消设定按“取消键”,再按一次恢复原来的设定7.无设定时显示(--:--)8.检查:按“定时键”检查所设定的时间是否正确9.修改:请在该设定处按“取消键”,然后重新设定该次打铃时间10.结束检查:按“时钟键”结束检查及设定,显示标准时间11.手动控制:按“手动键”即可实再随意的打铃(基本铃声)12.铃声转换:在设定定时状态按“铃声转换键”分别上课铃、下课铃、预备铃13.锁定键盘:控制器调试完毕后,按“时钟键”不放同时再按“取消键”在显示器中下部出现三角形锁定符号放手,此除“手动键”可临时打铃外、其余一切按键不起作用(开锁时重复上述操作,锁定符号消失)。
14.连接方法:接上电铃、插上电源、面板上红灯亮表示控制器与电源接通,打开电源开关(ON方向),按一下“手动键“红绿灯亮同时电铃接通。
微电脑全自动打铃仪
KG3022T微电脑全自动打铃仪功能和用途本产品以高性能微电脑芯片为核心,可根据用户设定进行自动打铃,一天内最多可实现46次打铃,并为用户提供时钟自动校准功能,具有走时准确、操作方便等特点,广泛应用于学校企事业单位的自动打铃控制。
性能指标工作电源220V/50Hz适用电压范围 160V~240V消耗功率 <3W外形尺寸 179×139×66mm重量 1100g计时误差 <±0.5秒/天闹钟时间0~59秒工作模式:每日相同、每日不同、五天工作制、六天工作制有46组闹铃时间,手动、自动两用显示屏说明星期含义如下所示:Su Mo Tu We Th Fr Sa星期日星期一星期二星期三星期四星期五星期六其它说明1、若临时要求终止执行自动打铃程序,在时钟动行状态,按S键一次,“”静止,使打铃程序冻结,若要恢复执行自动打铃程序,再按S键一次使“”闪烁,表示打铃仪自动打铃程序开始工作;2、若临时需打铃,可在时钟运行状态下按“-”(减数键)手动打铃或按产品背面有“开/关”键;3、在打铃状太下需临时终止打铃,按任意键均可;4、若打铃仪发生意外故障(如死机等),不能正常打铃,可用产品背面的开关手动打铃,再按照“故障排除”中介绍的方法排除故障;5、长期不使用本产品,请将产品后面的锁调到“关”状态,以节约电源。
操作说明(一)按键说明本产品的操作提供五个按键,分别是:M功能键:按此键转换显示屏显示内容,实现时钟运行状态、时钟设置状态、参数设置状态、定时设置状态的转换;S选择键:按此键选择某种功能中需要调整设置的各个参数;+加数键:对选中的项目向上加数(即实现递增变化);-减数键:对选中的项目向下减数(即实现递减变化),在时钟运行状态可实现手动打铃;复位键:清除所有设置,回到系统初始状态,即显示屏处于时钟运行状态,当前时间为10:00、星期日、打铃时长为10S、工作模式为每日相同、无打铃设置。
广播式自动打铃控制器设计
关键 词 ; 电铃 ;控 制 器 ;设 计
中 图 分 类 号 :TP 2 7 3 . 5
文 献 标 识 码 :A
0 引 言
同构成 自动打铃 控制 器 。
电铃 广 泛应 用于学 校 、 机关 及事 业单 位 , 门卫手 动 控 制 电铃经 常 出现响 铃 不 准 和 时长 不 准 的现 象 , 而 且 控 制 电铃 需 专 门布线 , 特别是 学 校教学 楼 , 每个 楼都 需
收 稿 日期 :2 0 1 2 一 l 1 — 0 5 ; 修 回 日期 :2 0 1 3 — 0 1 — 2 0
作 者 简 介 ;宗 明超 ( 1 9 8 8 一 ) ,男 ,山 东 滕 州 人 ,在 读 硕 士 研 究 生 ,主 要 研 究方 向 为嵌 入 式 开 发 与 应 用
2 0 1 3年 第 2期
广 播 式 自动打 铃 控 制 器设 计
宗 明 超 , 文 方
( 贵州大学,贵州 贵阳 5 5 0 0 2 5 ) 摘 要 :为 了解 决 电 铃 手 动 控 制 打 铃 可 靠 性 差 、 噪 声 多及 布 线 问 题 , 设 计 了一 种 以 AT 8 9 C 5 1单 片 机 为 核 心 , 以 7段 数 码 管 显 示年 、 月 、 日、 时 、分 和 星期 , 时钟 芯 片 D S 1 2 8 8 7计 时并 校 时 的无 线 电铃 控 制 器 。单 片 机 根 据 时钟 信 号 及 事 先 编 好 的 打 铃 表 来 控 制 发 射 端 编 码 芯 片 P T 2 2 6 2发 射 信 号 , 据 此 相 应 的 接 收 端 解 码 芯 片
要 布线 , 浪费 很大 , 这些 布线 在建 设施 工 中需要 单独 完
自动打铃控制系统
河南城建学院自动打铃控制系统班级0944131专业电气工程及其自动化姓名刘泱利学号094413129指导教师梁宁一自动打铃控制系统一、设计目的和任务1、设计目的综合运用本课程及前期课程的相关知识和技能,相对独立地设计和调试一个小型PLC应用系统,使学生获得控制技术工程的基本训练,提高工程意识和实践技能。
同时提高学生对文献资料的检索和信息处理的能力,以及编写和整理设计文档的能力。
2、设计任务熟悉工艺流程及生产设备的工作原理;根据控制要求,画出PLC 接线图;利用编程软件编制程序,然后在实验室完成调试。
二、设计要求学生作息时间8:20 预备22:00 就寝8:30-9.:15 第一节上课23:00 熄灯9:25--10:10 第二节课10:30-11:15 第三节课11:25-12:10 第四节课12:10--13:20 午餐、午休13:20 第五节预备13:30-14:15 第五节课13:25-15:10 第六节课15:30--16:15 第七节课16:25--17:10 第八节课17:10--18:00 晚餐18:00--18:45 第九节课18:55--19:40 第十节课19:50--20:35 第十一节课对自动打铃控制器的要求如下:①上课铃与下课铃的铃音不同,其他的铃音为连续音。
②每次打铃的时间为5秒。
③星期六,星期日不打铃。
④要求系统可连续循环。
三、设计思路对于自动打铃控制系统,我采用的是定时器和断电延时器来实现铃声按时间响起,每天最后响铃后通过移位寄存器来实现第二天的程序运行,五天之后通过累加器和延时器来对本周运行的程序进行清零。
从而实现自动打铃系统的程序循环。
四、系统框图五、系统程序设计总结根据课程设计任务书的设计要求,我们通过之前一个星期的学习和实验,为这次设计提供了经验,使我们能在规定时间内完成了课程要求,仿真成功并能使自动打铃系统顺利运行,完成了预期目标通过本次课程设计,我们学会了程序的设计、分析,数码管针脚的寻找。
新版-MP3自动广播控制器(自动打铃机)使用说明书
※系统概述:M P3智能音乐播放系统:采用世界先进的D S P、M P3、F L A S H技术。
将广播自动播放、音源选播、U S B下载,音频录音存储等先进功能综合为一体。
高标准的产品定位,多功能的超前设计,成为广播设备的典范之作,达到国际领先水平。
广泛适用于校园自动广播、音乐打铃、外语广播教学听力考试系统。
※综合功能:M P3自动广播、智能分区广播、日常教学广播、消防紧急广播、背景音乐播放、外语教学及听力考试广播功能。
※、系统特点:1、M P3存储:本系统采用S A M S U N G F L A S H为存储方式,音质清晰、优美、内存容量有64M、128M、256M,从1小时---16小时,可满足各种用户广播需求。
2、编程播放:具有自动广播功能、每天可达99次设定编程播放,对播放内容和播出时间、次数及循环设定多遍播放并任意编程控制,实现无人值守。
每一次编程时间设定可达几十首歌曲进行播放输入。
对某些需要准点播放的内容拥有优先权。
3、功放管理:在每次执行定时播放程序时会自动提前5秒钟将功放电源打开,避免功放机开机因启动及预热延时而影响正常播放。
(智能化的设计起到了节能和科学化管理功放开关)4、中文菜单显示:M P3自动广播系统采用四行中文式菜单液晶显示,引导式菜单进入,让操作者对各项功能信息一目了然,上下翻页及功能设定简洁方便,简单明朗易学易用。
5、程序设定:用户可根据不同的作息时间、内容进行编程设定,达到任意选择和调整作息时间,满足各广播单位对广播作息的选择需求。
6、M P3下载存录音源:用户可直接从电脑上下载或自行录制需要的乐曲到系统内,再进行编程播放。
7、录音源:本系统可直接从V C D、C D、卡座等线路录音输入存储音源音乐曲目。
8、时钟显示:本系统具有日常时钟功能:本机采用专用实时时钟模块,走时准确,停电正常计时,标准时间及工作程序不会丢失、错乱。
对年、月、日及时间显示,起到了对操作使用者及时了解当前时间和下一曲将播放的时间显示功能。
智能程控打铃器
智能程控打铃器摘要提示作息时间的打铃器在各学校等单位经常被使用,其中智能程控打铃器应运最广泛。
智能程控打铃器不但解除了作息管理的麻烦,而且改变了人工打铃、工控制电器等落后现象,它可以使电器自动的周期性工作。
在这里我就是运用单片机以及一些具有特定功能的芯片来实现程序控制地自动周期性打铃器,除了打铃功能外还具备了电子时钟的功能,在断过电后,要继续准确的显示时间和打铃。
在生活和生产的各个领域中,凡是有自动控制要求的地方几乎都有单片机的身影,都有使用单片机的需求。
单片机的应用大有想象和拓展空间。
单片机稳定可靠、体积小、价格廉价,所以很多科技产品都是采用单片机来完成所要完成的控制,而要完成这些控制只要把单片机与计算机编写的程序联系起来,就可以做到。
因此单片机在使用中可以根据程序的不同而改变控制,增加了电路的灵活性。
我在设计中使用了单片机 AT89S51和芯片 DS12887 来控制打铃器的一切任务,以及在时钟电路中用芯片 74HC164 来驱动数码管,用来显示电子时钟。
关键词智能程控打铃器单片机AT89S51芯片DS12887芯片74HC164智能程控打铃器Intelligent Program-Controlled Ring A BellRong XueqingCollege of Information, Huaibei, Normal University 235000Abstract Ringer which can prompts the time of working and resting is familiarity to everyone of us. It is used in all kings of schools and working units. Intelligence P- rogrammable Ringer which is one kind of the ringers is most popular used by engin- eers. It not only releases the trouble of controlling work and rest, but also changes the way people ring and the lagging phenomenon of manual control electronics and so on. It can makes the machines work proudly. Single chip on computer and chip that has s- ome specifically function are the devices I use to control auto periodic ringer.Except the function of auto periodic ring, it also has the function of electric clock. It can re- sumes accurately displaying the time and ringing on time after switching of the power. In every domain of the generative life, the single chip on the computer which is usedin the place that need auto control emerges almost everywhere. It is used by factory’s very common. The application of single chip on computer has much larger imagina- bly and continuations space. Single chip on computer is stable and reliable. It’s volu- me is very small, and the price of it is cheapness. All these are the merits of the single chip on computer. So many science and technology products manufactures use the si- ngle chip on computer to realize the controlling. In order to complete these controlling what wo do just connect the single chip on computer to the computer programm.The use of the single chip on computer is easy to change with the difference of the progra- ms. It make the circuit much more flexi able. The type of single chip on computer that I use is AT89S51 and chip DS12887.I use these two chips to complete all the tasks of controlling ringer. In the timer circuit I use Chip 74HC164 to drive the digital trans- istor. The function of the timer circuit is displaying the time.Key words Intelligence Programmable Ringer; Single chip on computer AT89S51;Chip DS12887; Chip 74HC164目次引言 (1)1 单片机 AT89S51 和时钟芯片 DS12887 介绍 (2)1.1 单片机 AT89S51 介绍 (2)1.2 时钟芯片 DS12C887介绍 (12)2 基本理论 (18)2.1 硬件电路 (18)2.2程序设计 (20)3 电路版制作过程 (22)3.1 电路制作 (22)3.2 原理图常见错误 (22)3.3 PCB 中常见错 (23)4 结论 (24)参考文献 (25)致谢............................ 错误!未定义书签。
学校铃声控制器操作说明
学校铃声控制器操作说明一、概述学校铃声控制器是一种用于控制学校铃声的设备,能够根据预先设置的时刻表自动播放不同的铃声。
本文档将介绍如何正确操作学校铃声控制器,以确保准确地播放铃声,帮助学校顺利进行上下课时间的管理。
二、准备工作1. 检查设备:确保学校铃声控制器处于工作状态,电源连接正常,指示灯亮起。
2. 设置时刻表:准备一份详细的时刻表,包括上下课时间、午休时间等。
确保时刻表中的时间准确无误。
三、操作步骤1. 连接电源:使用提供的电源线将学校铃声控制器连接到电源插座,并确保电源开关在打开状态。
2. 设置铃声:按下控制器上的“设置铃声”按钮进入设置模式。
根据实际需要,选择合适的铃声,并按下“确认”按钮进行确定。
3. 设置时刻表:按下控制器上的“设置时刻表”按钮进入时刻表设置模式。
按照预先准备的时刻表,逐个设置每个时段的起止时间,并按下“确认”按钮进行确定。
4. 铃声测试:在设置完成后,按下控制器上的“测试铃声”按钮进行测试。
控制器将按照设置的时刻表自动播放铃声。
确保播放的铃声准确无误。
5. 定时开关机:如果需要定时开关机,可以按下控制器上的“设置定时开关机”按钮进入设置模式,根据实际需要设定开机和关机时间,并按下“确认”按钮进行确定。
6. 完成设置:确认所有设置完成后,按下控制器上的“完成设置”按钮进行确认。
控制器将开始根据时刻表自动播放铃声。
四、注意事项1. 设备安装:学校铃声控制器应安装在离教室较近的位置,确保铃声能够清晰响起,便于学生听到。
2. 时刻表更新:根据实际情况,不定期更新时刻表,确保铃声的播放时间与学校的实际上下课时间相匹配。
3. 设备维护:定期检查设备是否正常工作,保持设备干净整洁,防止灰尘积聚影响使用效果。
4. 备用电源:为了防止突发停电等问题导致铃声无法正常播放,建议准备备用电源。
5. 操作说明:本文档提供了基本的操作步骤,如果遇到其他问题或需要更多信息,请参阅学校铃声控制器的详细操作手册。
数字电路课程设计——自动打铃控制
自动打铃声控制器的设计一.设计目的:⏹让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;⏹进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;⏹初步掌握使用EDA(电子设计自动化)工具设计数字逻辑电路的方法,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程;⏹经过查资料、选方案、设计电路、撰写设计报告、使学生得到一次较全面的工程实践训练,通过理论联系实际,提高和培养创新能力,为后续课程的学习,毕业设计,毕业后的工作打下基础。
二.设计要求及采用的器件和软件;1.设计要求和所实现的功能:该数字式自动打铃机控制器的功能有控制电铃、控制电灯、控制广播、校时、分冬夏作息时间等。
因此其输出必须有三个输出信号来控制电铃、电灯和广播。
校时功能可通过对输入端的触发来实现,每天中午12 点准时校时, 当北京时间12 点整时, 给输入端一个触发, 使控制器自动复位到12 点。
作息时间表如下所示2.采用的软件:在Windows平台上运行的ispEXPERT编程软件,以及ABEL-HDL可编程IC设计应用语言编译等软件。
3.采用器件:TDS系列数字电路实验系统ISP1016可编程逻辑器件PC计算机。
三.设计思想及模块本设计采用的是由ABEL-HDL源文件组成的设计,由一个控制器模块完成了所有的功能,节省了空间开销和系统反应时间。
从外部看,只要有三个输入和三个输出就能满足要求,如图所示。
控制器框图如图所示。
CLK—外部时钟脉冲输入,频率为1Hz。
SET—校时,高电平有效。
MODE—模式选择。
“1”为夏季作息时间,“0”为冬季作息时间。
SPEAK—输出信号,控制广播。
LAMP—输出信号,控制电灯。
RING—输出信号,控制电铃。
该控制器需要一个内部计数器来计时,共需计24个小时,分别由三个计数器来承担,计时精确到秒。
在这里,需要用到的内部信号只有min和hour,通过对min和hour的检测,可以定时触发广播,打铃,开关灯。
打铃器说明书
打铃器说明书一、产品概述打铃器是一种常见的声音设备,用于在特定时间段内发出响亮的音乐或铃声,以提醒人们进行特定的活动或时间安排。
本说明书将介绍如何正确使用打铃器,并提供一些常见问题的解答。
二、产品特点1.多功能设置:本打铃器可以根据用户的需求进行多种不同的设置,例如按天、按周或按月进行定时铃声设定。
2.声音可调节:用户可以根据需要调节打铃器的音量,以适应不同环境下的需求。
3.简单操作:打铃器的操作方式简单明了,用户只需按照提示进行设置即可。
4.节能环保:打铃器采用节能设计,可有效减少用电量,并具有环保功能。
三、使用方法1.连接电源:将打铃器插头连接到电源插座上。
2.设置时间:根据说明书上的提示,按下相应的按钮进行时间、日期和铃声的设置。
3.音量调节:根据需要,调整打铃器的音量大小。
4.保存设置:按下保存按钮,以保存您所设置的时间和铃声。
5.测试铃声:在进行实际使用之前,建议测试一下设定的铃声是否正常工作。
6.使用注意事项:请将打铃器放置在稳定的地面上,远离水源和易燃物品,以确保安全运行。
四、常见问题1.打铃器没有正常发声怎么办?答:请先检查铃声设置是否正确,确认是否按下了保存按钮。
还可以检查一下铃声的音量设置,确保没有被调到最低档位。
如果问题仍然存在,请联系售后服务中心进行维修。
2.为什么打铃器的时间设定不准确?答:可能是由于电源问题导致的时间误差。
建议您使用更稳定的电源插座,并确保没有频繁的断电情况发生。
如果问题依然存在,请联系售后服务中心。
3.打铃器可以连接到其他音频设备吗?答:是的,打铃器可以通过提供的音频接口连接到其他音频设备,如扬声器或音响。
这样可以提高声音的传播效果。
4.如何进行打铃器的固件升级?答:请参考打铃器附带的固件升级说明书,根据提供的步骤进行固件的升级。
五、维护与保养1.请定期清洁打铃器表面,避免灰尘和污垢的积聚。
2.避免将水或其他液体溅入打铃器内部,以防止损坏。
3.在长时间不使用打铃器时,请拔掉电源插头,以节省电能和确保安全。
KG3022T微电脑打铃控制器使用说明
KG3022T微电脑打铃控制器使用说明一、产品特点1.内置3.6V/60MAh可充电池、工业级芯片,抗干忧强2.打铃数据在断电情况下可保存10年3.有键盘锁定不会出现人为因素误动作4.产品精度高、操作方便、安装简单5.本产品可设定、上课铃声(基本铃声)、下课铃声、预备铃声6.设定一至五十次打铃控制按周或天循环并随时可以控制打铃7.大屏幕LCD显示8.键盘设定,大功率输出9.除学校适用外、也特别适用于工厂等部门作息全自动打铃二、调试顺序1.打开钥匙液晶显示屏出现5:00,按住“时钟键”不放同时分别再按“校星期键”、“校时键”和“校时键”输入标准时间。
2.按“定时键”出现星期(七天全显示)表示每天工作。
如在一周内有几天作息时,再按“星期键”星期顺次跳动、在不需打铃那天跳动时、再按“取消键”,这天即不打铃,剩下的星期即循环打铃3.再按“定时键”分别按“校时键”和“校分键”设定第一次打铃时间,(再按“铃声转换键”分别上课铃、下课铃,预备铃状态)。
4.再按“定时键”同以上第3点方法设定第二次至五十次打铃时间和铃声状态5.如不需五十六次打铃定时按“时钟键:,返回标准时间6.如设定错误或取消设定按“取消键”,再按一次恢复原来的设定7.无设定时显示(--:--)8.检查:按“定时键”检查所设定的时间是否正确9.修改:请在该设定处按“取消键”,然后重新设定该次打铃时间10.结束检查:按“时钟键”结束检查及设定,显示标准时间11.手动控制:按“手动键”即可实再随意的打铃(基本铃声)12.铃声转换:在设定定时状态按“铃声转换键”分别上课铃、下课铃、预备铃13.锁定键盘:控制器调试完毕后,按“时钟键”不放同时再按“取消键”在显示器中下部出现三角形锁定符号放手,此除“手动键”可临时打铃外、其余一切按键不起作用(开锁时重复上述操作,锁定符号消失)。
14.连接方法:接上电铃、插上电源、面板上红灯亮表示控制器与电源接通,打开电源开关(ON方向),按一下“手动键“红绿灯亮同时电铃接通。
可编程智能遥控打铃器 使用说明
可编程智能遥控打铃器使用说明一、用途与性能积20年打铃器生产经验、经20年的更新换代。
最新推出的HB40XX高级系列程控器采用进口最新型的单片低功耗、高性能专用微电脑时控芯片,经精心设计、选用优质进口元件制造,具有极高的可靠性。
专用于学校、机关、厂矿实现自动作息打铃◆可同时输入4套作息时间以供不同季节或睛雨天之需(各套程序按设定的月日自动转换)。
◆每套每天最多可存入88次打铃信息。
24小时循环。
所编入的打铃信息掉电不丢失。
◆打铃信息可随意设在24小时内的任意时间,最短间隔1分钟。
◆16S连响和8秒间响两种铃声以区别预备铃与上课铃。
◆程序自动检查、修改功能(快速显示所设定的时间点、随意增补、删除或修改设定)。
◆交直两用、自动转换(有电控制响铃,停电后自动按作息时间响音乐,声音宏亮)。
◆内置可充电池,自动充电,程序、时间不受停电影响。
◆使用寿命:15年以上。
◆ABS机壳、PVC面板,永不生锈。
◆数码显示、发光指示、按键操作。
◆走时、控制精度每日小于0.5秒。
◆无线遥控打铃距离0.1-5公里。
◆控制功率:1000W(可带电铃15只)。
机内装有可充电池及自动充电电路,第一次使用或闲置30天以上再用时,电池已无电,需先将控制器插上电源24小时以上充电。
充足电的电池可保证在连续停电30天时、时间及程序不变。
二、安装试验安装说明注:不正确的安装有可能导致控制器被烧毁。
请认真分析并弄懂外线安装图。
1.供电正常的学校:请使用学校原有普通交流电铃(或到当地县市交电商店购置)。
2.长期无电的学校:请使用普通号筒式高音喇叭(以5-10W8_较佳)。
喇叭采用8-10节1号电池(节数多,音量大)或12V蓄电池供电,切忌用其它电源。
喇叭电池盒自购或自制。
喇叭外线采用优质铜芯线,长度最好不超过10米(过长声音小)。
3.供电异常的学校:请同时安装喇叭和电铃。
有电响铃,停电响喇叭,全自动转换。
外线试验注:为防止接线错误烧毁控制器,在外部电铃和喇叭安装完毕后,一定要进行如下试验:1.喇叭插头在反复插进或拔出插座过程中,喇叭应发出较响的“喀喇”声。
DSK-40(KG3022D)打铃控制器说明书
DSK-40(KG3022D)微电脑打铃控制器一、功能和用途本产品能根据用户设定的时间,可以用做工厂、学校、机关自动打铃控制。
如果配相应的语言片,还可以作为家庭、机关里日程安排的语音提示,实现自动、及时准确的警示作用。
二、特点1、可直接控制电铃(打铃器触点容量10A阻性);2、每天走时误差及打铃误差小于0.5秒;3、每天可设20级打铃,最多可实现40次打铃;4、液晶显示、中文界面、安装方便;5、打铃时间可按天或周循环。
6、打铃延迟时间1秒~99秒可调;7、打铃间隔时间1分~99分可调;8、具有“单铃”、“双铃”双重功能;9、具有手动打铃功能。
三、定时打铃设置1、调时钟:按住“时钟”键不入的同时再依次按“校星期”键、“校时”键、“校分”键,分别将以上时间参数按标准进行调整即可。
2、打铃时间参数设置:2.1、打铃时间设置:按动“定时”键,液晶显示屏则显示“1开”(第一组可铃设置提示),可按所需时间参数分别按动“校时”、“校分”键进行设置,如时间参数设置完毕后,再对所需星期参数进行设置。
2.2、星期参数设置:按动“校星期”键则有如下几种情况供选择:①单日设定:(一或二或三……或日)②一三五③二四六④六日⑤一二三⑥四五六⑦一二三四五⑧一二三四五六⑨一二三四五六日如需打铃器一星期七日均工作,则可选第⑨种情况,其它依次类推。
如需重新设置可按动“取消恢复”键使所设的开启时间显示“”2.3、单铃/双铃设置单铃功能——只执行该组时间设定的一次打铃;双铃功能——可在该组时间间隔时间之后进行第二次打铃;待每组打铃时间以及星期参数设置完毕后,如需设置“双铃”功能可按动“单铃/双铃”键,使液晶显示屏出现双铃符合即可:如不设置,则默认为单铃情况,继续按动“定时”键则出出“2开”、“3开”……“20开”设置相应参数可参考2.1、2.2、2.3进行,如对某组不需设置,则可按动“取消/恢复”键使显示屏出现“”即可。
3、打铃延迟时间、间隔时间设置:3.1、待“1开”、“2开”……“20开”设置完毕后,再继续按动“定时”键则显示屏出现“H10”,此时可按动“校分”键可调整打铃延迟时间(1~99秒内可调),如不进行调校则默认为10秒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计课程单片机原理及应用课程设计题目自动打铃控制器院系电子科学学院专业班级学生姓名学生学号指导教师2011年3月 18 日目录1引言 (2)2设计要求 (3)2.1总体设计思想 (3)3.硬件电路设计思想 (3)3.1PCB图 (5)4.程序流程图 (5)5.程序清单 (6)6元器件明细表 (26)7.调试过程 (27)8.参考文献 (27)1引言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如产品未使用单片机或其它可编程逻辑器件上智能控制、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
今天我利用单片机控制学校的打铃系统,下面是我的设计思路2设计要求用单片机、数字温度传感器、实时时钟芯片、点阵液晶模块设计一个简易的自动打铃系统,系统工作时,在LCD显示器的第一行用16×16点阵的汉字显示“自动打铃系统”,第二行显示当前时间,第三行显示当前温度值,在随后的四行显示一页最近的打铃时间,即将要打铃的时间用黑底白字显示,如果该页的最后一个时间打过铃后,自动翻页,将下一页的4个打铃时间显示出来;用户可以通过按键修改当前时间或打铃时间;用户可以通过按指定键获知各键的功能。
2.1总体设计思想用TG12864B液晶模拟块设计一个简易的自动打铃系统,系统正常工作是,在LCD显示器的第一行用16*16的点阵的汉字显示“自动打铃系统”,第二行显示当前时间,第三行显示当前温度,在随后的四行显示一页的最近的打铃时间,即将要打铃的时间用黑底白字显示,如果该页的最后一个时间打过铃后,自动翻页,将下一个的4个打铃时间显示出来;用户可以通过按键修改当前时间或打铃时间。
利用KDOWN键进入HELP功能;打铃时用音乐声代替。
3.硬件电路设计思想分析:自动打铃系统的本质就是电子钟,如果当前的时间与打铃时间相同,就控制蜂鸣器发出打铃声。
虽然利用单片机本身的定时器也能够实现走时功能,但精度不够高,程序也比较复杂,而实时时钟芯片PCF8563能够轻松的解决以上问题。
由于打铃时间可能多达数十个,如果用户设置完打铃时间后将其保存在片内RAM中,一旦断电或重新启动,打铃时间又必须重新设置,为此可利用串行E²PROM 器件24C02来保存打铃时间。
另外用4个按键来设置当前时间和打铃时间。
系统正常工作时,按KDOWN键进入帮助菜单;按KSET键进入当前时间的设置,长按KSET键则进入打铃时间的设置;进入设置方式后,按KSET键移动光标,用黑底白字指示当前正在修改的时、分、秒,KINC,KDEC键分别对当前的修改对象加、减1,如果是修改的打铃时间,用KDOWN键对下一个打铃时间进行设置,长按KSET键退出当前时间或打铃时间的设置方式,回到正常状态。
电子钟是一个以“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和一些显示星期、报时、停电查看时间等附加功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“星期”计数器、校时电路、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒、星期”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
每累计24小时,发出一个“星期脉冲”信号,该信号将被送到“星期计数器”,“星期计数器”采用7进制计时器,可实现对一周7天的累计。
译码显示电路将“时”、“分”、“秒”、“星期”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”、“秒”、“星期”显示数字进行校对调整的。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。
高级的精度更高。
有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,此外还有一校正电容可以对温度进行补偿,以提高频率准确度和稳定度,使稳定度优于10-4,可保证数字钟的走时准确及稳定,下面我画出硬件电路图,见附录1。
3.1PCB 图见附录2。
4.程序流程图5.程序清单文件I2C.C 的清单如下:#include <reg51.h> #include <intrins.h>YNNYPCF8563产生中断?NYNN 初始化定时器T0初始化外部中断0初始化液晶屏显示”自动打铃系统”显示当前时间显示当前温度开始将打铃时间从24C02中至数组alatime 中 初始化PCF8563允许定是、报警中断 写入当前时间 显示当前温度显示1页最近打铃时间 确定下一个要打铃的时间 将其设为PCF8563的报警时间将其以黑底白字方式显示KSET_LONG 键按下修改当前时间写入PCF8563KSET 键按下 KDOWN 键按下修改打铃时间写入24C02显示HELP 功能24C02中的打铃时间有效?从PCF8563读取当前时间,显示当前时间音乐声是否结束? 发DS18B20复位命令 发跳过ROM 命令 发启动温度转换命发DS18B20复位命令 发跳过ROM 命令发读暂存器指令 读取2字节的温度将温度值转换为BCD 码送显示缓存、调用显示程序 控制定时器T0产生方波将正在打铃时间以正常方式显示 指向下一个打铃时间 将其设为PCF8563的打铃时间 将其以黑底白字方式显示翻页KDOWN 键按下KINC 键按下 Y#define uchar unsigned char#define delay1us() _nop_()#define delay5us() _nop_();_nop_();_nop_();_nop_();_nop_()sbit SDA=P1^7; //P1.1模拟I2C总线的SDAsbit SCL=P1^6; //P1.0模拟I2C总线的SCLbit ack_mk; //应答标志位,有应答为1,无应答为0 void Start() /始信号/产生起{SDA=1; //将SDA、SCL置为1SCL=1;delay5us(); //起始条件建立时间大于4.7us,故延时5usSDA=0; //SCL为高时,SDA由高变低,发送起始信号delay5us(); //延时5usSCL=0; //SCL变低,准备发送或接收数据}void Stop() //产生停止信号{SDA=0; //将SDA清0, SCL置1SCL=1;delay5us(); //结束条件建立时间大于4.7us,所以延时5usSDA=1; //当SCL为高电平时,SDA由低变高,产生结束信号 delay5us(); //延时5usSCL=0;}void Ack(void) //产生应答信号{SDA=0; //SDA先清0,发应答信号SCL=1; //SCL由低变高,产生一个时钟delay5us(); //延时5usSCL=0; //时钟线SCL恢复到低电平,以便继续接收}void NAck(void) //产生非应答信号{SDA=1; //SDA先置1,发非应答信号SCL=1; //SCL由低变高,产生一个时钟delay5us(); //延时5usSCL=0; //时钟线SCL清恢复到低电平,以便继续接收}void SendByte(uchar c) //向I2C总线发送一个字节{uchar n ;for(n=0;n<8;n++) //一字节为8位,循环8次{if(c&0x80) SDA=1; //根据发送位将数据线SDA置为1或清0else SDA=0;SCL=1; //置SCL为高,通知被控从机开始接收数据位delay5us(); //延时5usSCL=0; //SCL变低电平,准备发送下一位数据c=c<<1; //将下一位要发送的数据移到最高位,先高后低}delay5us(); //延时5usSDA=1; //一字节发送完后释放数据线,准备接收应答位 delay5us();SCL=1; //SCL由低变高,产生一个时钟,读取SDA的状态 delay5us(); //延时5usif (SDA==1)ack_mk=0; //如果SDA=1,则发送失败,将ack_mk清0elseack_mk=1; //否则发送成功,将ack_mk置1SCL=0; //SCL变低}uchar RcvByte() //接收一个字节{uchar c;uchar n;for(n=0;n<8;n++) //一字节为8位,循环8次{ SDA=1; //置数据线SDA为输入方式,进入接收方式SCL=1; //SCL由低变高,产生一个时钟if (SDA==0) //根据数据线SDA的状态,将c的最高位清0或置1c=c&0x7f;elsec=c|0x80;c= _crol_(c,1); //将c循环左移一位,先接收高位,后接收低位 SCL=0; //时钟线SCL清0}return(c);}/*从指定器的的子地址开始写入多个字节*/bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no){uchar i;Start(); //启动总线SendByte(sla); /*发送器件地址*/if(ack_mk==0)return(0);SendByte(suba); /*发送器件子地址*/if(ack_mk==0)return(0);for(i=0;i<no;i++){SendByte(*s); /*发送数据*/if(ack_mk==0)return(0);s++;}Stop(); /*结束总线*/return(1);}/*从指定器的的子地址开始读取多个字节*/bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no) {uchar i;Start(); /*启动总线*/SendByte(sla); /*发送器件地址*/if(ack_mk==0)return(0);SendByte(suba); /*发送器件子地址*/if(ack_mk==0)return(0);Start();SendByte(sla+1);if(ack_mk==0)return(0);for(i=0;i<no-1;i++){*s=RcvByte(); /*发送数据*/Ack(); /*发送就答位*/s++;}*s=RcvByte();NAck(); /*发送非应位*/Stop(); /*结束总线*/return(1);}文件LCD12864IO.C的清单如下:#include <reg51.h>#include <intrins.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned intsbit LCD_RST= P3^7; //液晶屏复位脚定义sbit DI=P3^4; //DI引脚定义sbit RW=P3^5; //RW引脚定义sbit CS=P3^3; //片选信号定义sbit EN=P3^6; //使能信号定义sbit RDY=P0^7; //对应状态信息中的BF位sfr LCD=0x80; //P0口作为数据口#define LCD_DISPON 0x3f // 打开LCD显示#define LCD_STARTROW 0xc0// 设置起始行,可用LCD_STARTROW+x设置起始行(x<64) #define LCD_ADDRSTRY 0xb8// 页起始地址,可用LCD_ADDRSTRX+x设置当前页(x<8)#define LCD_ADDRSTRX 0x40// 列起始地址,可用LCD_ADDRSTRY+x设置当前列(x<64)#define CS1 0 //左半屏选择#define CS2 1 //右半屏选择//命令字cmd送左半屏(port=0)/右半屏(port=1)命令口void LCD_WrCmd(bit port,uchar cmd){ EN=0;CS=port;DI=0; //选择命令寄存器RW=0;EN=1;LCD=cmd; //命令码送总线EN=0;}//数据wrdata送左半屏(port=0)/右半屏(port=1)数据口void LCD_WrDat(bit port ,uchar wrdata){ EN=0;CS=port;DI=1; //选择命令寄存器RW=0;EN=1;LCD=wrdata; //命令码送总线EN=0;}//以filldata充填液晶屏void LCD_DispFill(uchar filldata){ uchar x, y;LCD_WrCmd(CS1,LCD_STARTROW); //设置左半屏显示起始行为0LCD_WrCmd(CS2,LCD_STARTROW); //设置右半屏显示起始行为0for(y=0; y<8; y++) //循环充填8页{ LCD_WrCmd(CS1,LCD_ADDRSTRY+y); // 设置左半屏页地址LCD_WrCmd(CS1,LCD_ADDRSTRX); // 设置左半屏列地址LCD_WrCmd(CS2,LCD_ADDRSTRY+y); // 设置右半屏页地址LCD_WrCmd(CS2,LCD_ADDRSTRX); // 设置右半屏列地址for(x=0; x<64; x++) //充填每页的64个单元(列) { LCD_WrDat(CS1,filldata);LCD_WrDat(CS2,filldata);}}}//液晶模块初始化void LCD_DispIni(void){ uint i;LCD_RST = 0; // 复位驱动芯片for(i=0; i<500; i++);LCD_RST = 1;LCD_WrCmd(CS1,LCD_DISPON); // 打开显示LCD_WrCmd(CS1,LCD_STARTROW); // 设置显示起始行为0LCD_WrCmd(CS2,LCD_DISPON);LCD_WrCmd(CS2,LCD_STARTROW);LCD_DispFill(00); // 清屏LCD_WrCmd(CS1,LCD_ADDRSTRY+0); // 设置页(字符行)地址LCD_WrCmd(CS1,LCD_ADDRSTRX+0); // 设置列地址LCD_WrCmd(CS2,LCD_ADDRSTRY+0);LCD_WrCmd(CS2,LCD_ADDRSTRX+0);}//在液晶屏的cy(0-7)行、cx(0-15)列显示字符dispdatavoid LCD_DispChar(bit color,uchar cy, uchar cx, char dispdata) { uchar code *pch;uchar i;bit port;cy = cy&0x07; // 参数过滤cx = cx&0x0f;pch = &ASCII_TAB[(dispdata-0X20)*5]; //指向字符起始列的点阵码 if( (cx&0x08) == 0 ) // 列号cx<8,在左半屏显示{ port=CS1;i=cx<<3;}else{ port=CS2;i = (cx&0x07)<<3;}LCD_WrCmd(port,LCD_ADDRSTRX+i); // 设置当前列地址LCD_WrCmd(port,LCD_ADDRSTRY+cy); // 设置当前页地址for(i=0; i<5; i++); //延时if (color==0)LCD_WrDat(port,0x00); // 显示一列空格elseLCD_WrDat(port,0xff); // 显示一列空格for(i=0; i<5; i++) //送出字符的5列点阵码{ if(color==0)LCD_WrDat(port,*pch);elseLCD_WrDat(port,~*pch);pch++;}if (color==0)LCD_WrDat(port,0x00); // 显示一列空格elseLCD_WrDat(port,0xff); // 显示一列空格for(i=0; i<5; i++);if (color==0)LCD_WrDat(port,0x00); // 显示一列空格elseLCD_WrDat(port,0xff); // 显示一列空格}//在液晶屏的cy(0-7)行、cx(0-15)列显示字符disp_strvoid LCD_DispStr(bit color,uchar cy, uchar cx, char *disp_str){ while( *disp_str != '\0'){ cy = cy&0x07; // 参数过滤cx = cx&0x0f;LCD_DispChar(color,cy, cx, *disp_str); // 显示字符 disp_str++; // 指向下一字符数据cx++;if(cx>15) cy++; // 指向下一显示行}}//在液晶屏的cy(0-3)行、cx(0-7)列显示汉字字符dispdatavoid LCD_DispHZ(uchar cy, uchar cx, uchar dispdata){ uchar code *pdat;uchar i,s,page;bit port;cy = cy&0x03; // 参数过滤cx = cx&0x07;pdat = &HZTAB[dispdata*32];if( (cx&0x04) == 0 ) // 如果在左半屏显示{ port=0;s = cx<<4; // 求出该汉字在屏幕上的起始列}else //在右半屏上显示{ port=1;s = (cx<<4)-64; // 求出该汉字在屏幕上的起始列}for(page=0;page<2;page++) //每个汉字2页{ LCD_WrCmd(port,LCD_ADDRSTRX+s); // 设置当前列地址LCD_WrCmd(port,LCD_ADDRSTRY+(cy<<1)+page); // 设置当前页地址 for(i=0; i<5; i++);for(i=0; i<16; i++) //每个汉字16列{ LCD_WrDat(port,*pdat); // 发送数据pdat++;}for(i=0; i<5; i++);}}//在液晶屏的cy(0-3)行、cx(0-7)列显示汉字字符串disp_strvoid LCD_DispHZStr(uchar cy, uchar cx, uchar *disp_str){ while( *disp_str!=0xff){ cy = cy&0x03; // 参数过滤cx = cx&0x07;LCD_DispHZ(cy, cx, *disp_str); // 显示汉字 disp_str++; // 指向下一汉字cx++; //列号加1if(cx>7){ cy++; // 指向下一显示行cx=0;}}}void Help(void){Help2();while (1){ k=GetKey();if(k==KINC){m++;if(m%2==0){Help2();}else{Help1();}}else if(k==KDOWN){break;}}}bit reset(void) //初始化DS18B20{ bit err;DQ=0; //在数据线上产生600us的低电平 delay15(40);DQ=1; //数据线拉高delay15(4); //延时60userr=DQ; //读取数据线状态,err=0:复位成功 delay15(18); // err=1:复位失败 return(err);}void wrbyte(uchar d) //向DS18B20写入一个字节{ uchar i;dat=d;for(i=8;i>0;i--) //循环写8位(先低位,后高位){ DQ=0; //产生15us的负脉冲delay15(1);DQ=dat0; //将当前数据位送数据线dat=dat>>1; //将下一位要写入的数据移到最低位 delay15(1); //延时15usDQ=1; //数据线拉高,为写入下一位做准备 }}uchar rdbyte(void) //从DS18B20 读取一个字节{ uchar i;dat=0; //读出数据初值为0for(i=8;i>0;i--) //循环读8位(先低位,后高位){ dat=dat>>1; //读出数据先右移一位DQ=0; //产生1us的负脉冲_nop_();DQ=1; //数据总线拉高delay15(1); //延时15usdat7=DQ; //读取数据delay15(4); //延时,为读下一位做准备}return(dat);}void late() //延时700ms{ uchar i;for(i=0;i<200;i++) delay15(200);}void gettemp(void){ int temp;uchar zf;uchar h,l;reset(); //复位所有DS18B20wrbyte(0xcc); //跳过ROMwrbyte(0x44); //启动所有DS18B20转换late(); //延时750msreset(); // 复位wrbyte(0xcc); //发跳过ROM命令wrbyte(0xbe); //发读暂存器命令l=rdbyte(); //读取温度低字节、高字节 h=rdbyte();temp=h*256+l;zf=0;if(temp<0) //如果温度在0度以下{ zf=1; //置负数标志temp=-temp; //求补}dbuf[4]=dp[temp&0x0f]+0x30; //求出温度的小数 temp=temp>>4;dbuf[0]=temp/100+0x30; //求出百位temp=temp%100;dbuf[1]=temp/10+0x30; //求出十位dbuf[2]=temp%10+0x30; //求出个位dbuf[3]='.';if(zf==1){ if(dbuf[1]=='0'){ dbuf[0]=' ';dbuf[1]='-';}elsedbuf[0]='-';}else{ if(dbuf[0]=='0'){ if(dbuf[1]=='0')dbuf[1]=' ';dbuf[0]=' ' ;}}dbuf[5]='C';LCD_DispStr(0,3,4,dbuf);}文件自动打铃系统.C的清单如下:#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define KSET 0xe0#define KSET_LONG 0xe1#define KINC 0xd0#define KDEC 0xb0#define KDOWN 0x70#define AT24C02 0xa0#define PCF8563 0xa2extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no);extern bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no);extern void LCD_DispIni(void);extern void LCD_DispFill(uchar filldata);extern void LCD_DispChar(bit color,uchar cy,uchar cx,char dispdata); extern void LCD_DispStr(bit color,uchar cy,uchar cx,char *disp_str); extern void LCD_DispHZ(uchar cy,uchar cx,uchar dispdata);extern void LCD_DispHZStr(uchar cy,uchar cx,uchar *disp_str);extern void gettemp(void);extern void Help(void);sbit SOUND=P1^5;uchar th,tl;uchar tiee;uint code tab1[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217};/*uchar code tab3[]={0x42,0x82,0x82,0x82,0x84,0x02,0x72,0x62,//兰花草0x72,0x62,0x52,0x48,0xb2,0xb2,0xb2,0xb2,0xb4,0x02,0xa2,0x82,0xa2,0xA2,0x92,0x88,0x82,0xb2,0xb2,0xa2,0x84,0x02,0x72,0x62,0x72,0x62,0x52,0x44,0x02,0x12,0x12,0x62,0x62,0x52,0x44,0x02,0x82,0x72,0x62,0x52,0x32,0x48,0x00};*/uchar code tab3[]={0x64,0x64,0xa4,0xa4,0xb4,0xb4,0xa4,//小星星0x94,0x94,0x84,0x84,0x74,0x74,0x64,0xa4,0xa4,0x94,0x94,0x84,0x84,0x74,0xa4,0xa4,0x94,0x94,0x84,0x84,0x74,0x64,0x64,0xa4,0xa4,0xb4,0xb4,0xa4,0x94,0x94,0x84,0x84,0x74,0x74,0x64,0x00};uchar max[3]={24,60,60};uchar time[3]={05,50,55};uchar idata sbuf[5];uchar hzmsg[7]={0,1,2,3,4,5,0xff};uchar idata alatime[16][2]={{6,00},{6,46},{6,47},{6,48},{10,05},{10,45},{11,40},{13,30},{14,10},{14,50},{15,20},{16,00},{16,40},{17,20},{19,30},{21,00}};bit mk;void delay(uchar t){uchar i;while(t--)for(i=0;i<250;i++);}uchar HexBcd(uchar hex){return (((hex/10)<<4)|(hex%10));}uchar BcdHex(uchar bcd){uchar hex,hex1;hex=bcd&0x0f;hex1=(bcd>>4)*10;return (hex+hex1);}uchar Locate(void){uchar n;n=0;while(n<16){if(time[0]<alatime[n][0])break;else if((time[0]==alatime[n][0])&&(time[1]<=alatime[n][1])) break;n++;}if(n==16)n=0;return (n);}void LCD_DispDat(bit color,uchar cy,uchar cx,char dat){uchar str[3];str[0]=dat/10+0x30;str[1]=dat%10+0x30;str[2]=0;LCD_DispStr(color,cy,cx,str);}uchar GetKey(void){uchar key;uchar t;if((key=P2&0xf0)==0xf0)return 0xff;for(t=0;t<5;t++)delay(5);if((key=P2&0xf0)==0xf0)return 0xff;while((P2&0xf0)!=0xf0){delay(5);if(t<250)t++;}if((t>100)&&(key==0xE0))return 0xE1;return key;}void DispTime(void){LCD_DispDat(0,2,4,time[0]);LCD_DispChar(0,2,6,':');LCD_DispDat(0,2,7,time[1]);LCD_DispChar(0,2,9,':');LCD_DispDat(0,2,10,time[2]);}void DispAla(bit color,uchar no){LCD_DispDat(color,4+no%4,8,alatime[no][0]);LCD_DispChar(color,4+no%4,10,':');LCD_DispDat(color,4+no%4,11,alatime[no][1]); }void DispPage(uchar page){uchar i;for(i=0;i<4;i++){LCD_DispChar(0,4+i,3,'(');LCD_DispDat(0,4+i,4,page*4+i+1);LCD_DispChar(0,4+i,6,')');DispAla(0,page*4+i);}}void ReadTime(void){IRcvStr(PCF8563,0X01,sbuf,4);time[0]=BcdHex(sbuf[3]&0x3f);time[1]=BcdHex(sbuf[2]&0x7f);time[2]=BcdHex(sbuf[1]&0x7f);}void SetTime(void){sbuf[0]=HexBcd(time[2]);sbuf[1]=HexBcd(time[1]);sbuf[2]=HexBcd(time[0]);ISendStr(PCF8563,0X02,sbuf,3);}void SetAla(uchar i){sbuf[0]=HexBcd(alatime[i][1]);sbuf[1]=HexBcd(alatime[i][0]);ISendStr(PCF8563,0X09,sbuf,2);}void EditTime(void){uchar col=0;uchar k;ReadTime();DispTime();LCD_DispDat(1,2,4,time[col]);while(1){k=GetKey();if(k==KINC){time[col]++;if(time[col]==max[col])time[col]=0;LCD_DispDat(1,2,4+col*3,time[col]);}else if(k==KDEC){time[col]--;if(time[col]==0XFF)time[col]=max[col]-1;LCD_DispDat(1,2,4+col*3,time[col]);}else if(k==KSET){LCD_DispDat(0,2,4+col*3,time[col]);col=(col+1)%0x03;LCD_DispDat(1,2,4+col*3,time[col]);}else if(k==KSET_LONG){LCD_DispDat(0,2,4+col*3,time[col]);SetTime();break;}}}void EditAla(void){ uchar no=0;uchar col=0;uchar k;DispPage(0);LCD_DispDat(1,4+(no%4),8+col*3,alatime[no][col]);while(1){ k=GetKey();if(k==KINC){ alatime[no][col]++;if(alatime[no][col]==max[col])alatime[no][col]=0;LCD_DispDat(1,4+(no%4),8+col*3,alatime[no][col]);}else if(k==KDEC){ alatime[no][col]--;if(alatime[no][col]==0xff)alatime[no][col]=max[col]-1;LCD_DispDat(1,4+(no%4),8+col*3,alatime[no][col]);}else if(k==KSET){ LCD_DispDat(0,4+(no%4),8+col*3,alatime[no][col]);col=(col+1)&0x01;LCD_DispDat(1,4+(no%4),8+col*3,alatime[no][col]);}else if(k==KDOWN){ LCD_DispDat(0,4+(no%4),8+col*3,alatime[no][col]);no++;col=0;if(no==16) no=0;if(no%4==0)DispPage(no/4);LCD_DispDat(1,4+(no%4),8,alatime[no][col]);}else if(k==KSET_LONG){ for(no=0;no<4;no++){ ISendStr(AT24C02,no*8,&alatime[no*4][0],8);delay(20);}no=0x55;ISendStr(AT24C02,0xff,&no,1);break;}}}void int0(void) interrupt 0{ mk=1;}void timer0(void) interrupt 1{TH0=th;TL0=tl;SOUND=~SOUND;}void timer1(void)interrupt 3{TH1=-50000/256;TL1=-50000%256;tiee--;}void main(void){ uchar mm;uchar c;uchar i;uchar j=1;uchar k;mk=0;TMOD=0x11;TH0=-50000/256;TL0=-50000%256;ET0=1;ET1=1;TR1=1;EA=1;IT0=1;EX0=1;LCD_DispIni();LCD_DispHZStr(0,1,hzmsg);DispTime();gettemp();IRcvStr(AT24C02,0xff,&i,1);if(i==0x55)IRcvStr(AT24C02,0x00,&alatime[0][0],32);sbuf[0]=0;sbuf[1]=0x13;ISendStr(PCF8563,0x00,sbuf,2);SetTime();sbuf[0]=0x82;sbuf[1]=1;ISendStr(PCF8563,0x0e,sbuf,0x02);delay(20);i=Locate();DispPage(i/4);DispAla(1,i);SetAla(i);while(1){k=GetKey();if(k==KSET){EditTime();i=Locate();DispPage(i/4);DispAla(1,i);SetAla(i);}else if(k==KSET_LONG){EditAla();i=Locate();DispPage(i/4);DispAla(1,i);SetAla(i);}else if(k==KDOWN){j++;if(j%2==0){Help();EA=0;LCD_DispIni();LCD_DispHZStr(0,1,hzmsg);DispTime();gettemp();i=Locate();DispPage(i/4);DispAla(1,i);EA=1;j++;}else{LCD_DispIni();LCD_DispHZStr(0,1,hzmsg);DispTime();gettemp();i=Locate();DispPage(i/4);DispAla(1,i);EA=1;}}if(mk==1){ReadTime();mk=0;DispTime();if(TR0==0) gettemp();sbuf[0]=sbuf[0]&0xfb;ISendStr(PCF8563,0x01,sbuf,1);if(sbuf[0]&0x08){sbuf[0]=sbuf[0]&0xf7;ISendStr(PCF8563,0x01,sbuf,1);DispAla(0,i);i++;if(i==16) i=0;if(i%4==0)DispPage(i/4);DispAla(1,i);SetAla(i);mm=0;while(tab3[mm]){c=tab3[mm]>>4;if(c!=0){th=tab1[c-1]>>8;tl=tab1[c-1]&0xff;EA=0;TH0=th;TL0=tl;TR0=1;EA=1;}else{TR0=0;SOUND=1;}tiee=(tab3[mm]&0x0f)*2;while(tiee!=0);mm++;ReadTime();DispTime();}}TR0=0;}}}6元器件明细表元件规格数量TG12864B液晶模块128x641Led发光二极管slr4晶振11.0592 MHZ3电容10uf1330uf1二极管10三极管pnp6电阻 4.7k1110k61023蜂鸣器8Ω、0.5W2单片机sst89es8rd1开关按键开关164线与门74LS2127.调试过程(1)首先要确保液晶屏的正常显示,如果程序运行时液晶屏没有显示,应仔细检查液晶屏控制线的连接是否与程序中的定义一致。