基于PIC12F675单片机的可编程多功能时间继电器的设计
基于单片机的倒计时器(计数器)课程设计)
基于单片机的倒计时器(计数器)课程设计) 湖南文理学院课程设计报告课程名称:单片机原理课程设计学院:电信学院专业班级:自动化07101学生姓名:王维指导老师:张晓虎完成时间:报告成绩:评阅意见:评阅教师日期I倒计时器设计II倒计时器目录目录1摘要3ABSTRACT ........................................................... (4)第一章设计要求与方案确定 (5)1.1设计意义 (5)1.2 设计要求 (5)1.3方案确定 (5)第二章硬件电路62.1 单片机概述 (6)2.1.1 单片机基础 (6)2.1.2单片机与单片机系统 (7)2.1.3 单片机的产生与发展 (7)2.2 MCS-51 系列单片机介绍 (8)2.2.1 80C51 芯片介绍 (8)2.2.3 最小系统 (9)2.2.4 定时与中断的概念 (10)2.4LED显示电路设计与器件选择 (12)2.4.1.LED显示器的选择 (13)2.4.2LED驱动芯片选择 (13)2.5按键电路设计 (13)2.6蜂鸣器电路的设计 (14)第三章倒计时器的设计153.1倒计时器系统设计方案及框图 ........................................... 15 3.2程序设计 (15)3.2.1主程序设计 (15)3.2.2倒计时模块设计 (17)3.2.3键盘扫描数码管显示程序 ............................................ 17 1倒计时器第四章倒计时器设计仿真184.1设置倒计时初值 (18)4.2开始倒计时 ........................................................... 18 4.3倒计时结束并报警 .. (18)总结 ..................................................................... .. 20参考文献 ...................................................................21致谢 ..................................................................... .. 22附录1 倒计时器设计源程序 (23)附录2 所用元器件清单 (23)2倒计时器摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。
基于PIC12F675的辊轮式送粉器控制系统开发
pw e o xei n hw a tecnrlyt a ci es bepw e o .[ h7f . e. o dr wepr t o sht ot sm cnahe t l o dr w c , g6r ] l f me s t h os e v a l f i f
Ke r :a e ld i y wo ds l s rc a d ng;p wd rf e e ;MCU ;fo c nr l o e e d r l w o to
( . h EK yL brt yo pca P roeE up n adA vne ciigTc nl y 1T eMO e aoa r f ei u s q i o S l p met n d acdMahn eh oo , n g
Z e a gU i ri f e h o g , n gh u 3 0 1 , hn ; . n ier gR sac e t f rcs q im n n h j n n es y o c n ly Ha z o 1 0 4 C ia 2 E g ei ee rhC ne o o e s up e t d i v t T o n n r P E a
fe e ,t e s n o o o e d r h e s r fr p wde o r f w,t e d sg fa lf r cr u t n s f r o c a t r lo i to u e . Th l h e in o mp ii ic i,a d o wa e f w h r e t l we e as n r d c d e
测试表 明该控 制器能够较好地 实现辊轮式送粉 器的粉末输送控制功 能。图 7参 6
关 键 词: 激光熔覆 ; 送粉器 ; 单片机 ; 流量控制
低功耗单片机PIC12F675在引信定时电路中的应用
l s e t G P [ 5 , 4 , 2 , 1 , o ] a s o u t p u t s
・ c a l i b r a t e o s c ll f a t o r
进行了改进设计 , 并增加上电延迟功能, 防止电路板在上 电瞬间因电路的工作 状 态不 稳定 而 出现 误动 作 , 适 当 增加 电路 板的 电流 输出 , 引信点火 电路 的 点火 电流 能够 达 到5 0 0 mA, 最 低不 低于 4 0 0 mA, 远 大 于2 5 0 mA可靠 起 爆 电流 。
mo v wf b s f
mo v l w
GP I O S TATUS, 5
0 x0 8
I n i t GPI O
mo v wf mo v l W mo v wf b c f
TRI S I O 0 X f C OS CCAL STATU S, 5
GPI O4 =0
GPI O2 =0
器/ 计数 器 、 1 个1 6 位定 时器 / 计数 器 。 其引脚示意如图1 所示: 其引脚说明如表l 所示 : 2 . 工作 原 理 引信定时起爆电路采用的微功耗P I C 芯片、 六反相器外加电阻等构成定时 信号产生电路 , 产生3 0 秒、 6 0 秒, 9 O 秒、 1 獬 4 种定时信号, 通过波段开关选择需 要 的定 时信 号 , 与 门 电路 由三 极 管和 电阻组 成 , 将拉 发保 险板 提供 的拉 发信 号 和定时 电路输出的定时信号形成“ 与 的关系后输出, 驱动点火电路 t 点火电路 由三极 管 . 电容 、 电阻构成 , 为 电雷管点 火提 供足 够 的起爆 电流 , 同时具 备上 电 钳位 功 能 , 防止上 电时三极 管 意 外导 通 , 触 发 电雷 管 动作 。 3 . 硬 件 电路 单 片机P I C 1 2 F 6 7 5 的作 用是 提供 延 时信 号 , 延 时输 出信 号为 低 电平有 效 - 反相  ̄ # S N 5 4 HC 0 4 J 的作 用是 将 单片 机输 出的低 电平 信号 变换 为 高 电平信 号 , 增强 信号 的输 出能力 , 且 对单 片机有 隔离 作用 , 电阻排 的作 用是作 为上 拉 电阻。 4 . 定 时程 序 由于定时计数子程序的定时时间是0 . 5 s , 因此3 循环段的计数= 3 / 0 . 5 s = 6 O N, 定 时计数 器 的初 值设 置 为 : 3 0  ̄ = 0 x 3 C, 经工程 样 机实 际测 试 , 定 时
用PIC12F675单片机制作的太阳能路灯控制器_电路图
用PIC12F675单片机制作的太阳能路灯控制器_电路图用PIC12F675单片机制作的太阳能路灯控制器_电路图下图是用:PIC12F675单片机制作的太阳能路灯控制器电路。
PI C12F675是8引脚单片机,具有6个I/0口,自带内部RC振荡器(振荡频率为4MHz)、4路10位A/D转换器、一路比较器,该控制器性能稳定、可靠,耗电低。
1.工作原理PIC12F675控制蓄电池的过充电、过放电,开、关路灯功能,定时点亮、天黑自动点亮、延时点亮、自动跟踪点亮等功能,路灯点亮测试控制功能,LED指示功能等。
由蓄电池BTl、蓄电池过充电控制执行场效应管01、三端稳压器U1组成电源供电系统;Q2、Q4.组成放电控制;K1手动,R_GM1光控自动开灯系统,蓄电池分压电阻,发光指示二极管等部分组成。
太阳能电池板电压由接口J3输入。
经防反充二极管D1后分成两路,一路经U1LM78L05稳压后,为PIC12F675单片机提供工作电源,另一路经FB保险丝给蓄电池充电。
单片机上电后,首先由Rf、Cf组成的硬件电路进行复位。
然后由软件控制U2③脚GP4输出高电平,让Q4导通、Q2截止,控制系统停止放电,再检测U2⑦脚GP0上的分压值,通过内部A/D转换及软件运算间接检测、判断蓄电池是否欠压、过压。
若蓄电池发生过充电,则通过软件控制U2②脚GP5输出高电平,使Q1导通。
短路太阳能电池板、停止向蓄电池充电,同时点亮“过充电”指示灯LED2;若未发生过充电,则U2②脚GP5输出低电平,允许蓄电池充电。
通过检测U2⑥脚GP1所接的光敏电阻R_GM1上的分压值,判断是否已经“天黑,到了开路灯时间”,若到了预设的开灯点,则由软件控制u2③脚GP4输出低电平,使Q4截止、02导通,点亮路灯。
若不到开灯点,则程序返回,循环检测上述诸参数。
K1是手动开灯按钮。
按下K1,路灯点亮。
单片机通过检测光敏电阻R_GM1上的分压值,判断是否“天黑”,若是天黑。
用PIC12F675实现直流电机控制
用PIC12F675实现直流电机控制引言当前小型要求不太高的调速装置,如晒图机,用可控硅相位控制,供给直流电机。
还使用双基极管,以产生脉冲。
用一片单片机取代上述控制现在成为可能。
生产中不用调试,增加许多功能,如零位起动(去掉了外部硬件连锁)、可选速度上升时间等功能。
使系统操作维修方便,运行可靠。
直接电机控制电路示于图1。
PIC12F675有6个I/O,现用4个。
设定GP1为A/D输入,作为速度给定口,现用电位器0—5V输入。
设零中断输入口,接到产生过零脉冲A定GP2为电压过处。
设定GP3和GP5为一般I/O,GP3为开停机输入口,接到开关上。
GP5为脉冲输出口,经电阻接到触发三极管基极上。
触发的控制方法:在全波整流器输出端,电容滤波前,用三极管取出过零脉冲。
GP2中断,对半周波记时器(相角计数器)清零。
表示相角计数器从零开始,再使用TMR0溢出100µs中断(当然也可以再小些,以增加角度的分辨率),在中断中对半周波计时器加1,和比较相角的给定,是否相等?如相等,发脉冲的允许信号为ON,脉冲一直发到半周波结束。
发多脉冲的原因,是直流电机的特殊要求。
在0—90度相角,反电势大于电源电压时,发触发脉冲也触发不了可控硅。
用一个脉冲触发不了可控硅。
必须等到电机速度下降,反电势小于电源电压时才能触发可控硅,产生电流跳动,转速跳动。
用多脉冲触发时,第一个不能触发第二个第三个……自适应有效的触发。
速度上升时间控制:用一个跟随量与半周波记时器比较如相等,发脉冲的允许信号为ON,跟随量跟随速度给定。
跟随的方法是按照用户的要求设定,定时的大小,定时进入比较,对跟随量加减1控制。
还可以设定起始的爬行速度,高速度限幅等。
此电路应用于晒图机,去掉了外部硬件零位起动连锁,起动时间符合要求,运行平稳。
基于单片机控制的多功能计时器系统的设计与实现毕业设计_说明
第一章系统的总体设计1 . 1功能要求本系统要求能能完成电子时钟显示,调整,节能运行,电子秒表记数等多种功能,由按键电路或遥控电路完成功能的设置,秒表/时钟计时器要求用六位LED数码管显示时、分、秒,以24h(小时)计时方式。
使用按键开关或遥控开关可实现时分调整、秒表/时钟功能转换、省电(关闭显示)等功能。
1 . 2方案论证为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。
由于静态显示法需要数据锁存器等硬件,接口复杂一些。
考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定采用动态扫描法实现LED的显示。
单片机采用易购的AT89C51系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能,如考虑到要使用电池供电的话,则可采用LV系列单片机。
硬件系统的总体构成框架如图1所示。
图1 单片机控制的多功能计时器系统的设计总体框图1 . 3系统总体设计本单片机控制的多功能计时器系统,采用单片机作为控制核心,具有控制灵活,简单可靠,造价便宜等诸多优点。
单片机虽然是一个五脏俱全的计算机,但由于本身无开发能力,必须借肋开发工具来开发应用软件以及对硬件系统进行诊断。
因此,我们要研制一个较完整的单片机产品时,必须完成以下几步工作:硬件电路设计、组装、调试应用软件的编制、调试应用软件的链接调试、固化、脱机运行(即脱离开发装置)。
本单片机控制系统的开发过程包括总体设计、硬件设计、软件设计等几个阶段,但各阶段不是绝对分开的,有时是交叉进行的。
本系统在设计上特点有如下所示1)系统硬件结构结合应用软件方案一并考虑。
因为硬件结构与软件设计方案会产生相互影响,我们考虑的原则是:软件能实现的功能尽可能由软件来实现,以简化硬件结构。
但必须注意如用软件来实现的硬件功能,其响应时间要比直接用硬件来实现花的时间长,而且占用CPU时间。
因此,选择软件方案时,要考虑到这此因素。
2)整个系统中相关的器件要尽可能做到性能匹配。
基于单片机的多用途定时器的设计与实现
基于单片机的多用途定时器的设计与实现The Design&Implementation of All-Purpose TimerBased on Monolithic Processor淄博大学计算机科学与工程系(淄博255000) 张景元 【摘要】 设计了一种以AT89C51为核心、结构紧凑和功能齐全的多用途定时器。
它可通过小键盘输入任意定时时间,最大可定时10h,能满足各种层次答辩、各种赛事以及某些特殊定时需要。
文章对其结构作了介绍。
关键词:AT89C51,定时器,Intel8279,Intel 8253【Abstract】 T his paper dev ises a all-purpose timer bases on the AT89C51,it has advantages of the com pact configuration and complete functio n, besides it is capable o f tim ing10hour,and adapts oneself to div er sified need.It has functio n of the displaying count dow n and can provide function of so und-lig ht w arning.T he paper presents its co nfiguratio n.Key words:AT89C51,Timer,Intel8279,Intel 82531 引 言“定时器”总的来说有两种类型。
其一是基于模拟技术的传统产品,这种定时器功能简单,尽管曾被广泛应用过,但已进入淘汰之列。
另一种就是基于数字技术的新一代产品,这种产品功能强,是前者的换代之物。
然而,此类产品大多是较大型的设备,真正实用、携带方便、功能齐全的“大路”商品则就不多见了。
pic12f675单片机学习程序2
pic12f675单片机学习程序2//将INT处的短路帽插上,注意led处的短路帽‘2’和‘3’ 要拔掉 ;led 处的短路帽‘1’要插上 ;//RST处的短路帽要插上//实验现象,上电后,led0先是亮,然后每按一次 INT处的按钮 LED0的状态都会改变一次(即一次暗一次亮)//引用头文件#include<pic.h>#define u8 unsigned char#define u16 unsigned intvoid yanshi(void) //延时子函数{u8 i;u16 j;for(j=2435;j>0;j--){for(i=100;i>0;i--){;}}}void interrupt GP_int0(void){static u8 i=0;if(1 == INTF){if(0==i){GPIO0=1;i=1;}else{GPIO0=0;i=0;}INTF=0;}}void init(void) {CMCON=0X07;//比较器关闭ANSEL=0X00;//设GP0到GP3都为数字IO口OPTION=0X80;//禁止GPIO上拉TRIS0=0;//GP0口设为输出INTE=1;//使能GP2的外部中断yanshi();//延时一段时间,防止上电误动作INTF=0;//清一下中断标志GPIO0=0;//先点亮LED0GIE=1;//全局中断使能}void main(void) {init();while(1){;}}//tmer0 查询方式实现1s的定时// led0 每1秒闪烁一次(查询方式) //选用内部晶振 4M//把0处短路帽按上//引用头文件#include<pic.h>//符号变量替换#define u8 unsigned char#define u16 unsigned int#define led GPIO0//用c语言嵌套汇编来实现“喂狗” #define clrwdt() asm("CLRWDT") //全局变量的声明u8 n=0;void init(void){CMCON=0X00;//比较器关闭ANSEL=0X00;//设GP0到GP3都为数字IO口OPTION=0X07;//禁止GPIO上拉定时器0 预分频为 1:256 TRIS0=0;//GP0口设为输出TMR0=156;//每39次溢出是1S }void tmer0(void) {if(T0IF==1){n++;TMR0=156;T0IF=0;if(n==39){led=0;}if(n==39*2){led=1;n=0;}}}void main(void){init();//初始化while(1)//循环{clrwdt();tmer0();}}//tmer0 中断方式实现1s的定时// led0 每1秒闪烁一次(中断方式)//选用内部晶振 4M//把0处短路帽按上//引用头文件#include<pic.h>//符号变量替换#define u8 unsigned char#define u16 unsigned int #define led GPIO0 //用c语言嵌套汇编来实现“喂狗”#define clrwdt() asm("CLRWDT")//全局变量的声明u8 n=0;void init(void){CMCON=0X00;//比较器关闭ANSEL=0X00;//设GP0到GP3都为数字IO口OPTION=0X07;//禁止GPIO上拉定时器0 预分频为 1:256 TRIS0=0;//GP0口设为输出T0IF=0;T0IE=1;GIE=1;TMR0=156;//每39次溢出是1S}void interrupt tmer0(void) {if(T0IF==1&&T0IE==1){n++;TMR0=156;T0IF=0;if(n==39){led=0;}if(n==39*2){led=1;n=0;}}}void main(void){init();//初始化while(1)//循环{clrwdt();}}//tmer1 中断方式实现1分钟的定时//由于是使用PIC12F675 的内部晶振,内部晶振不是很精确,所以1分钟延时的误差在+/-6秒之内都是可以接受的。
PIc单片机直流电机控制器的设计和应用
三 、基 于 P I C 单 片机 技术 的直 流 电机 控 制器 设 计与 应用 ( 一) P I c 单 片 机 直 流 电 机 控 制 器 系 统 结 构 介绍 在 直流 电机 多速 控 制 器 系 统 中 ,P I c 单 片 机 扮 演 的 是 整 个 系 统 控 制 核 心 的 角 色 ,利 用 键 盘 对 每 一 段 的 运 行 参 数 ,诸 如 键 盘 输 入 电 路 、 电源 电路 、基 准 电压 电路 、D / A 转 换 电路 、 显 示 电 路 等进 行 设 计 ,此 次研 究 中使 用 数字 M R 编码 器 , 型 号 为 L,分 辨 率 为 1 0 2 4。 由于 在 实 际 运行 中 单片机I / o口 的 限 制 , 额 外 增 加 了 外 围 硬 件 确保 对 于 运 行过 程 中 的段 位进 行 显示 , 同时在 设定 时 间 、转速 以及 实 际测 量转 速 上 做 到有 效 的干 预 。该 系 统运 用R S 一 2 3 2 串 行 通 信 ,波 特 率 设 定 在 1 9 2 0 0 0 b p s ,系 统 的 构 成 方 式 为4 * 4 行 列 式 键盘 ,其 中包 括 数 字键 为0 ~9 、设置 键 、确认 键等 等 。 ( 二) 基 于P I C 单 片 机 技 术 的直 流 电机 控 制器 的实 际应 用
…
…
…
…
…
…
…
…
…
…
一
皇 蕉 一 一 -
PI C革 片 讥 直 琉 电 讥 控 { } ; j 器 的 设 计 和 应 用
浙江一舟 电子科技 股份 有限公 司 赵 晓青
【 摘 要 】本 文 旨在 于 通过 对 现 实 应 用 效 果 的分 析 , 向广 大 读 者传 递 出P I C单 片 机 直 流 电 机 控 制 器 不 仅 仅 能 够 满 足 应 能 指 标 的 设 计 要 求 ,更 可 以顺 利 实现 高精 度 多速
基于PIC12F675的人体探测器的设计
基于PIC12F675的人体探测器的设计摘要:本文针对常用人体探测器不能正确检测人体的移动方向、易受干扰等缺陷,提出了一种新型的人体探测器设计方法。
该新型探测器主要应用于办公室、实验室等场所,用于提高工作效率和安全性等。
实验结果表明,该系统可靠性高,反应速度快。
关键词:红外线;人体探测器;移动方向;PIC12F675引言现在,很多实验室出于保密性、安全性等原因考虑,常常将实验室从内到外隔成多个小实验室,当相关人员都在聚精会神地工作时,可能出现外面实验室门敞开而实验室内没人的情况,这可能导致不可预料的后果。
为避免上述问题,需要在类似场合安装能检测人员进出的探测器,当有人进门或者出门时候能够发出不同的语音信号,以提示相关人员。
现在用于检测人员进出的探测器主要采用热释红外传感器。
人体能够发射10μm左右的红外线,热释红外传感器就是靠接收这种红外线而进行工作的。
这种探测器功耗小,隐蔽性好,价格低廉,但也具有以下缺点:①不能判断人员流动方向;②探测器穿透力差,人体的红外辐射容易被遮挡,不易被探头接收;③探测器容易受热源、光源、射频辐射等干扰;④环境温度和人体温度接近时,探测器灵敏度明显下降,可能造成探测器短时失灵。
针对上述探测器的缺点和应用场所的特殊性,本文提出采用红外线技术,用PIC12F675作为检测和控制核心,设计了一款新型的人体探测系统。
设计思想办公室中人们通常的进出门方向所示。
沿着进门的方向,安置两组红外线发射接收装置:第一组红外线发射管x 与红外线接收管x’,第二组红外线发射管y与红外线接收管y’,其中红外线接收管x’和y’要分别正对发射管x和y。
正常情况下,红外接收管不间断地接收来自红外发射管的红外光。
当有人通过发射管及接收管所构成的警戒线,挡住了红外线发射管,从而使接收管中断接收发射管的红外线信号,引起进入CPU的电平变化,CPU检测到此变化引起中断,将平时处于睡眠状态的CPU唤醒,并对中断进行判断,产生相应的动作。
单片机的多功能定时器设计实施方案与实现
目录1 引言12 概述22.1 定时开关电源插座系统概述22.2 本设计方案思路22.3 研发方向和技术关键32.4 主要技术指标33 总体设计43.1可控开关设计地选择43.2 时钟信号地实现63.3 译码方案地选取64 硬件设计104.1可控开关电路124.2电平转换电路124.3单片机系统电路144.4 显示电路165 软件设计175.1 总体方案175.2 主程序流图175.3 中断模块说明186 制作与调试196.1 硬件电路地布线与焊接196.2 调试206.3 改进与扩展207 结论21致谢23参考文献23附录241.引言随着电子技术和电源技术地发展,开关电源以体积小、重量轻、功率密度大、集成度高、输出组合便利等优点而成为电子电路电源地首选.定时开关电源插座,即可以定时打开或关掉电源地插座,这样既能省电又方便用户地个性化使用.实现定时开关电源插座地关键是如何实现定时,人类最早使用地定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新地计时工具来改进定时器,达到准确控制时间地目地.于今定时器得到广泛应用,现在地不少家用电器都安装了定时器来控制开关或工作时间;工业控制中常需要定时地装置,输出和采集信号;在军事方面制成了定时炸弹,定时雷管.当酷暑或严寒难耐时,人们需要合理地定时控制空调来节省有限地电能;如此等等.因此,我们拟从这些方向作进一步地研究探索.定时器有机械和电子两种,国外和国内都有非常大地市场.机械式采用同步电机计时,成本低,但走时精度差、寿命短;电子式采用液晶显示,时间精度高、寿命长,但操作复杂、成本高.特别是精度要求高地控制系统和数据采集系统,更要求精确地定时操作.马来西亚产地新一代HT高精密可编程电子定时开关插座由一体化可编程时钟集成电路和大功率继电控制电路组成,它可实现对各种没有定时装置地电器地定时控制.国内地这类定时开关插座地产品有由杭州菱洋节能设备有限公司生产地菱洋可编程多功能电子定时插座,它是一个以单片微处理器为核心配合电子电路等组成地一个电源开关控制装置.我国是一个人口大国,能源更是宝贵,而能源分析家和经济学家认为,中国已成为全球浪费电力地大户.我国正在建设节约型社会,节约能源应该成为这一重大举措地重中之重.基于此,本设计采用单片机定时功能应用在插座开关上,主要从单片机和可控开关,来设计实现开关电源定时系统,使其准确显示定时指示灯地亮灭,且能显示时钟精确到时分.该系统简单实用,操作简单,且定时器不用时可以当普通电源插座用,既具备传统地电源插座地功能,又能达到节省能源、优化资源地目地.以电热水器为例,我们所使用地电热水器,许多家庭为了方便使用热水,让热水器24小时通电,其中很大部分电能将消耗在电热水器地反复加热上.50升(1500瓦)地普通电热水器每3小时自动加热30分钟,每天加热时间是240分钟,耗电6度,其中4度电是属于有效电耗,剩下地就是在反复加热中耗去地电,属无效耗电.如果把电热水器地电源插头连接到自动开关插座上只需用前通电,可实现节电2度,而且可以使热水在最高温度状态下投入使用,大大提高了能量使用效率.2概述2.1定时开关电源插座系统概述本文设计地定时开关电源插座电路系统[1]主要是利用单片机P89V51RD2FN 作为主控制元件,通过外围电路控制可控开关地通断以达到定时开、关地目地.P89V51具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作集成度较高地控制电路.通过键盘键入程序控制可控开关和译码器来实现数码管地显示.主板电路包括MCU P89V51 、键盘与显示、输入与输出口、可控开关和稳压等电路组成.2.2本设计方案思路本设计实现通过定时电路来控制电源插座开关地通断,和时钟电路地显示为主要目地;以时钟信号地检测,信号控制,信号译码和数据显示为主要设计内容.定时器是本设计系统中地重点,时间控制器(即定时器)既可以通过纯硬件实现,也可以通过软硬件结合实现,根据时间控制器地核心部件—秒信号地产生原理,通常有四种形式,如下所述.(1)采用石英钟专用芯片地实现形式采用石英钟专用芯片地实现地时间控制器,具有实现简单、计时精度高地特点.石英计时芯片比较多,常用地型号有STP5512F、SM5546A和D60400等.如结合利用5512F地2秒输出信号作为秒信号电路地计数脉冲,可实现电子时钟.(2)采用NE555时基电路地实现形式采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路地时钟信号或微处理器地外部中断输入信号,可构成时间控制器.由555构成地秒脉冲发生器电路[2]如图1-1所示.输出地脉冲信号Vo地频率f=1.443/(Ra+2Rb)*C,可以通过调节这3个参数,使输出Vo地频率为精确地1HZ.但这类定时器精度低,脉冲周期由外接地电阻和电容决定,常用于旋转灯光控制等.(3)采用单片机常用地时钟芯片以前,通常采用并行地实时时钟芯片计时、EEPROM作为存储器,但对一些微小型智能控制设备而言,并行实时时钟芯片封装形式大,再加上EEPROM,占用扩展线多,使电路结构很难进一步简化.Dallas公司生产地串行实时时钟芯片DS1302[3]具有实时时钟和静态RAM,采用串行通信,可方便地与单片机接口.除了在工业控制中使用外,还可以应用到一般地时钟计数上.(4)用软件来实现定时通常利用单片机或多媒体或PLC内部地定时器,编写大量地源程序来设计,常称为软件定时器.电子定时器[4]可用一般数字电路搭建而成,一台四位数地定时器要用十多片数字电路组成,电路结构复杂、体积庞大,而且功能有一定地局限性.在进行定时电路设计时,如果需要定时地时间不是很精确且时间较短地话,往往采用555定时集成电路来实现.然而,若需要定时地时间较长(如1小时以上)则采用专用地集成电路定时器比较方便[5],而且使用定时器专用集成电路所设计地应用电路比较简单,同时调试也比较容易.本设计采用单片机作为主硬件电路,外围电路简单,配合软件设计,使用其灵活地编程实现定时,译码和时间显示等,使定时器插座可有更多地扩展功能选择.2.3 研发方向和技术关键(1)合理选取定时器方案,提高系统地精度;(2)交直流电压转换;(3)多路优先译码器地选取及扩展;(4)与微机连接进行程序地汇编输入,实现对定时功能地调试;(5)显示部分中数码管地四位一体共阴接法.2.4 主要技术指标(1)具有电子钟功能,显示为四位数(2)可设定定时起动(开始)时间与定时结束(关断)时间(3)定时开始,指示灯亮;定时结束,指示灯灭(4)定时范围可以选择(5)开关次数:≥2次/天(6)时钟日差:≤±2秒/天(7)工作温度范围:-10º~50º(8)工作条件:AC220V,10A,50Hz(9)使用范围:办公室电源开关、实验室电源开关等(10)插头插座孔型:插头国标三扁型3 总体设计单片机虽然种类繁多,但每片单片机内部结构都大同小异,均由控制器、运算器、存储器、输入端口、输出端口等组成.各个厂商制成了多种型号地单片机.任何一种单片机不论功能如何强大,都是通过其I/O口来发辉作用地,用户可根据所需来选择单片机地型号,引脚最少从8脚到近百脚地都有.本设计用单片机设计地体积小巧地定时器来控制电源开关插座地通电和断电,并还能作为一台数字钟使用实现时间显示.根据需要选用了一片40条引脚地P89V512FN单片机[6],属于飞利浦80C51系列单片机,带64KB闪存和1024字节RAM.并且P89V51系列单片机内部包含64位FLASH地ISP(在线可编程系统)和IAP(在应用编程).其设计地几个基本模块如下图3-1,包括:插头插座(孔型),控制开关,电平转换器,单片机系统,显示电路部分.图3-1 定时开关电源插座地设计原理框图3.1可控开关设计地选择本设计中地定时操作是通过可控开关收到外部电路地控制信号后延时通断地.其中延时实现方式分类一般按常规可分为以下几种:a、通电延时;b、接通延时;c、断电延时;d、断开延时;e、(间隔)定时;f、往复延时;g、星三角启动延时;h、程序式延时.3.1.1方案一选用普通晶闸管又叫可控硅,一种以硅单晶为基本材料P1N1P2N2四层三端器件,由于它特性类似于真空闸流管,所以国际上通称为硅晶体闸流管,简称可控硅T.又由于可控硅最初应用于可控整流方面所以又称为硅可控整流元件,简称为可控硅SCR.在性能上,可控硅不仅具有单向导电性,而且还具有比硅整流元件(俗称“死硅”)更为可贵地可控性.它只有导通和关断两种状态普通可控硅在电路中最基本地用途就是可控整流.大家熟悉地二极管整流电路属于不可控整流电路.如果把二极管换成可控硅,就可以构成可控整流电路.3.1.2方案二继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小地电流去控制较大电流地一种“自动开关”.故在电路中起着自动调节、安全保护、转换电路等作用.它是一种当输入量(电、磁、声、光、热)达到一定值时,输出量将发生跳跃式变化地自动控制器件.其中电磁继电器是在输入电路内电流地作用下,由机械部件地相对运动产生预定响应地一种继电器.电磁继电器地工作原理和特性如下:电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成地.只要在线圈两端加上一定地电压,线圈中就会流过一定地电流,从而产生电磁效应,衔铁就会在电磁力吸引地作用下克服返回弹簧地拉力吸向铁芯,从而带动衔铁地动触点与静触点(常开触点)吸合.当线圈断电后,电磁地吸力也随之消失,衔铁就会在弹簧地反作用力返回原来地位置,使动触点与原来地静触点(常闭触点)吸合.这样吸合、释放,从而达到了在电路中地导通、切断地目地.对于继电器地“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态地静触点,称为“常开触点”;处于接通状态地静触点称为“常闭触点”.还可选用时间继电器,时间继电器是一种利用电磁原理和机械原理实现延时控制地控制电器,一般可分为通电延时型和断电延时型两种类型.断电延时时间继电器里有延时常开接点、延时常闭接点、瞬时常开接点和瞬时常闭接点.其原理如下:当断电延时时间继电器地“线圈”断电开接点—时,延时常开接点——经过设定时间后断开;延时常闭接点——经过设定时间后接通;瞬时常开接点——立刻断开;瞬时常闭接点——立刻接通.3.1.3方案选取可控硅优点如下:无触点,开断无涌流,开端速度快,可以控制过零开断.缺点:成本高,控制相对复杂,容量小,功耗大,发热严重;继电器优点:技术成熟可靠,触点容量相对较大,成本低,几乎零功耗,发热量小.缺点:开断时会产生涌流,由于反应稍慢,无法用于很精细开断控制电路中,如移向调压等.综合考虑两种可控开关各自地优缺点,在本设计中最终是采用电磁继电器通断主电路,主要是考虑到继电器结构简单,消耗电能少体积小,成本低,且控制时动作快、可靠性好.这类继电器在制成电灯定时节电开关或电风扇地定时并调速开关或电热器地定时并调温开关,或电灯地定时并调光开关或通用地定时并调压插座都有广泛地应用.3.2时钟信号地实现在单片机地内部RAM中,需要设置显示缓冲区,显示地时分秒值是从显示缓冲区中取出地,在RAM中设置四个单元作为显示缓冲区,分别是7AH、7BH、7CH.为使电路和原理叙述方便,我们这里不显示秒值,秒地进位我们通过闪烁分值实现.这样我们一共有四位LED分别显示时和分值,同时时钟都需要校准地.在程序中还需设置显示码表,要显示地数值通过查表指令将显示用地真正码值送到LED 上.我们用单片机P89V51RD2FN[7]地P1.5,P3.6和P3.7这三个I/O口外接微动开关来实现时和分地校正,其中P1.5实现每按一次小时或分值加1,连续按下数值累计下去,实现时钟地校准.时钟地最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.0MHz 地晶振,即使按工作方式1工作,最大地计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms×8=1000ms)就得到最小地计时单位秒.而要实现8次计数用软件方法实现是轻而易举地.我们使用定时器1,以工作方式1工作,定时器进行125ms定时.采用中断方法进行溢出次数地累计,当计满8次即得到1秒地计时.一个时钟地计时累加,要实现分、时地进位,要用到多种进制,秒、分、时中地进位是十进制,秒向分进位和分向时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制.从秒到分和从分到小时可以通过软件累加和数值比较方法实现.3.3译码方案地选取本设计显示电路可分为三大块:键盘电路,输入端译码电路和输出控制端数码显示电路.显示电路端译码通过硬件译码或软件译码都可以实现.3.3.1方案一硬件译码,即上面地三大显示模块和显示段码完全由硬件电路设计实现,具体地硬件电路如下图3-2.对于相应地本系统中单片机,我们可选用简化地51系列单片机AT89C2051[7](20管脚),显示电路主要由七段共阳显示译码器74LS47、3线-8线译码器74LS138、4个PNP型三极管和四个数码管组成.通过AT89C2051地P1.4~P1.7口将要显示字符地BCD码输出到74LS47地四个输人端,然后译码并输出相应地笔段来驱动LED数码管(共阳).图3-2 硬件译码地电路实现图3-2电路图中数码管地低电平段选信号由P1口地P1.0~P1.6输出,其真值表见下表3.1.P1.7输出秒闪烁信号,P3口地P3.0、P3.1输出位选信号给74LS138.74LS138被选中地端口输出低电平,PNP三极管导通,对应地数码管点亮.P3.2、P3.3、P3.4、P3.5分别作“调时”、“调分”、“定时开”、“定时减”地功能按钮开关,P3.7输出控制信号,使双向可控开关通电或断电,控制“输出插座”接通或断开220V交流电,从而控制外接电器地工作状态.其中A/D转换器采用宽工作电压,单输入通道,串行I/O接口8位A/D转换器TLC548CP.表3.1 0-9显示真值表其中P3.2、P3.3、P3.4、P3.5分别作“调时”、“调分”、“定时开”、“定时减”地功能按钮开关;P3.7输出控制信号,使继电器线圈通电或断电,控制“输出插座”接通或断开220V交流电,从而控制外接电器地工作状态.数码管选用四位一体共阳接法,每个数码管由7段笔划组成,每段笔划由一只数码管点亮,其管压降为1.7-2.2V、电流5-20毫安.LED数码管显示采用动态扫描方式,见下图3-3.即在某一时刻,只有一个数码管被点亮.数码管地位选信号由AT89C2051地P3.3~P3.5输出,并经74LSl38译码后通过三极管放大,以驱动相应地数码管.本设计译码电路选取74LS138译码集成芯片,其管脚分布如下图3-4,用来驱动4个LED,从功能表上可以看出它地输出只有一个低电平,也就是可以用来用灌电流地方式进行驱动LED,工作电压Vcc=5V,输出可以直接连接LED,没有带来不稳定因素,当然实际中应该串接保护电阻,估计常用地200-300欧姆都可以.图3-3 LED动态扫描电路图3-4 74LS138地管脚分布图从总地设计可以看出,单片机地控制输出是通过P3.0~P3.2口完成地.当程序开始时,这三个口地输出状态都是低电平,AT89C2051通过程序查询三路输出地ON或OFF状态预置时间是否已到,若时间到,则改变相应地输出状态,以完成对外部电路地控制.3.3.2方案二软件译码,即上面地三大显示模块和显示段码完全由软件设计实现.对于硬件译码来说,扩展多片地外部程序存储器采用多片地ROM扩展时,其片选信号CS地处理方法若采用全硬件实现,优点是扩展地各个EPROM地地址空间可以是连续地,能得到64K地完整空间;缺点是电路结构复杂,需附加译码器电路,常用地如上面提到地74138.由于单片机本身具有较强地逻辑控制能力,采用软件译码并不复杂.其译码逻辑可以随意编程设定,不受硬件逻辑限制,同时还能简化硬件电路结构.因此,在单片机应用系统中使用非常广泛.综上,本设计LED译码和显示模块就是采用软件译码实现,程序编写用C语言.作为一种结构化地程序设计语言,C语言地特点就是可以使你尽量少地对硬件进行操作,具有很强地功能性、结构性和可移植性,常常被优选作为单片机系统地编程语言.用C 编写程序比汇编更符合人们地思考习惯,开发者可以摆脱与硬件无必要地接触,更专心地考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试地时间.C语言具有良好地程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化地程序设计方法,将功能模块化,由不同地模块完成不同地功能,这样可使整个应用系统程序结构清晰,易于调试和维护.不同地功能模块,分别指定相应地入口参数和出口参数,对于一些要重复调用地程序一般把其编成函数,这样可以减少程序代码地长度,又便于整个程序地管理,还可增强可读性和移植性.4 硬件设计本设计地硬件电路包括单片机P89V512FN电路、键盘输入与数码显示输出、信号输入与输出口、三孔扁平插座,可控开关和稳压器等电路组成.具体主要有三个模块:单片机控制数码显示模块;插座串接继电器模块;AC/DC5V输出稳压模块(如下图4-1).随着外加220V/50HZ地交流电加到插座地同时,AC/DC实现电压交直流地转换,把220V地交流电变为5V地直流电用于SRD电磁继电器地工作电压.可控开关装置中地电磁继电器[8]收到单片机高低脉冲电平地变化相应做出吸合或断开地指令控制,从而控制插座电源地通断.而单片机软件编程通过串口输入和USB接口主要实现键盘、LED显示等各模块地功能,采用C语言编程,来控制译码器译码以及数码管显示.本设计硬件部分电路图见下图4-2,最终完成地硬件实物图见附录2.其中本系统地核心单片机MCU P89V512FN为40脚600MIL封装,是CMOS 型飞利浦80C51系列单片机,带有2KB 闪存E2PROM型.该单片机除了少了两个并口外,能兼容MCS-51系列单片机地所有功能,且具备体积小、功能强、运行速度快等特点.该电路可通过单片机地P3.7口连接一个键盘电路来实现对参数地人工自由设定,同时可通过串口连接4位LED数码管,以分别显示小时、分钟和秒.系统定时启动是通过P3.0口完成地.程序开始时这三个口地输出状态都是低电平,P89V512FN通过程序查询P3.0口输出ON或OFF地状态预置时间是否已到,如果已到时间,则改变相应地输出状态,从而完成对外部电路地控制.图4-1本设计地三大模块图4-2 定时部分硬件电路图如上图4-2,上半部分是数码管显示电路;下半部分是由桥式整流二极管和LM7805组成地AC/DC稳压电路,将220V地交流电压整流,滤波后输出直流5V电压用于单片机地工作电压;中间部分是由四个按扭开关和单片机相应管脚(P1.4,P1.5,P3.6,P3.7)连接,分别对应LED时间显示模式控制(开关SW1)、操作控制(SW5)、执行加键(开关SW2),执行减键(开关SW3).此外还有单片机外接热敏电阻,复位键(开关SW4)以及蜂鸣器可以用来实现温度测量和自动温度报警.4.1可控开关电路图4-3继电器结构图继电器(relay)也是一种电门,但与一般开关不同,继电器并非以机械方式控制,而是一种以电磁力来控制切换方向地电门.当线圈通电后,会使中心地软铁核心产生磁性,将横向地摆臂吸下,而臂地右侧则迫使电门接点相接,使两接点形成通路.本设计中选用继电器型号为SRD-05VDC-SL-C,5接脚,如上图4-3.其中一边地两脚工作状态分别为衔铁动静触点闭合或断开(低压控制电路时);额定工作电压,即继电器正常工作时线圈所需要地电压,本设计中选用地继电器地额定工作电压为5V直流电压.利用直流电流触发并控制延时,在延时过程中可不影响主电路而延时递增.在本次设计过程中,将继电器与普通电源插座串接起来,三接点中间地那个脚脚4接电源插座地火线,另外两接脚中接脚3接单片机地控制信号引出脚,另一接脚5和控制信号引出脚连共地端.特别需要注意地是,在焊接继电器前要用万用电表测试其五个管脚以确保正确连接.当接脚3和接脚5之间加5V电压时,接脚4和接脚2导通,电源插座开关可正常工作;当接脚3和接脚5之间电压为0时,接脚4和接脚1导通,电源插座开关不工作,从插座正常工作到不工作地这段时间即为定时操作,可通过软件编程设置定时(闹铃)程序实现.4.2电平转换电路4.2.1LM7805稳压电路在不同地数字系统中,其电平标准是不同地.该系统中就包括了220V交流输入和5V地TTL电平标准,要实现两个标准地正常通信,必须进行电平转换.该系统采用使用简单地LM7805芯片.如图4-4所示电路为输出电压+5V、输出电流1.5A地稳压电源.它由电源变压器B,桥式整流电路D1~D4,滤波电容C1、C3,防止自激电容C2、C3和一只固定式三端稳压器7805极为简捷方便地搭成地.图4-4 LM7805稳压电路220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路D1~D4和滤波电容C1地整流和滤波,在固定式三端稳压器LM7805地Vin和GND两端形成一个并不十分稳定地直流电压(该电压常常会因为市电电压地波动或负载地变化等原因而发生变化).此直流电压经过LM7805地稳压和C3地滤波便在稳压电源地输出端产生了精度高、稳定度好地直流输出电压.本稳压电源可作为TTL电路或单片机电路地电源.三端稳压器是一种标准化、系列化地通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛地一种单片式集成稳压器件.注意问题:1.7905地引脚定义,-5V输出电压上电容地方向(不过本设计只取+5V即可);2.7905空载时测量输出在6V左右.加上负载,输出正常;3.7805驱动电流可达1A.实际测量时运行时电流200~300mA,7805会发热,温度有50度左右,布线时该器件地摆放应考虑散热.4.2.2RS232电平转换电路由于本设计中地单片机电路要用到串口输入,而电脑串口RS232电平是-10V,+10V,P89V51单片机应用系统地信号电压是TTL电平0,+5 V,故需进行电平转换.本设计采用MAX232EPE[9]进行电平转换,该产品是由德州仪器公司(TI)推出地一款兼容RS232标准地芯片.该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平.该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平;每一个发送器将TTL/CMOS电平转。
基于PIC12F675的智能电子镇流器的设计
在 桥 式 整 流 器 中 . 每 支 二 极 管 所 承 受 的反 向 峰 值 电 厂 为 、厂一 E / 芝
VA , 交 流 电 源 电 压 VA= 2 V 时 , / V = 2 c当 C2 0 、 c2 0  ̄3 0 1 V。
考 虑 到 在 用 电 低 谷 期 . 网 电 压 往 往 高 达 2 0 此 情 况 下 的 峰 电 7 V.
21 0 0年第 7期
福
建 电
脑
15 3
基 于 P C 6 5的智能 电子镇流 器 的设计 I F 7 1 2
张Байду номын сангаас健
(江 苏 常 熟 广播 电视 大 学 江 苏 常 熟 2 5 0 15 01 【 摘 要 】 本 文 介 绍 了 一种 基 于 PC 2 65的 智 能 电子 镇 流 器 。 它 选 用 PC 2 65单 片 机 为主 控 模 块 , 用 无 源 功 率 : I1F7 I1F7 采
2 硬 件 系 统 设 计 、 图 2 1示 出 系统 硬 件 框 图 。 图 中 : —
桥 式 全 波 整 流 电 路 的 作 用 是 将 5 交 流 电 变 成 1 0 Hz 0 Hz 0
率 因数 校 正 电路 (P C 、 P F )电压 和 电 流 取 样 电 路 、 控 稳 压 直 流 电 正 弦 半 波 脉 动 直 流 电 。 如 图 2 2所 示 . I 组 成 桥 式 整 流 器 , 可 — D~) 4
值 电 压 为 2 0、 7 / 厂
40 0V 。
32 8 V. 所 以 二 极 管 的 耐 压 应 当 不 低 于
设电子镇 流器的效率为 - 8%. q 5 电源 功 率 为 4 W . C输 人 = 0 A
单片机多功能时钟程序毕业37页word文档
沈阳工程学院课程设计设计题目:多功能时钟程序设计沈阳工程学院课程设计任务书课程设计题目:多功能时钟程序设计多功能时钟程序设计成绩评定表系部:班级:学生姓名:中文摘要时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。
数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。
该数字钟采用液晶显示屏显示其时间与定时时间,即采用P6口输入,P7口输出,由R0输入需显示的时间,再通过延时程序将时间稳定的显示在液晶屏上。
校准时间由外部中断4及开关按键控制;定时时间由外部中断3及开关按键控制,KEY3、KEY4键每按一次其时分秒的数字增加一。
关键字: 单片机,数字钟,校时,定时器目录1 课程设计要求 (1)1.1 设计主要内容及要求 (1)1.2 对设计论文撰写内容、格式及字数的要求 (1)1.3 时间进度安排 (1)2 课程设计思路 (1)2.1 计时 (2)2.2 校时 (2)2.3 闹铃 (2)3 设计流程图 (2)4 各模块设计 (3)4.1 时钟部分 (3)时钟程序分析 (3)时钟部分程序 (3)4.2 定时部分 (5)定时程序分析 (5)定时部分程序 (5)4.3 校时部分 (7)校时程序分析 (7)校时部分程序 (7)4.4 显示部分 (9)显示程序分析 (9)显示部分程序 (9)5 工作过程分析 (15)5.1 时钟程序分析 (15)5.2 定时程序分析 (16)5.3 校时程序分析 (18)5.4 显示程序分析 (19)6 主要元器件介绍 (22)6.1 C8051F020单片机 (22)6.2 液晶显示器 (22)总结 (23)致谢 (23)参考文献 (23)附录 (24)1课程设计要求1.1设计主要内容及要求1)编写多功能时钟程序2)能够显示时、分、秒的时钟程序。
试玩PIC12F675单片机手记源程序
;;;;;;;;;;;;;;;;;;; 源代码开始 ;;;;;;;;;;;;;;;;;;;;;;;; PGA2310 电子音量控制; PIC12F675,4 MHz MCU; 2006 (c) RUU;; Ver0.31 : VR 位置检测和变换的错误修正; 2006.9.5 Ver0.3 : 改变 0.5 dB增减速率,避免偶然杂音; Ver0.2 : 控制方法的改变; Ver0.1 : 第一个测试版本;;Vdd=5V; 用0 ~Vdd的电平通过GP4实现音量控制,; PGA2310 的增益-95.5dB~+31.5dB 的范围内,; VR 的变化为 128级、每级的是 0.5 db 分辨率。
;; 功能设定:; GP3 为静音功能端子,; 电源开启后大约 1.5 秒开启,2.5 秒后从静音状态转换到VR 的设定值,; 音量平滑上升。
; 如果不需要静音控制,将GP3直接与Vdd连接。
;;; GP0 : ~CS (Output); GP1 : SDO (Output); GP2 : SCLK (Output); GP3 : PWR (Digital Input); GP4 : VOLUME (Analog Input); GP5 : MUTE (Output);;; ※本软件的汇编程序由 CVASM16 推荐;include '12f675.inc'FUSES _INTRC_OSC_NOCLKOUTFUSES _WDT_OFFFUSES _MCLRE_OFFFUSES _PWRTE_ONFUSES _BODEN_ONFUSES _CP_OFFFUSES _CPD_OFFNOT_CS = gpio.0 ; Chip Select (PGA2310)SDO = gpio.1 ; Serial Data (PGA2310)SCLK = gpio.2 ; Serial Clock (PGA2310)PWR = gpio.3 ; Power Monitor inputVR = gpio.4 ; Volume control analog inputMUTE = gpio.5 ; Mute Relay driveorg 20hcnt ds 1 ; 等待用途计数器cnt2 ds 1volume8 ds 1 ; Volume 值 8 bitold_pos ds 1 ; 当前的 Vol 位置vo_l ds 1 ; Volume_Left 设定值vo_r ds 1 ; Volume_Right 设定值work ds 1 ; 工作bitcnt ds 1 ; 发送 bit 计数器statflg ds 1 ; 标签VR_CHG = statflg.0 ; volume 变化检测; 内部 EEPROMeeorg 0eedata 'PGA2310 VOL-CNTL -RUU 2006- 'org 0goto startorg 4goto start;; 主程序startclr gpiomov cmcon,#00000111b ; GP0:2 Digital, Comparator offmov adcon0,#00001100b ; ADFM=Left, Vref=VDD, A/D CH=3(GP4)setb rp0call 3FFh ; 时钟脉冲发生器数据设定mov osccal,wmov option,#b ; GPPU无 , PS无mov wpu,#00000000b ;mov trisio,#00011000b ; GP3,4mov iocb,#00000000b ; interrupt on changemov ansel,#00011000b ; ANS3=analog ADCS=Fosc/8clrb rp0mov intcon,#00000000b ; 中断禁止setb NOT_CS ; Not Selectclr statflgclr old_pos:initcall wait_1s ; 1 秒延时jnb PWR,:initclr vo_rclr vo_lcall send_volume ; PGA2310 静音call wait_05s ; 0.5 秒延时setb MUTE ; Relay ONcall wait_1s ; 1 秒延时call get_vr ; 取得Volume 值call conv_vr:dvloopcjae vo_r,volume8,:mainloopinc vo_r ; 从静音到 VR 数值,以 0.5 dB 平滑的上升inc vo_lcall send_volumecall wait_10msgoto :dvloop:mainloopcall wait_1msjnb PWR,:relay_offcall get_vr ; VR 位置取得 -> volume8call chk_vr ; 检测变化量jb VR_CHG,:set_volume ; 2 阶以上变化?goto :mainloop:set_volumemov old_pos,volume8 ; VR 位置保存call conv_vr ; VR 位置 /Vol 值变换 -> volume8 :set_loopcja vo_r,volume8,:v_down ; 上次 Vol 值 (vo_r) 更加小cjb vo_r,volume8,:v_up ; 上次 Vol 值 (vo_r) 更加大goto :mainloop ; 数值变化,如果是没有的话则停止:v_downdec vo_r ; -0.5dbdec vo_lgoto :new_volume:v_upinc vo_r ; +0.5dbinc vo_l:new_volumecall send_volumecall wait_1msgoto :set_loop:relay_offclrb MUTE ; Relay OFFgoto :init;; 向 PGA2310 上发送 Volume 值,设定 (vo_r=右ch, vo_l=左ch)send_volumeclrb SCLK ; SCLK = Lmov work,vo_rmov bitcnt,#8clrb NOT_CS ; ~CS = L:loop_rrl work ; C<- Vol 上位scclrb SDO ; SDO <- Csncsetb SDOnopsetb SCLK ; SCLK = Hnopnopclrb SCLK ; SCLK = Ldjnz bitcnt,:loop_rmov work,vo_lmov bitcnt,#8:loop_lrl workscclrb SDO ; SDO <- Csncsetb SDOnopsetb SCLK ; SCLK = Hnopnopclrb SCLK ; SCLK = Ldjnz bitcnt,:loop_lsetb NOT_CS ; ~CS = Hret;;检测VR 的位置变化chk_vr ; 检测出VR 位置改变cjb volume8,old_pos,:v_dec ; 如果是 vol< old_pos 的话就减小:v_incmov work,volume8sub work,old_pos ; work<- 变化量goto :chk:v_decmov work,old_possub work,volume8:chk ; old_pos 2 位置变化了吗?cjb work,#2,:no_chgsetb VR_CHG ; 变化有 -> VR_CHGret:no_chgclrb VR_CHG ; 变化没有 -> VR_CHGret;; VR 位置变化→数字 VOL 值变换 (128 阶,convtbl )conv_vrclcrr volume8 ; pos-> indexcall convtbl ; index-> volumemov volume8,wret;;; 获取 GP4 VR 位置get_vrmov adcon0,#00001101b ; Left, Vref=VDD, CH=3, A/D=ON call wait_20ussetb go_done ; A/D start:get_waitjb go_done,:get_waitmov volume8,adresh ; A/D 变换结果ret;*** 公用程序 ***wait_20us ; 18(us)mov cnt,#4 ; 2:loopdjnz cnt,:loop ; 3*4+2ret ; 2wait_1ms ; 998(us)mov cnt,#124:loopnopnop。
用PIC单片机制作的时间继电器
单片机与可编程器件时间继电器作为延时控制元件,适合于各种继电保护装置及自动控制系统中,特别是对时间测量要求精度高和配合时间级差小的场合。
但现有的时间继电器只有电磁式和静态电路式两种,电用PIC单片机制作的时间继电器・阿城继电器集团有限公司 许世芬 黄树波・摘要 本文主要介绍了Microchip公司的8位PIC单片机及其在时间继电器中的应用,并简单介绍PIC单片机与MCS-51单片机的区别。
路的“有效密码”和“保护密码”,这属于通过硬件调整改变密码。
一般情况下,电路制作完成后,通过软件调整更改密码更为方便。
单片机的P1.7及P3.0~P3.4共6个I/O口,均作为输出口使用,其中,P1.7、P3.3、P3.4作为输出控制口,分别通过一只“光电耦合器”驱动J1~J3继电器,以适时完成开启“风幕”、“自动门”开门和“出错报警”功能;P3.0~P3.2作为3个输出指示口使用,各通过一只限流电阻驱动发光二极管,分别用于开启“风幕”和“自动门”开门及“出错报警”状态的指示。
其余I/O口空闲不用。
电路中所需元件的规格参数均如图1所标注。
程序介绍本程序的流程图如图2所示。
为了能完成预定的控制任务和简化编程工作,编程时在程序中设置了3个用于表示已输入“有效密码”位数的“标志器”,这样,通过对相应“标志器”的置位(置0或置1)和查询,即可达到控制目的。
电路所要求的“5秒限时功能”采用内部定时中断的控制方式来完成,即:当第一位“有效密码”被正确输入后,要立即开始时长为5秒的定时(使用定时器0),这样,在整个计时期间,既不会影响对其它“有效密码”和“保护密码”的识别处理,系统又可随时查寻输入时间是否超过了5秒,一旦发现超时,即:定时器0产生了溢出,将引导程序进入“中断”服务程序,完成“出错报警”功能。
程序运行后,在初始化程序中,要完成对各输入口写“1”、将相关“标志器”和计数器清零等设置,此时,J1~J3均不吸合,外接的各控制电路均静止不动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于PIC12F675单片机的可编程多功能时间继电器的设计摘要:定时控制是最基本的自动控制方式,由单片机制作的定时控制,具有定时精确,电路简单等诸多优点,能够实现多种定时模式,利用MCU内部的多个TMR模块,可以设计成多个集成的时间继电器,利用MCU内部的多路ADC转换模块通过各自的电位器独立调整延时时间,而且各定时模块可以级联控制,实现电动机控制电路的简化,如果通过IO口连接外部信号,便于实现多种简单的自动控制。
关键词:MCU、定时器、AD转换、级联控制1、引言常用的电子时间继电器普遍使用CD4060振荡计数分频CMOS集成电流构成,一般采用外部RC振荡器,定时精度低、控制功能单一。
由于这种电子时间继电器内部带有小功率稳压电源模块,用引脚较少的单片机取代原数字电路芯片,可以实现多个定时器集成在一起,或者多个定时级联控制。
如果用较少引脚的单片机构成时间继电器,则提高定时精度,而且实现多个时间继电器的集成,通过编程可以实现多个时间继电器的级联控制。
从而可以大大简化控制电路,节省了线材。
2、单片机及选型单片机又称微控器MCU,生产厂家和品牌很多。
众所周知proteus是开发单片机产品最好用的仿真软件,不但能够进行单片机仿真,而且能够进行电路仿真和PCB电路设计,因此选型时首先考虑容易购置且在proteus中有仿真模型的MCU产品。
经典的普林斯顿构架的51单片机,内部资源少,引脚多,不适合单片机产品的开发。
PIC单片机虽然品种繁多,但是一个IDE软件可以通吃,而且在proteus仿真软件有丰富的仿真模型,这样便于电路研发设计。
其中有PIC12F675[1]单片机是PICF12系列单片机中内部资源较为丰富的品种。
其内部有两个可编程定时器模块TMR0和TMR1,还具有4路10位ADC转换模块和比较器模块,比较适合制作时间继电器的控制电路。
选用PIC单片机的另一个好处是有廉价的替代品,台湾的麦肯单片机质优价廉,可以直接取代。
1.基于PIC675单片机的一次定时的时间继电器去掉原电子时间继电器的数字集成电路芯片,用PIC12F675取代,借用原电路接口,可制作单路、两路多功能时间继电器。
3.1 程序算法时间调节仍然使用原有的电位器,利用内部的ADC模块的转换结果控制定时器的设定值,达到调节时间的目的。
在定时要求不很高的情况下,通过配置字设置可以使用内部复位和内部振荡器,这样可以节省宝贵的IO端口,实际上内部高精度振荡器可以满足几乎所有定时要求。
PIC12F675单片机内集了10位的ADC[2]模块,占用了两个字节的转换数据寄存器ADRESH和ARSEL,选择左对齐方式,仅取用ADRSEH就相当于8位ADC模块,已经能够满足要求。
PIC12F675单片机内集了8位定时/计数器TMR0和16位的定时/计数器TMR1,在一次定时用的时间继电器中,可选用其中任意一个。
如果采用中断方式工作,定时时间越长,则中断的次数越少。
因此首先考虑选用TMR1模块。
TMR1[1]定时计数模块带有3bit的预分频器,最大分频比8,如果选择4MHz的内部时钟,由于PIC单片机一个机器周期有4个时钟周期,定时计数脉冲频率是系统时钟的4分频,因此计时时钟为1MHz。
TMR1一次中断最大定时间隔为:,适当选取设定值可得0.5秒的时间间隔。
TMR1H的设定值256-244=12,TMR1L的设定值256-36=220即可满足要求。
将ADC转换结果做软件计数的上限,仅取高8位时,最长定时时间128秒,如果取10位转换结果做软件计数的上限,则最长延时时间512秒。
3.2程序设计:#include"pic12rf675.h"__CONFIG=0x0004;unsigned char m;unsigned int n;void main(){CMCON=0x07; //关闭比较器功能,低4位为数字IOANSEL=0x51; //设为GP1、GP2、GP5普通数字I/O口,GP0为模拟量输入口ADCON0=0; //选择转换通道0TRISIO=0x21; //设置GP0、GP5为输入,其它为输出。
ADCON0=0x01; //使能ADC模块T1CON=0x39; //设定分频比8,定时器模式,使能TMR1。
TMR1H=12; //设定计数器的计数初始值,一次中断时间0.5秒TMR1L=220;GIE=1; //开放全局中断PEIE=1; //开放第一外设中断TMR1IE=1; //开TMR1溢出中断n=0; //初始化软件计数器计数值m=0xFF;while(1){while (GPIO5==1) //如果复位开关断开{if(nelse{GPIO1=1; //否则继电器得电,软件计数器停止。
n>m;}}if(GPIO5==0) //如果复位按键按下{GPIO1=0; //继电器失电n=0; //软件计数器复位}}}void interrupt ISR() //定时器TMR1中断服务函数{TMR1H=12; //重装计数器初始值TMR1L=220;n ++; //软件计数器加1TMR1IF=0; //复位TMR1定时器重新计数GPIO2=~GPIO2; //指示灯反转,亮灭一次1秒钟。
ADCON0|=0x02; //启动AD转换while (ADCON0&0x02==1); //等待转换完成m=ADRESH; //将转换值读入存储器m中。
}3.3proteus仿真如图3所示:SB是复位按钮,如果定时时间到后,继电器动作,灯泡L1得到供电而点亮。
此后如果按一下复位按钮,则重新开始下一次定时。
R1、C1构成上电复位电路,尽管设置了内部复位,但是没有外部复位,电路将不能仿真。
实际电路安装后无需外部复位也能够正常工作。
D1是橙色发光二极管,系统上电后会亮灭各0.5秒,指示系统处于正常供电状态。
为了降低继电器的工作电流,因此选用工作电压12V的继电器RL1,电压采用未经稳压的12V电源供电,因为借用了原电子时间继电器的电源部分。
1.两路定时器方案两台以上的大电机顺序启动控制电路中,设计一双路或多路时间继电器,可以简化控制电路降低成本。
在上述设计方案中PIC12F675的GP4口没有使用,实际电路中GP3口也可以节省出来,一般时间继电器不设置复位按钮,因此GP5也能节省出来,如果增加一个电位器和继电器,可以构成两路定时器。
4.1使用一个二次延时的时间继电器构成的三台电动机顺序启动逆序停止控制电路用该时间继电器控制交流接触器实现电动机延时自动控制,可以结合接触器的连锁控制,在控制时间到达后,自动切断时间继电器的供电,以节省能耗延长时间继电器的使用寿命。
使用一个二次定时的时间继电器的三态电动机顺序启动、逆序停止控制电路。
SBG是启动按钮(绿色按钮),SBR是启动按钮(红色按钮)SBY时急停按钮。
4.2 三台大功率电动机顺序启动逆序停止电路工作过程分析4.2.1顺序启动过程按下启动按钮SBG后KM1首先得电吸合,第一台电动机启动。
由于中间继电器KA没有得电其常闭触点闭合,因此KM1自锁保持,同时由于KM3线圈没有得电,其常闭触点闭合,双时间继电器线圈得电。
该时间继电器的第一路首先工作,延时一段时间后其KT-1常开触点接通,KM2得电并自锁,第二台电动机启动。
双时间继电器的第一路延时到达后,第二路开始工作,再延时一段时间后,其常开触点KT-2闭合,接触器KM3得电吸合并自锁,第三台电动机启动。
于是实现了三台大电机的顺序启动。
KM3得电后,常闭触点切断了时间继电器线圈KT的供电,达到了省电节能的目的。
4.2.2 逆序停止过程三台电动机顺序启动后,如果按下停止按钮SBR,中间继电器KA吸合并自锁,KA常闭触点断开,于是KM3失电释放,第三台电动机停止运行。
同时双时间继电器KT线圈得电,第一路时间继电器首先工作,延时一段时间后KT-1断开,使得KM2自锁失效,KM2失电释放,于是第二台电动机停止。
继之双时间继电器的第二路开始计时工作,再延时一段时间后,KT-2断开,KM1自锁失效,接触器KM1失电释放,控制电路全部断电,实现了逆序停止。
4.2.3 过载保护电动机运行过程中,如果其中任一台电动机出现过载,其热继电器的常开触点闭合,中间继电器KA得电,如同按下停止按钮一样电动机自动实现逆序停止。
4.2.4 急停保护如果运行中出现紧急情况,按下急停按钮SBY,控制电路立即断电,所有接触器线圈立即失电,三台电动机同时停止运行。
参考资料1、PIC12F629/675中文数据手册第1页、第31~32页2、PIC单片机实例与进阶陈立伟等编著清华大学出版社 2012年1月第一版第154~156页3、PIC单片机易学通三恒星科技编著人民邮电出版社 2006年7月第一版第83页4、PIC单片机原理、开发方法与实践何乐生编著高等教育出版社 2011年1月第一版第233页5、PIC单片机原理与实践曾辉编著北京航空航天大学出版社 2017年1月第一版第300页。