基于单片机双路压力监测报警系统设计
1498下载地址 https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.0
1.开始仿真,压力上限初始值为99MPa;
2.点击按钮button(要使数码管全部清零),在键盘处输入上限值;
3.上限值修改成功,重新开始显示,显示第一路时左侧带有上限值标识,显示第二路时左侧没有标识;
4.当测量数值超过了所设定上限,二极管闪烁报警;
5.结束仿真。
#include<reg51.h> #include<absacc.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int #define a DWORD [0x40] #define b DWORD [0x50] /**************函数声明部分*************/ void jianpan1(void); void jianpan2(void); void DelayMS(uint x); void int_CHANGE(uint y); void Display1(void); void Display2(void); void beep(void); uchar code ledtab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0~9共阴字型码 uchar data ledbuf[8]={0x6f,0x6f,0x73,0x48,0x00,0x00,0x00,0x00}; //初始显示P=(数据缓冲区) sbit OE=P2^0; sbit EOC=P2^1; sbit ST=P2^2; sbit CLK=P2^3; sbit LE1=P2^4; sbit LE2=P2^5; sbit BUTTON=P2^6; sbit BEEP=P2^7; sbit r4=P1^7; uchar Pre_KeyNo,KeyNo; //存储键值 uchar num1,num2,num; //存储报警上限值 void main() //主函数 { uint i; TMOD=0x02; //方式2,8位自动重装初值定时方式 TH0=0x14; //计数初值寄存器 TL0=0x00; //8位计数器 IE=0x82; //开总中断,并允许T0中断