一种基于单片机的软复位多程序控制装置及方法

文档序号:10686573阅读:233来源:国知局
一种基于单片机的软复位多程序控制装置及方法
【专利摘要】本发明公开了一种基于单片机的软复位多程序控制装置及方法,包括硬件部分和软件部分,在软件程序中选择按键SW1至SW4中,按下某一按键时,按键将同时输出两路控制信号控制单片机IC,一路信号送至单片机IC的12管脚,12管脚为单片机IC的外部中断信号输入端,结合主程序中的外部中断信号软复位命令使单片机IC复位;另一路信号送至单片机IC的P2口相应输入管脚,结合主程序中的多路选择命令,选择相应的那套程序开始执行输出。在执行的过程中,如果想让单片机去执行另一套程序,就按下另一套程序在SW1至SW4中相应的按键,单片机IC就又一次复位,结合主程序中的多路选择命令,去执行另一套程序。这样就实现了在4套不同程序之间,可以不定时来回切换的目的。
【专利说明】
一种基于单片机的软复位多程序控制装置及方法
技术领域
[0001]本发明涉及一种复位控制装置,具体地说,是一种基于单片机的多程序软复位控制装置。本发明还提供了一种基于单片机的软复位多程序控制方法。
【背景技术】
[0002]单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器R0M、多种I/O 口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。在单片机领域中,由于51单片机有数据总线和地址总线的关系,不仅在工业控制领域具有举足轻重的作用,在小型控制系统中也有着无与伦比的优势。
[0003]在实际应用中,51单片机只能执行一套完整的程序。如果想让51单片机执行另一套程序时,51单片机就得重新刷入程序,原来的程序就被删除。比如想让51单片机控制多路彩灯,或者控制演奏乐曲时,想让51单片机能输出多套程序控制彩灯或者乐曲,在51单片机正常输出一套程序的中途,让它快速切换去执行另一套程序,并且能在多套程序之间来回切换。这在现有51单片机无法实现的。

【发明内容】

