PIC10F20X系列单片机的四例应用
扫描二维码
随时随地手机看文章
摘要:基于空间受到限制的电路中,寻求实现智能化系统管理与控制的目的,通过给出:LED的变闪灯驱动、医用输液监视、电热剪调控、高亮LED亮度调光共四例应用电路设计,在设计中采用PIC10F20X系列单片机,通过软件产生PWM控制信号、间歇式电源供电与测试点检测过程管理,说明在定时控制、PWM信号产生、I/O监控、电池供电下能耗控制方面的应用方法。从而实现了高亮LED调光电路PWM信号占空比1%~99%以上控制、医用输液监视器电池使用寿命延长4倍以上等技术需求。
关键词:嵌入式系统;间歇式控制;PWM;占空比;定时控制;I/O监控;低功耗
由Microclaip Technology Inc出品的单片机:PIC10F200/202/204/206,因采用了SOT-23-6封装,被称着为世界上最小单片机。其仅有33条单字指令,除了程序跳转指令为双周期指令外,其余均为单周期指令(12位宽);含2级硬件堆栈、数据和指令(直接、间接和相对寻址模式)、8位宽数据总线、8个特殊功能硬件寄存器:工作速度为4 MHz内部时钟1μs指令周期的RISC架构单片机,完成需要微型化、极小电路
板空间、高性价比、低电源电压供电的低功耗环境嵌入式系统开发。
在以下LED的变闪灯驱动、医用输液监视、配合555用于电热剪调控、高亮LED亮度调光的4例应用中,通过其集成开发环境MPLAB IDE,借助CSS公司的C语言编译器,实现其C语言程序设计,并通过数码微控技术室(www.01mcu.net)的USB—PIC编程器,采用ICSP方式完成HEX文件到PIC10F200、206的代码装载。同时在PROTEUS ISIS软件中完成对应功能仿真,以实现设计过程的验证。最后完成实物制作。
1 LED变闪灯电路
电路如下图1所示,PIC10F200用于驱动30只LED的变闪灯电路。电路中BT1、BT2为锂电池,U1 DW01—P为电池充电保护集成电路,其与U2 TM8205FC(双NMOS)场放应管构成电池充放电管理,J1为外接充电电源接入端。当J1插入充电电源时,单片机U3与LED(D1~D30)电源断开,停止工作,此时仅电池进行充电,由U1防止锂电池BT1、BT2出现过充现象。当JI充电电源完成充电断开后,单片机U3与LED(D1~D30)开始工作,在按键S1的操作控制下,单片机U3通过其GPO引脚分由开关管VQ1、VQ2实现各5组3个LED灯的二种工作方式发光。分二路的目的在于使开关管VQ1、VQ2分配合理的工作电流到各自所驱动的15只LED。二种发光方式其一:以PWM方式控制所有的LED有合适的亮度;其二:在约2 s的时间内,前1秒钟以间歇双闪动方式(其发光依然为PWM控亮度)三次闪光,后1秒熄灭。每按一次按键S1进行一次二种方式的切换。工作中U1防止锂电池BT1、BT2出现过放电现象。
在程序的起始部分中,用语句:#fuses=0x0FE3,说明关闭WDT、有代码保护、GP3引脚作为I/O口功能、MCLR由电源上电产生,设置好单片机的配置字。其PWM信号产生设置一个自定义函数如下:
函数中若设变量a=b=1 000,则将在单片机GP0引脚产生50 ms时长共25次500 Hz,占空比为50%的PWM信号。若要改变占空比而维持PWM信号频率不变,只需在增加或减小a值的同时,减小或增加b值,使a+b值始终为2 000不变,以实现LED有合适的亮度。
实现方式二的程序部分如下:
每按一次按键S1,c=~c,实现二种方式的切换。
2 医用输液监视电路
医用输液监视电路如下图2所示。电路中IC1 ITR8307/TR8为反射式光电传感器,在此作为检测医院输液管中液体存量的检测装置,当液体少时,其光通量增大,导致其射极输出电位上升,而液体多时光通量小,该点电位低。由此通过运放IC2B,形成检测信号送单片机U1的GP3引脚,即该引脚为高电平时代表输液管中液体存量正常,反之见缺液,由单片机通过其GP0发出信号,SP1、LED1以声光报警方式告知医护人员。电路通过-5号电池BT供电,其中IC3 CE8353及其外围C2、L、VD3构成了1.5~3V的升压式开关电源电路。由于光电传感器工作时,电流相对较大,在电池供电条件下,为节省电池电能,同时又能完成前述输液管内液体存量监控,设置由单片机U1通过其GP1引脚控制IC1、IC2工作电源管理开关VQ1,单片机U1通过软件设置,使VQ1在每600 ms中的第一个100 ms时,接通VCC1到VCC,100ms后。若U1的GP3引脚收到低电平缺液检测信号,关闭VQ1,通过SP1、LED1发出持续100 ms间歇100 ms的二次报警;若U1的GP3引脚收到高电平液检测正常信号,关闭VQ1,不论GP3引脚收到何信号,上述过程结束后,因VQ1均关闭,再等待500 ms后重覆上述过程。IC2A为电池电压监视报警电路,当电池电压低于0.9 V时LED2闪烁报警。由此大大结省电池的电能,常规下5号电池1节,大约可持续使用达25天以上。以上间歇控制方式,均由单片机U1在程序设计中以简单的定时控制功能实现。程序代码非常简单,由文篇幅限制,省略。以上整个电路装置,夹挂在输液瓶下输液管滴管侧。
3 电热剪调控电路
电路如下图3所示,由客户的使用习惯上,要求用电位器调整电热剪的工作温度,这里由U3时基电路555构成PWM信号产生电路,由电位器R8调整U3第3脚输出的PWM信号占空比,实现VQ3、VQ4外接的12 V陶瓷加热片的温度调控。电路中U2单片机的作用为对振动开关S1的监测,在3分钟内,以每60μs侦测一次振动开关有无动作,若持续3分钟均无动作,则单片机通过GP0引脚发出低电平,关闭555的PWM信号,停止陶瓷加热片的加热。D1 LED显示振动开关的动作。实现该部分的程序如下:
以上之所以使用振动开关,是因为工作中,此电路将装在电热剪的手柄上,使用中,作业者操作电热剪完成包装带的裁剪及封口时,将手的振动动作,通过振动开关,让单片机获得电热剪正在使用的信息。而当作业者停止使用时,因振动开关不再有相应信号送单片机,单片机自动关断电热剪的加热。使用中,陶瓷加热片二片分贴在剪刀的上下二片刀片上。
4 高亮LED调光电路
该电路如下图4所示,电路中使用了集成高亮LED恒流驱动电路PT4115,该电路有很宽的电源电压工作范围6~30 V,电路中由J1外接的高亮LED上,输出电流最大可达1.2 A,通过其DIM端的PWM信号控制,可以通过PWM的占空比达1%~99%变化,实现多颗高亮LED串并联组合的亮度调整。
该电路中单片机的PWM信号产生,同前第一例LED变闪灯电路,所不同处在于,其可通过ADD、SUBB按键改变PWM输出函数中a、b值的大小来改变占空比大小,实现PT4115所要求的占空比控制。如下为实现在S1电源开关打开时监控GP2 ADD引脚,实现增加PWM信号占空比,即增大亮度的部分程序:
实现减少亮度的方式,在条件反置时,只需将上述a=a+50;b=b-50修改为a=a-50;b=b+50即可。
5 结论
以上实例,通过PIC10F20X系列单片机,结合相应新器件的应用,可发现该系列单片机应用上非常灵活,同时由于其开发环境完全与PIC其他的单片机相同,同样可在C语言编译器下编写C语言程序,使得其程序开发非常方便。在使用中,因其内置了4 MHz高精度内部振荡器,不再需要外置晶振,简化了系统环境。而且由于其对电路环境的要求不高,完全能够对各种信号,实现现场测试现场处理。在这里要提示的是:在编程上要注意芯片内部的程序存储器空间(PIC10F200仅256字、PIC10F206为512字),编程上应力求精简化。