首页 >> 碟阀

改造成品单片机系统的方法0液化气设备


2022年08月25日

改造成品单片机系统的方法

改造成品单片机系统的方法 2011年12月10日 来源: 制作微机监控系统时,若受监控对象本身也是一个微机系统,且又没有电路图、程序等资料时,如何采集对象的内部数据(如CPU状态等),如何修改对象的程序方不至令原系统运行不稳定和崩溃,如何充分利用监控对象的资源,是一个带有普遍性的问题。1用双端口RAM采集数据  监控系统的首要任务是获取受控对象的各种状态信息。用IO线取得的只是其外部信息,且当高频时容易遗漏。要取得重要的内部信息,必须设法使监控对象的CPU自动送出信息,即采用双CPU通讯。无论用并行通讯还是串行通讯,都要大幅修改原机程序,且要占用原机CPU很多等待、检测通讯口的时间,很容易破坏原机的固有时序。较好的方法是采用共享存贮器方式,只要在原机程序的适当位置插入一段程序,令其定时将自身的重要信息(例如片内RAM的256字节内容)送到共享存贮器就可以了。 本系统采用双端口存贮器IDT7132来实现两CPU的通讯。双口存贮器有2套独立的IO电路,可供2个CPU在不同时刻读写各个存贮单元。但同时访问同一存贮单元会产生冲突。IDT7132有一套冲突仲裁电路,使先到一方获得优先权实现读写操作,而向另一方发出一个冲突信号BUSY。  冲突发生时,访问存贮器失败的一方要将刚失败的一句指令再执行一次,本系统是将BUSY线接到单片机的中断线INT0,电路见图1。但单片机的程序指针PC不能直接被读写,而中断的发生又是随机的,无法掌握其出现的时刻,要重复执行中断前的一句指令殊不容易。为实现这功能,用了一点技巧:因为,中断服务程序执行前,PC值必自动压入堆栈,可在中断服务程序中将该PC值出栈,作减3处理后再入栈,则中断结束出栈的PC值已退回指向到中断前的一句指令了。

原实验机已经使用了5条高位地址线,若要增加2KB容量的IDT7132,将超过8031单片机最大64K存贮空间的限制。为此,利用单片机一条悬空的中断口引脚INT1充当IDT7132的片选控制线,CPU要访问IDT7132就不能仅用常规的MOVX指令,而必须在读写存贮器的前后各增加一条使INT1变低电平然后变高电平的指令,该指令如下: CLRINT1MOVXA,@DPTR  SETBINT12原系统已用资源的查找  要改造别人的系统,难点之一是要了解原系统对各种资源的使用情况。单片机的内部读写存贮器RAM只有128字节,而要增改原机程序必须使用这些片内RAM,从而可能造成资源冲突。为了解原系统对片内RAM的使用情况,借用了文字编辑软件的搜索功能。因为单片机对片内RAM的寻址方式只有2种:(1)直接寻址,此时,可将RAM的直接地址作为搜索关键字,调用编辑软件的搜索功能,在原实验机程序中逐个显示该地址出现的地方;(2)以R0和R1为指针的间接寻址,这时,可分别以@R0和@R1为关键字搜索原程序,在出现的地方分析R0和R1的变化情况及范围。  若以上两方法匀未找到所关注的RAM单元,则可以肯定原系统未使用该资源。若该单元同时又是可位寻址的,而位地址只有直接寻址一种方式,故必须采用上述的第(1)种方式搜索一次,结论也是非常明确的。3修改和插入程序的方法  如果监控对象的信号是软件方式产生的(本实验机就是这样),修改、增加程序时在时间开销上要非常小心,否则会导致原机时序出错。以下是两种常用的可行方法:  (1)在原程序的延时过程中,删除其延时指令,插入执行时间大致同其原延时时间相当的新程序。例如,原实验机为数码管显示而设的延时子程序就被用于将适当个字节的信息传递到双端口存贮器。 (2)在原程序中等待某些事件发生的过程中,插入新程序。例如等待键盘按键时,可以控制程序跳往新的功能模块,执行适当时间后再返回。4监视定时器WDT的处理  在大部分微机控制系统中,WDT(看门狗,在6800系列中是COP)都是首选的抗干扰措施之一,其作用是以软件和硬件方式设置一个定时器,定时强制系统复位,以防止程序失控“跑飞”。  修改旧程序时必须留意查看原系统有无WDT,否则可能导致系统崩溃。若有,则首先要找到WDT的定时时间。硬件WDT的时间值一般是固定的,可查资料得到。例如8096系列是64K个状态周期。软件WDT要先找到所用的定时器,可循2个途径:(1)芯片自身的定时器。这可以在定时器中断服务程序中查找,例如8051系列的二个定时器的中断服务程序入口地址分别是000BH和0001BH,查看这2段程序可知哪一个是用于WDT的,然后进一步在主程序的初始化设置中查看对该定时器的设置,便可找到定时时间;(2)外围芯片(例如8155)的定时器,要将之用于WDT必须将定时器溢出线接到单片机的某外部中断线上,查看这些外部中断服务程序就可以找到相应的定时器,再查看主程序中对该定时器的设置,也能找到定时值。  知道了WDT的溢出时间后,就可以在修改或增加的程序中,每隔规定的时间插入一段指令清除定时器以使WDT不对系统复位。例如对8096系统,若不使用乘除指令,可以每执行约4K条指令插入以下2条指令: MOV0AH,#1EH  MOV0AH,#E1H5借用监控对象的资源  充分利用监控对象的资源,可以降低成本,最主要是可以使学生不必耗费时间多学习一台仪器的使用方法。本监控系统借用了原实验机上的键盘和数码管显示器。  原实验机以扫描IO口方式扩展6位键盘,每个键盘都赋予了固定的键值和键功能,以及固定的键处理程序段。为了利用原实验机的键盘使其执行新的键功能,又不破坏原来的功能,采用了这样的方法:改写原机的键盘扫描程序段,定义当某2个键(是在原机中没有用到的)同时按下时,就跳出原程序转往一个新编写的程序模块。在该新模块中,所有键功能都可以被任意重新定义,当处理完新按键后再转回原机程序中执行。  要利用原机的数码管显示器,可以有两种方法: (1)编写新的显示程序;(2)利用原程序的显示功能,将要显示的内容嵌入原程序中。因后者能很好地兼容原机程序,不易导致系统出错或崩溃,故选用之。通过研究和测试,知原机的显示机理是将显示数据送缓冲区,由专用显示模块转为八段数码管显示值。但其转换算法非常复杂繁锁。为不占用原机CPU太多时间及不易出错,将所有可能的数据逐个送入缓冲区,测出一张数据同显示式样的对照表,在增加的新程序中,将显示数据查表转换后送缓冲区就可以了。