[0004]本发明解决了现有技术的不足,提供一种结构简单、使用方便且能在多套程序之间来回切换的基于单片机的多程序软复位控制装置。
[0005]本发明为实现上述目的所采用的技术方案是:
一种基于单片机的软复位多程序控制装置,包括单片机1C、所述单片机IC的I至8管脚为Pl 口,10至17管脚为P3 口,21至28为P2口,32至39管脚为PO 口,所述Pl 口与信号输出端口PC连接,所述单片机IC的9管脚一端与电容Cll 一端连接,另一端与电阻Rl的一端连接,电容Cll另一端接电源正极VCC端,电阻Rl的另一端接GND端,单片机IC的12管脚分别与电容C4的一端、电容C3的一端、电容C2的一端、电容Cl的一端连接,单片机IC的18管脚、19管脚与晶振电路连接,单片机IC的20管脚接GND端,单片机IC的25管脚第一端与电容C4另一端连接,第二端与电容C8—端连接,第三端与按键SW4—端连接,电容C8另一端接GND端,按键SW4另一端接GND端,单片机IC的26管脚第一端与电容C3另一端连接,第二端与电容C7—端连接,第三端与按键SW3—端连接,电容C7另一端接GND端,按键SW3另一端接GND端,单片机IC的27管脚第一端与电容C2另一端连接,第二端与电容C6—端连接,第三端与按键SW2—端连接,电容C6另一端接GND端,按键SW2另一端接GND端,单片机IC的28管脚第一端与电容Cl另一端连接,第二端与电容C5—端连接,第三端与按键SWl —端连接,电容C5另一端接GND端,按键SWl另一端接GND端,单片机IC的31管脚与电阻R2串联后接电源正极VCC端,单片机IC的40管脚接电源正极VCC端。
[0006]进一步地,所述晶振电路包括单片机IC、晶振JZ、电容C9、电容C1,所述单片机IC的18管脚一端与晶振JZ—端连接,另一端与电容C9一端连接,电容C9另一端接GND端,晶振JZ另一端接电容ClO—端,电容ClO另一端接GND端。
[0007]本发明还提供了多套程序之间来回切换的基于单片机的多程序软复位控制方法,包括:
第一步给单片机IC通电开机;
第二步单片机IC开始执行复位;
第三步单片机IC开始运行主程序;
第四步根据单片机IC开始检测按键SWl至SW4的输入状态,判断要运行的子程序; 第五步运行子程序。
[0008]进一步地,所述输入状态是根据检测到按键SWl至SW4的状态,选择下述任一种处理方法:
(I)SWl至SW4都没有被按下,四个按键均没有低电平输入到单片机,单片机IC就会跳过第五步,返回到第三步重新运行主程序;
(2 )按下任一键,此按键将输出两路控制信号,一路经电容CI输入到单片机IC的外部中断输入端12管脚一个负脉冲信号,单片机IC开始执行中断指令,单片机IC复位,单片机IC复位后执行第三步运行主程序;此按键的另一路控制信号,输入到单片机IC的28管脚一个低电平,单片机IC检测到此按键输入的低电平后,就会控制单片机IC开始执行第五步运行此按键对应地子程序,又会返回到子程序的开头重新运行子程序,如此反复运行,要运行其他子程序,则要按下其他子程序对应地按键。
[0009]优选地,所述中断指令为软复位指令“ISP_C0NTR=0x20;”。
[0010]本发明包括硬件部分和软件部分,在软件程序中选择按键SWl至SW4中,按下某一按键时,按键将同时输出两路控制信号控制单片机1C,一路信号送至单片机IC的12管脚,12管脚为单片机IC的外部中断信号输入端,结合主程序中的外部中断信号软复位命令使单片机IC复位;另一路信号送至单片机IC的P2 口相应输入管脚,结合主程序中的多路选择命令,选择相应的那套程序开始执行输出。
[0011]在执行的过程中,如果想让单片机终止当前程序,去执行另一套程序,就按下另一套程序在SWl至SW4中相应的按键,同上述一样,单片机IC就又一次复位,结合主程序中的多路选择命令,去执行另一套程序。这样就实现了在4套不同程序之间,可以不定时来回切换的目的。
【附图说明】
[0012]图1为本发明的电路原理图。
[0013]图2为本发明的工作过程方框图。
【具体实施方式】
[0014]下面结合附图对本发明作进一步描述:
如图1所示,一种基于单片机的软复位多程序控制装置,包括单片机IC(STC89C52)、所述单片机IC(STC89C52)的I至8管脚为Pl 口,10至17管脚为P3 口,21至28为P2 口,32至39管脚为PO 口,所述Pl 口与信号输出端口PC连接,所述单片机IC(STC89C52)的9管脚一端与电容Cl I一端连接,另一端与电阻Rl的一端连接,电容Cl I另一端接电源正极VCC端,电阻Rl的另一端接GND端,单片机IC(STC89C52)的12管脚分别与电容C4的一端、电容C3的一端、电容C2的一端、电容Cl的一端连接,单片机IC(STC89C52)的18管脚、19管脚与晶振电路连接,单片机IC(STC89C52)的20管脚接GND端,单片机IC(STC89C52)的25管脚第一端与电容C4另一端连接,第二端与电容C8—端连接,第三端与按键SW4—端连接,电容C8另一端接GND端,按键SW4另一端接GND端,单片机IC(STC89C52)的26管脚第一端与电容C3另一端连接,第二端与电容C7—端连接,第三端与按键SW3—端连接,电容C7另一端接GND端,按键SW3另一端接GND端,单片机IC(STC89C52)的27管脚第一端与电容C2另一端连接,第二端与电容C6—端连接,第三端与按键SW2 —端连接,电容C6另一端接GND端,按键SW2另一端接GND端,单片机IC(STC89C52)的28管脚第一端与电容Cl另一端连接,第二端与电容C5—端连接,第三端与按键SWl —端连接,电容C5另一端接GND端,按键SWl另一端接GND端,单片机IC(STC89C52)的31管脚与电阻R2串联后接电源正极VCC端,单片机IC(STC89C52)的40管脚接电源正极VCC端。
[0015]进一步地,所述晶振电路包括单片机IC(STC89C52)、晶振JZ、电容C9、电容C10,所述单片机IC(STC89C52)的18管脚一端与晶振JZ—端连接,另一端与电容C9 一端连接,电容C9另一端接GND端,晶振JZ另一端接电容ClO—端,电容Cl O另一端接GND端。
[0016]如图1及图2所示,基于单片机的多程序软复位控制方法,包括:
第一步给单片机IC(STC89C52)通电开机;
第二步单片机IC(STC89C52)开始执行复位;
第三步单片机IC(STC89C52)开始运行主程序;
第四步根据单片机IC( STC89C52)开始检测按键SWl至SW4的输入状态,判断要运行的子程序;
第五步运行子程序。
[0017]进一步地,所述输入状态是根据检测到按键SWl至SW4的状态,选择下述任一种处理方法:
(1)SWl至SW4都没有被按下,四个按键均没有低电平输入到单片机,单片机IC就会跳过第五步,返回到第三步重新运行主程序;
(2)按下任一键,此按键将输出两路控制信号,一路经电容Cl输入到单片机IC(STC89C52)的外部中断输入端12管脚一个负脉冲信号,单片机IC(STC89C52)开始执行中断指令,单片机IC( STC89C52)复位,单片机IC( STC89C52)复位后执行第三步运行主程序;此按键的另一路控制信号,输入到单片机IC(STC89C52)的28管脚一个低电平,单片机IC(STC89C52)检测到此按键输入的低电平后,就会控制单片机IC(STC89C52)开始执行第五步运行此按键对应地子程序,又会返回到子程序的开头重新运行子程序,如此反复运行,要运行其他子程序,则要按下其他子程序对应地按键。
[0018]当按下按键SWl时,SWl将输出两路控制信号,一路经电容Cl输入到单片机IC(STC89C52)的12管脚一个负脉冲信号,12管脚为外部中断输入端,单片机IC(STC89C52)开始执行中断指令,这里的中断指令设置为软复位指令“ISP_C0NTR=0x20;”。单片机IC(STC89C52)复位,单片机IC(STC89C52)复位后执行第三步运行主程序,第四步运行判断要运行的子程序,SWl的另一路控制信号,输入到单片机IC(STC89C52)的28管脚一个低电平,单片机IC(STC89C52)检测到SWl输入的低电平后,就会控制单片机IC(STC89C52)开始执行第五步运行子程序I。(如果按下的按键是SW2时,单片机运行子程序2。如果按下的按键是SW3时,单片机运行子程序3。如果按下的按键是SW4时,单片机运行子程序4。)子程序I运行完后,又会返回到子程序I的开头重新运行子程序I,如此反复运行。
[0019]这里需要说明一下,按键按下一次保持低电平的最短时间是20毫秒,这个时间完全可以让单片机IC(STC89C52)复位和运行到第四步。
[0020]在反复运行子程序I的过程中,如果想让单片机IC(STC89C52)运行子程序2,就按下按键2,同上述一样,SW2输出两路控制信号,一路经电容C2输入到单片机IC(STC89C52)的12管脚,控制单片机IC(STC89C52)复位。SWl输出的另一路控制信号送至单片机IC(STC89C52)的27管脚,控制单片机IC(STC89C52)运行子程序2,子程序2运行完后,又会返回到子程序2的开头重新运行子程序2,如此反复运行。
[0021]其它子程序之间的切换过程也同上述一样,在此不再叙述。
[0022]综上所述,就可以实现让单片机,在多套不同子程序之间,不定时来回切换的目的。
[0023]优选地,所述中断指令为软复位指令“ISP_C0NTR=0x20;”。
【主权项】
1.一种基于单片机的软复位多程序控制装置,其特征在于,包括单片机(1C)、所述单片机(IC)的I至8管脚为(Pl) 口,10至17管脚为(P3) 口,21至28为(P2) 口,32至39管脚为(PO)口,所述(Pl) 口与信号输出端口(PC)连接,所述单片机(IC)的9管脚一端与电容(Cll)一端连接,另一端与电阻(Rl)的一端连接,电容(Cll)另一端接电源正极(VCC)端,电阻(Rl)的另一端接(GND)端,单片机(IC)的12管脚分别与电容(C4)的一端、电容(C3)的一端、电容(C2)的一端、电容(Cl)的一端连接,单片机(IC)的18管脚、19管脚与晶振电路连接,单片机(IC)的20管脚接(GND)端,单片机(IC)的25管脚第一端与电容(C4)另一端连接,第二端与电容(C8 ) 一端连接,第三端与按键(SW4 ) 一端连接,电容(C8 )另一端接(GND )端,按键(SW4 )另一端接(GND)端,单片机(IC)的26管脚第一端与电容(C3)另一端连接,第二端与电容(C7)—端连接,第三端与按键(SW3 )—端连接,电容(C7 )另一端接(GND )端,按键(SW3 )另一端接(GND )端,单片机(IC)的27管脚第一端与电容(C2)另一端连接,第二端与电容(C6)—端连接,第三端与按键(SW2 )—端连接,电容(C6 )另一端接(GND )端,按键(SW2 )另一端接(GND )端,单片机(IC)的28管脚第一端与电容(Cl)另一端连接,第二端与电容(C5)—端连接,第三端与按键(SWl)—端连接,电容(C5)另一端接(GND)端,按键(SWl)另一端接(GND)端,单片机(IC)的31管脚与电阻(R2)串联后接电源正极(VCC)端,单片机(IC)的40管脚接电源正极(VCC)端。2.根据权利要求1所述的基于单片机的软复位多程序控制装置,其特征在于,所述晶振电路包括单片机(IC)、晶振(JZ)、电容(C9)、电容(ClO),所述单片机(IC)的18管脚一端与晶振(JZ)—端连接,另一端与电容(C9)一端连接,电容(C9)另一端接(GND)端,晶振(JZ)另一端接电容(ClO)—端,电容(ClO)另一端接(GND)端。3.—种基于单片机的软复位多程序控制方法,其特征在于,包括: 第一步给单片机IC通电开机; 第二步单片机IC开始执行复位; 第三步单片机IC开始运行主程序; 第四步根据单片机IC开始检测按键SWl至SW4的输入状态,判断要运行的子程序; 第五步运行子程序。4.根据权利要求3所述的基于单片机的软复位多程序控制方法,其特征在于:所述输入状态是根据检测到按键SWl至SW4的状态,选择下述任一种处理方法: (1)SWl至SW4都没有被按下,四个按键均没有低电平输入到单片机,单片机IC就会跳过第五步,返回到第三步重新运行主程序; (2)按下任一键,此按键将输出两路控制信号,一路经电容Cl输入到单片机IC的外部中断输入端12管脚一个负脉冲信号,单片机IC开始执行中断指令,单片机IC复位,单片机IC复位后执行第三步运行主程序;此按键的另一路控制信号,输入到单片机IC的28管脚一个低电平,单片机IC检测到此按键输入的低电平后,就会控制单片机IC开始执行第五步运行此按键对应地子程序,又会返回到子程序的开头重新运行子程序,如此反复运行,要运行其他子程序,则要按下其他子程序对应地按键。5.根据权利要求4所述的基于单片机的软复位多程序控制方法,其特征在于,所述中断指令为软复位指令“ISP_C0NTR=0x20。
【文档编号】G06F9/48GK106055058SQ201610448885
【公开日】2016年10月26日
【申请日】2016年6月21日
【发明人】卫斌鹏
【申请人】卫斌鹏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1