用PROG-110可编程控制器设计定时提醒器

PROG-110模块总共只有6个I/O端口。这就必须扩展模块端口,用两部以上模块串联可行,但花钱要多,与“省”、元器件少矛盾。故采用了MAIN,即用了16路模拟开关CD4067,其位真表见(表1);其次是程序过长。而PROG-110模块的E2PROM存储器24C01只可存人128步用户程序,故 将它更换24C02。另一方面,采用压缩程序步数容量。为此将PROG-110模块的主频为12MHz的石英晶体,换成主频为200kHz的石英晶体,使延时指令的延长时间是原延时时间的60倍;第三是受PROG-110模块跳转指令步数的限制,在具体编程中将某些步数特长的一次跳跃,变成两次跳跃运行,少数地方采用了巧妙设计方法,才最终解决了问题。
05在1111地址码
00下跳(上电时)若P5
61 口输入低电平,下跳61步,
否则执行下跳指令
40 P4口输入低电平。产生0111码地址
05在0111码下,P5口输入
OO低电平就下跳60步。
60 否则执行下一指令
30 P3口输入低电平,产生0011地址码
05在0011码下,P5口输入
00低电平就下跳59步。
59 否则执行下一指令
20 P2口输入低电平,产生0001地址码
05在0001码F,P5口输入
OO低电平就下跳58步,
58 否则执行下一指令
10 P1口输入低电平。产生0000地址码
05在0000码下,P5口输入
OO低电平就下跳57步,
57 否则执行下一指令
41 P4口输入高电平。产生1000地址码
05在1000码下,P5口输入
00低电平就下跳56步。
56否则执行下一指令
31 P3口输入高电平,产生1100地址码
05在1100码下,P5口输入
00低电平就下跳55步。
55否则执行下一指令
21 P2口输入高电平,产生1110地址码
05在1110码下。P5口
00输入低电平就下跳55步,
54否则执行下一指令
40 P4口输入低电平,产生0110地址码
05在0110码下,P5输八
OO低电平就下跳53步,
53 否则执行下一指令
30 P3口输入低电平,产生0010地址码
05在0010码下,P5口输入
00低电平就下跳52步,
52否则执行下一指令
41 P4口输入高电平,产生1010地址码
05在1010码下,P5口输入
00 低电平就下跳51步,
51 否则执行下一指令
11 P1口输入高电平,产生101地址码
05在1011码下,P5口输入
00 低电平就下跳50步,
50 否则执行下一指令
31 P3口输入高电平
20 P2口输入低电平,产生1101地址码
05在1101码下,P5口输入
00 低电平就下跳48步,
48 否则执行下一指令
40 P4口输入低电平,产生0101地址码
05在0101码下,P5口输入
00低电平就下跳47步,
47 否则执行下一指令
10 P1口输入低电平,产生0100地址码
05在0100码下,P5口输入
00 低电平就下跳46步,
46 否则执行下一指令
00返回再巡检
本电路扩展端口后一共18个端口,其中时钟输入控制端16个(含1个悬空不用),当15个定时控制端口中任一个出现定时之间控制信号时。输出控制端绿色LED较亮。一直亮到所对应的定时之间结束时,控制提醒音响信号输出信号。使扬声器发出4声“5、6”(“好啦!”的模拟声)信声,然后绿色灯LED熄灭。
本电路的CD4067集成块,是由地址输入端所接的4位二进制来决定本电路的15个输入端与P5联系。四个地址码接在模块ICl的P1-P4的端口上,由其多端输出的不同电平来做CD4067的地址码,以控制CD4067的15个输入端口接通,而Out与P5口相连。通过模块程序指令配合,使模块的P1-P4口循环输出不同的地址码,便可控制CD4067的15个输入端与模块IC1的P5口接通,从而通过地址码的变化,就可检测一次P5口的电信状态,即可准确获得15个输入端口的任一个所出现的定时信号。然后通过指令达到相应的延时,延时终止,由P7口控制扬声器发出“5”、“6”的4声提醒声,然后P6口发出电信号绿灯LED熄。表示全过程终止。
(七)程序说明
本程序可分为三部分。第一部分是巡检输入端电信息,第二部分是定时延时部分,第三部分是提醒发声部分。只要改变第二部分的部分定时程序的某些数字,就可达到你所需设定的定时时间(当然要在硬件允准的情况下)。
评论