一 设计思路本设计采纳 AT89C51 为主控芯片,外部采纳 ADC0804 作为电压采集芯片,外部电压最高为 10V,而 ADC0804 最高电压为+5V,所以模拟量连接入 ADC 芯片之前,首先用电阻分压,把待测电压分为原来的一半,这样所检测的电压就用 0-10V 变成了 0-5V,符合 ADC 芯片的输入要求,在检测电压后,经过单片机处理后,在在原来的电压基础上乘以 2 则可以恢复以前的待测电压。电压报警电路则由一路继电器和发光二极管,以及喇叭所组成。当 ADC芯片所检测的电压超过一定的限制,则使特定的 IO 口变成低电平,导通 PNP三极管,使继电器导通,发光 LED 和喇叭行成压降。产生报警。由 ADC 芯片采集的电压值,和由电阻所变换计算出的电流值,在 LCD 上显示。报警电压由两个按键所设定,当按键一按下则报警值加 0。1V,当按键二按下则报警值减掉 0.1V.单片机内部随时把采集电压和报警电压进行比较,当采集电压高过报警电压,则启动报警.二 整体电路图、三 仿真图形 电压,电流显示电路 声光报警电路 按键设置电路本次设计由于 protues 中的 12864 只有不带字库的液晶显示器,操作极为复杂.由于时间问题。软件程序仅仅调试了液晶 1602 显示器.信任只要有时间 12864 的显示也一定能够完成。 四 软件程序#include #include