以拨动开关K0~K7作为8个故障源,拨成ON的为产生的故障,当中断键为1时为正常工作,4个数码管稳定显示“——GOOD——”,当中断键为0(按下)为发生故障,第四个数码管分别齐亮齐灭闪烁故障源号码(定时)(多个故障源)
扩展部分:
1)喇叭用循环高、低音作为报警声,直到故障排除,解除警报后,显示” END”,并恢复正常工作状态。
2)创新设计
可以邮箱[email protected]
我是这样想的呀···不会做··已经把显示GOOD和检测开关做了·还差循环高 低音报警和显示END了·
追答我不知道你硬件平台怎么搭建的,怎么写啊?你的故障源录入是并转串模块录入还是直接用了一组接口?你把硬件接口图给我,我才能帮你写啊……
可能出的问题:
外部中断0要设置成低电平跳变触发,便于恢复,如果P1口作为故障录入端口,刚好8个,然后内置一个字符型变量(255个够了),中断触发的时候把P1口每个位的数据读出来写到字符型变量里面,然后置于数码管显示的数字,根据变量用if选择就行了,喇叭一定要用无源的,高音和低音用个简单的延时函数就能解决,高频就是高音,低频就是低音(写到中断0函数里面),然后你的故障排除是在线排除还是别的?如果是在线排除,你的故障录入段要做一个扫描,类似于4*4按键阵列的扫描,不断地把变量写到字符型变量里面,直到变量变为0xff或者0x00跳出中断返回程序最初(看你的录入是拉高还是拉低,因为51片子上电默认高,所以一般是拉低)。
P0口作为故障录入端口 k0~k7为P0对应的8个位,其中硬件平台上有这8个按键,拨成ON的为产生的故障,P1口对应于8个LED数码显示器·
采用的是AT86S51单片机(ISP型)
QQ40856947