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有合适的亮度。
实现方式二的程序部分如下:
评论