您的位置:首页 > 文旅 > 旅游 > 东莞阳光网英语口语大赛官网_少儿编程加盟亏本_内容营销成功案例_市场调研报告word模板

东莞阳光网英语口语大赛官网_少儿编程加盟亏本_内容营销成功案例_市场调研报告word模板

2024/12/23 11:45:32 来源:https://blog.csdn.net/m0_74115051/article/details/142327603  浏览:    关键词:东莞阳光网英语口语大赛官网_少儿编程加盟亏本_内容营销成功案例_市场调研报告word模板
东莞阳光网英语口语大赛官网_少儿编程加盟亏本_内容营销成功案例_市场调研报告word模板

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于51单片机,设计一个简易电压表:

采用3位LED数码管显示被测电压值:基本测量范围是 0-5V;测量误差为士0.02V。开机或复位后,在 LED 最右端显示“P”,以提示系统正常:正常运行时,不断采集电压值并送显示。当测量电压超过2.5V时,通过蜂鸣器发出报警。

串口控制:

a. 通过按键选择蜂鸣器报警等级(共三级,等级一对应2V,等级二对应2.5V,等级三对应3V),第四位 LED 数码管显示报警级别;

b. 利用串口调试助手,通过上位机设定报警等级对应的电压阈值。

仿真图:

编辑

3000字WORD对应文档:

编辑

二、硬件资源

基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。

1、51单片机

2、DAC0832电路

3、按键模块

4、蜂鸣器模块

5、四位数码管

6、串口模块

三、程序编程

/*部分代码,全部代码取页尾资源*/
#include <REGX52.H>
#define uchar unsigned char
#define uchar unsigned char//管脚定义sbit jia=P1^6;sbit jian=P1^7;sbit key1 = P1^1;sbit key2 = P1^2;sbit key3 = P1^3;sbit LED1=P3^4;sbit LED2=P3^5;sbit LED3=P3^6;sbit LED4=P3^7;sbit beep = P3^3;//函数声明 void delay(void);	//延时	  void key(void);	   	//按键void add01(void);  	//步进加0.1void dec01(void);	//步进减0.1void shuchu(void);	//显示输出和电压调节void DA(void);		//模数转换void beepwarning(int n);uchar a\[11\]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8c};       uchar bw=0,sw=0,gw=5,dw=0;static unsigned char fvol=50;static unsigned char st=0;static int flag = 0,v1=20,v2=25,v3=30;static char Dat_rxd;void Com0_Init(void)
{EA=1;        //开总中断ES=1;        //允许串口中断TMOD=0x20;   //定时器T1,在方式3中断产生波特率SCON=0x50;TH1=0xfd;    //波特率设置为9600(晶振12M)TL1=0xfd;TR1=1;       //开定时器T1运行控制位
}void Com0(void) interrupt 4 using 1
{if(RI){Dat_rxd=SBUF;                 //串口接收Dat\_rxd=Dat\_rxd-0x30;RI=0;}
}void send_string(uchar *p)
{while(*p!= '\\0'){SBUF=*p;p++;while(TI==0);TI=0;}
}void main(void)		  //主程序
{ TMOD = 0x01;TH0  = (65535-2000)/256;TL0  = (65535-2000)%256; EA=1;ET0=1;TR0=1;Com0_Init();//串口初始化 beep = 0;while(1){	key();  DA();	if(Dat_rxd==0x01){ v1=30;}else if(Dat_rxd==0x02){v1=40;	}if(flag == 1){if(fvol>v1){beep =1;bw=1;}else{beep = 0;}}if(flag == 2){if(fvol>v2){beep =1;bw=2;}else{beep = 0;}}if(flag == 3){if(fvol>v3){beep =1;bw=3;}else{beep = 0;}}}
}

四、实现现象

具体动态效果看B站演示视频:

基于51单片机的电压表设计Proteus仿真(可串口远程调控)_哔哩哔哩_bilibili

全部资料(源程序、仿真文件、安装包、串口工具、WORD文档、演示视频):

链接:https://pan.baidu.com/s/1Xq576JK89ruRpT66LDXwNA 
提取码:xz2q 
–来自百度网盘超级会员V4的分享