- Feb17
-
作者:周兴华 来源: www.zxhmcu.com
本文为周兴华老师发表过的作品,如需转载,请注明作者姓名及出处!
常见的单片机定时控制器,虽具有定时准确,更改定时方便等特点,但也有致命缺点,断电后再来电,不仅走时不对,而且设置的定时值也丢失。单片机论文对于一般家用只需设置1~2个定时点,则重新设置一下也较快。但对于定时值设置量很多的场合,如学校的作息打铃,工业生产的多时段程控(需设置几十~上百个定时值),恐怕就十分麻烦了。
本文介绍一种使用Atmega16高速单片机构成的定时控制器系统,利用单片机内部的EEPROM,设置完定时值后将其存入内部EEPROM,不怕掉电。一旦掉电后再来电时,只需重新校准走时,而之前设置的所有定时值不必再重设,系统会自己从EEPROM中读出。上海FPGA/CPLD培训
电路构成
由Atmega16单片机构成的定时控制器电路见图1,相当简洁。单片机的时钟频率为1MHz,PA口输出数据码,PB0~PB4输出位码。5个数码管中,左边2个显示“时”,右边2个显示“分”。上海protel培训走时过程中:中间数码管的a、c段闪烁,作“秒”闪,设置过程中,作设置功能指示,如:显示1表示可校走时的“时”;显示2可校走时的“分”;显示3可设置定时1的“时”;显示4可设置定时1的“分”;……。PB0~PB3外接4个轻触键,其中“SET”为功能设定键,“+”、“-”为输入数据的增、减键,“OK”为确认键。PB7输出的信号经三极管VT1放大后驱动继电器K动作。整个系统由7805三端稳压器输出的5V电压供电。
图1
软件设计
图2为主程序及定时器0中断程序、定时器1中断程序的状态流程。上海AVR单片机培训主程序在上电时进行初始化,包括从中读取设置的定时值等。无限循环过程中,不断扫描按键的状态。
2个定时中断程序,其中T0定时中断用于时钟计时,T1定时中断用于刷新数码管的显示。

原创文章请注明转载自老傅宁波SEO博客,本文地址:http://www.hlelectron.com/blog/post/15.html

- 评论:(0)
- 引用通告
【已有0位网友发表了看法】点击这里获取该日志的TrackBack引用地址