齐齐哈尔15吨的污泥运输车-15立方污泥运输车按揭

建筑安全网多少钱一张工地安全网多少钱广东工地防护建筑安全

壁挂式臭氧发生器

日照回收高压电缆回收高压电缆免费估价行情

超力均质机换热效率

高纯锡颗粒纯度99.99%-99.999%SnpelletSn-G4025锡颗粒

皮带输送机的滚筒三条皮带的输送机圣能机械物流皮带输送机图

家用豆腐机商用全自动大型制作设备免过滤磨浆机花生豆腐机

南平男生韩版西服范之力服装供应

江淮康铃污泥清运车价格

相关阅读
最火全国铝铁盐核心企业考察团莅临氧化铝厂参观弹簧螺丝滚珠螺套水平仪圆锥轴承TRp

全国铝铁盐核心企业考察团莅临氧化铝厂参观考察【铝道】氧化铝厂面对供给...

2024-04-03
最火南京防静电气泡袋的防静电值被损坏的问题测径仪高安空调器伞齿轮压力容器TRp

南京防静电气泡袋的防静电值被损坏的问题您当前位置:首页 技术支持南京...

2024-04-03
最好向更优秀者学习电子药盒激光水平仪跑步器推杆铸铁阀TRp

向更优 秀者学习【铝道】11月10日,以 高质量 新技术 再创铝业新辉煌 为主题...

2024-04-03
最好焦作沙棘果油哪里有卖不锈钢丝干燥架开口销柔印机旋挖钻TRp

焦作沙棘果油哪里有卖您当前位置:首页 企业焦作沙棘果油哪里有卖焦作沙...

2024-04-03
最好珠三角最专业的云母产品制造商电梯空调机械工具扭力计铜川周转车TRp

珠三角最专业的云母产品制造商您当前位置:泰州首页 企业珠三角最专业的...

2024-04-03
最好24日廊坊市场建筑钢材价格行情插件线高温球阀控制继电器厦门轧钢TRp

24日廊坊市场建筑钢材价格行情您当前位置:首页 价格行情24日18、工作缸-塞...

2024-04-03
友情链接