php做大型网站,地方网站如何做,销售管理系统实验报告,公司招聘做哪家网站目录
一、主要功能
二、硬件资源
三、程序编程
四、实现现象 一、主要功能
基于51单片机#xff0c;采用DAC0832和ADC0832检测电压#xff0c;0到8.5V#xff0c;设计复位电路 LED管显示实际稳压值#xff0c;初始电压0
二、硬件资源
基于KEIL5编写C代码#xff0c…目录
一、主要功能
二、硬件资源
三、程序编程
四、实现现象 一、主要功能
基于51单片机采用DAC0832和ADC0832检测电压0到8.5V设计复位电路 LED管显示实际稳压值初始电压0
二、硬件资源
基于KEIL5编写C代码PROTEUS8.15进行仿真全部资源在页尾提供安装包。
编辑
三、程序编程
#include REGX52.H#includeintrins.h //定义头文件#includestdio.h //定义头文件#define uchar unsigned char#define uchar unsigned char#define uchar unsigned char //定义变量#define uint unsigned int //定义变量//管脚定义sbit jiaP1^6;sbit jianP1^7;sbit LED1P3^4;sbit LED2P3^5;sbit LED3P3^6;sbit LED4P3^7;sbit CSP3^0; //adc0832引脚sbit CLKP3^1; //adc0832引脚sbit DIOP3^2; //adc0832引脚//函数声明 void delay(void); //延时 void key(void); //按键void add01(void); //步进加0.1void dec01(void); //步进减0.1void add1(void); //步进加1void dec1(void); //步进减1void shuchu(void); //显示输出和电压调节void DA(void); //模数转换void beepwarning(int n);uchar a\[11\]{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8c}; static unsigned char bw0,sw0,gw0,dw0; static unsigned char fvol00; static int number0; static unsigned char st0;uchar get\_AD\_Res() //ADC0832启动读取函数{uchar i, data10, data20; //赋值变量CS0; //CS赋值低电平CLK0;DIO1;\_nop\_(); //赋值变量 并且等待CLK1;\_nop\_(); //赋值变量 并且等待CLK0;DIO1;\_nop\_(); //赋值变量 并且等待CLK1;\_nop\_(); //赋值变量 并且等待CLK0;DIO0;\_nop\_(); //赋值变量 并且等待CLK1;\_nop\_(); //赋值变量 并且等待CLK0;DIO1;\_nop\_(); //赋值变量 并且等待for(i0; i8; i) //循环{CLK1;\_nop\_(); //赋值变量 并且等待CLK0;\_nop\_(); //赋值变量 并且等待data1(data11)|(uchar)DIO;//赋值变量 并且等待 } for(i0; i8; i) //循环{data2data2|(uchar)DIOi;//赋值变量 并且等待CLK1;\_nop\_(); //赋值变量 并且等待CLK0;\_nop\_(); //赋值变量 并且等待}CS1; //赋值高电平return(data1 data2)?data1:0; //返回值}
void main(void) //主程序{ double u;TMOD 0x01;TH0 (65535-2000)/256;TL0 (65535-2000)%256; EA1;ET01;TR01; while(1){ key(); DA(); uget\_AD\_Res();}
}void delay(void) //延时程序{ unsigned char i,j; for(i10;i0;i--) for(j248;j0;j--);
}
void key(void) //按键{uchar k;P10xff;kP1; if(k0xff) return; delay();kP1; if(k0xff) return; while(P1!0xff) delay(); switch(k){ case 0xbf:add01();break; case 0x7f:dec01();break; case 0xfe:add1();break; case 0xfd:dec1();break;}
} void add1(void){ if(fvol85) {fvolfvol10; if(fvol85)fvol 85;}swfvol/100;gwfvol%100/10;dwfvol%10;
}void dec1(void){ if(fvol00) fvolfvol-10;swfvol/100;gwfvol%100/10;dwfvol%10;
}void add01(void) //步进加 0.1{ if(fvol85) fvol;swfvol/100;gwfvol%100/10;dwfvol%10;
}
void dec01(void) //步进减0.1{ if(fvol00) fvol--;swfvol/100;gwfvol%100/10;dwfvol%10;
} void Timer0() interrupt 1{TH0 (65535-2000)/256;TL0 (65535-2000)%256; switch(st){ case 0: st1;LED21;LED31;LED41;P0a\[bw\];LED10;break; case 1: st2;LED31;LED41;LED11;P0a\[gw\]0x80;LED20;break; case 2: st3;LED11;LED21;LED41;P0a\[dw\];LED30;break; case 3: st0;LED11;LED21;LED31;P0a\[10\];LED40;break;}
}void DA(void) //模数转换{ unsigned char temp,dianya;tempsw\*100gw\*10dw;dianyatemp\*2.13\*0.9*0.984;P2dianya;
}四、实现现象
具体动态效果看B站演示视频 B站演示视频
基于单片机的精确电压表DA-AD转换
全部资料源程序、仿真文件、安装包、演示视频
百度网盘下载资料https://pan.baidu.com/s/1F3iOjg7KN7wQQkEIwByUxQ?pwdef5v