论文部分内容阅读
【摘 要】在矿石的粉料、颗粒料生产流程中需要随机地对产品进行取样,则需要一台随机时间发生器。使用单片机的两个定时器,一个固定时间,另一个任意运行,从而获得随机时间。因而对产品进行随机抽样检查。
【关键词】单片机 定时器 随机数
一、事因
某单位生产的颗粒状产品经过皮带传送,在皮带的某一位置,有一取样装置,原系统采用PLC控制,时间设置为固定的15分钟。该单位现要求改为随机时间,每4~15分钟对产品取样一次,随机时间一到,输出3.6秒的开关闭合信号。
随机数也称为随机码,分有真随机数和伪随机数两种。真随机数只有使用硬件电路实现,但是无论采用什么电路所生成的随机数都有“牵强”之嫌;好在该单位没有很高的技术要求,只需要产生的随机时间不小于4分钟,不大于15分钟即可,且没有人工控制的“嫌疑”。
二、分析
根据上述要求,我们采用MCS51系列单片机实现,MCS51单片机内部具有两个定时器/计数器(52增强型有3个定时器),将一个定时器T0定时3.6秒;另一个定时器T1上电后就自由运行,用于生成随机码。
一次取样完毕,单片机读取T1产生的随机数,存放于R5中,每隔3.6秒将R5中数值减1,直到R5=0为止,为取样时间。
MCS51是8位单片机,8位二进制数最大值为255,满足上述要求。
三、电路设计
设计的电路见图1所示,单片机采用AT89S52,电路中有一个四位LED数码管显示器,采用共阳极数码管,用于显示倒计时,不过它显示的是3.6秒的倍数;电路中的继电器RL的常开接触点输出给取样机,驱动取样。
图2为电路实物照片,为制作方便,电路板采用网购的实验板。电路可靠性强,采取了许多措施使其很抗干扰能力强,目前在现场运行了近一段时期。
四、程序设计
MCS51单片机采用12MHz石英晶体振荡器,提供时钟信号,它的定时器最长只能定时65536×1μs=65.536ms,我们取50ms,再使用R6=72作计数器,达到3.6秒。下面是程序流程图:
(一) T0中断程序
T0定时为50毫秒,使用R7=72作计数器,R7每隔50ms减1,直到R7=0表示3.6秒时间到。
R5装入随机数,每3.6秒减1一次,直到R5=0,表示随机时间到。这时系统要完成两件事
1.启动取样机
2.从T1中取出未受到任何控制的随机数,作为下次随机时间,这个随机数还要求大于67,保证最小随机时间不小于4分钟。
下一次3.6秒到达时,关闭取样机,实现了取样机开启控制在3.6秒中。
(二)主程序
系统初始化完成T0的50ms设置,堆栈设置,3.6秒设置,第一次取样为4分钟设置,定时器工作方式设置等。
转换子程序是将R5中的随机数转换为BCD码,以便显示子程序查表。
五、效果
本系统安装时,采用的是国产STC单片机(89C51RC+),该机种内含上电复位电路,上电启动极为可靠,避免了AT89S52单片机有时上电死机现象;该单片机具有内部看门狗,一旦系统程序跑飞,看门狗就主动地重新启动单片机;该系统安装在铁制控制柜内,避免了现场干扰,经3个多月运行检验,证明了该系统非常可靠。
参考文献:
[1]单片机原理及应用 唐德礼 曹庆生 华中科技大学出版社 ISBN : 756093501X.
[2]单片机原理及接口技术 张毅刚 人民邮电出版社 ISBN : 978-7-115-25665-2.
[3]如何生成不重复的随机数 网络文章.
【关键词】单片机 定时器 随机数
一、事因
某单位生产的颗粒状产品经过皮带传送,在皮带的某一位置,有一取样装置,原系统采用PLC控制,时间设置为固定的15分钟。该单位现要求改为随机时间,每4~15分钟对产品取样一次,随机时间一到,输出3.6秒的开关闭合信号。
随机数也称为随机码,分有真随机数和伪随机数两种。真随机数只有使用硬件电路实现,但是无论采用什么电路所生成的随机数都有“牵强”之嫌;好在该单位没有很高的技术要求,只需要产生的随机时间不小于4分钟,不大于15分钟即可,且没有人工控制的“嫌疑”。
二、分析
根据上述要求,我们采用MCS51系列单片机实现,MCS51单片机内部具有两个定时器/计数器(52增强型有3个定时器),将一个定时器T0定时3.6秒;另一个定时器T1上电后就自由运行,用于生成随机码。
一次取样完毕,单片机读取T1产生的随机数,存放于R5中,每隔3.6秒将R5中数值减1,直到R5=0为止,为取样时间。
MCS51是8位单片机,8位二进制数最大值为255,满足上述要求。
三、电路设计
设计的电路见图1所示,单片机采用AT89S52,电路中有一个四位LED数码管显示器,采用共阳极数码管,用于显示倒计时,不过它显示的是3.6秒的倍数;电路中的继电器RL的常开接触点输出给取样机,驱动取样。
图2为电路实物照片,为制作方便,电路板采用网购的实验板。电路可靠性强,采取了许多措施使其很抗干扰能力强,目前在现场运行了近一段时期。
四、程序设计
MCS51单片机采用12MHz石英晶体振荡器,提供时钟信号,它的定时器最长只能定时65536×1μs=65.536ms,我们取50ms,再使用R6=72作计数器,达到3.6秒。下面是程序流程图:
(一) T0中断程序
T0定时为50毫秒,使用R7=72作计数器,R7每隔50ms减1,直到R7=0表示3.6秒时间到。
R5装入随机数,每3.6秒减1一次,直到R5=0,表示随机时间到。这时系统要完成两件事
1.启动取样机
2.从T1中取出未受到任何控制的随机数,作为下次随机时间,这个随机数还要求大于67,保证最小随机时间不小于4分钟。
下一次3.6秒到达时,关闭取样机,实现了取样机开启控制在3.6秒中。
(二)主程序
系统初始化完成T0的50ms设置,堆栈设置,3.6秒设置,第一次取样为4分钟设置,定时器工作方式设置等。
转换子程序是将R5中的随机数转换为BCD码,以便显示子程序查表。
五、效果
本系统安装时,采用的是国产STC单片机(89C51RC+),该机种内含上电复位电路,上电启动极为可靠,避免了AT89S52单片机有时上电死机现象;该单片机具有内部看门狗,一旦系统程序跑飞,看门狗就主动地重新启动单片机;该系统安装在铁制控制柜内,避免了现场干扰,经3个多月运行检验,证明了该系统非常可靠。
参考文献:
[1]单片机原理及应用 唐德礼 曹庆生 华中科技大学出版社 ISBN : 756093501X.
[2]单片机原理及接口技术 张毅刚 人民邮电出版社 ISBN : 978-7-115-25665-2.
[3]如何生成不重复的随机数 网络文章.