当前位置: 首页> 科技> 数码 > 成都装修公司推荐_电子商务网站制作公司_推广产品的方法和步骤_注册域名要钱吗

成都装修公司推荐_电子商务网站制作公司_推广产品的方法和步骤_注册域名要钱吗

时间:2025/9/14 4:09:17来源:https://blog.csdn.net/weixin_70360261/article/details/142752308 浏览次数:2次
成都装修公司推荐_电子商务网站制作公司_推广产品的方法和步骤_注册域名要钱吗

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于51单片机,采用滑动变阻器连接ADC0832数模转换器模拟角度传感器,然后通过LCD1602显示数值,然后按键按下不动,电机正转,松开停止。第二个按键按下,电机反转,松开停止,角度范围10到80度。

二、硬件资源

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

编辑

三、程序编程

#include <REGX52.H>	    //定义头文件#include<intrins.h>		//定义头文件#include<stdio.h>		//定义头文件#include "Delay.h"		//定义Delay头文件#include "LCD1602.h"	//定义LCD1602头文件#define uchar unsigned char	 //定义变量#define uint unsigned  int	 //定义变量sbit CS=P2^5;                 //adc0832引脚sbit CLK=P2^3;				  //adc0832引脚sbit DIO=P2^4;				  //adc0832引脚sbit Motor1\_IN1 = P3^3;	//电机IN口sbit Motor1\_IN2 = P3^4;	//电机IN口sbit key1 = P1^0;
sbit key2 = P1^1;
sbit key3 = P1^2;
sbit key4 = P1^3;
sbit key5 = P1^4;uchar get\_AD\_Res()            //ADC0832启动读取函数{uchar i, data1=0, data2=0;	 //赋值变量CS=0;						 //CS赋值低电平CLK=0;DIO=1;\_nop\_();		 //赋值变量 并且等待CLK=1;\_nop\_();				 //赋值变量 并且等待CLK=0;DIO=1;\_nop\_(); 		 //赋值变量	并且等待CLK=1;\_nop\_();				 //赋值变量	并且等待CLK=0;DIO=0;\_nop\_();		 //赋值变量	并且等待CLK=1;\_nop\_();				 //赋值变量	并且等待CLK=0;DIO=1;\_nop\_(); 		 //赋值变量	并且等待for(i=0; i<8; i++)			 //循环{CLK=1;\_nop\_();			//赋值变量	并且等待CLK=0;\_nop\_();			//赋值变量	并且等待data1=(data1<<1)|(uchar)DIO;//赋值变量	并且等待 }	for(i=0; i<8; i++)			//循环{data2=data2|(uchar)DIO<<i;//赋值变量 并且等待CLK=1;\_nop\_();			 //赋值变量	并且等待CLK=0;\_nop\_();			 //赋值变量	并且等待}CS=1;					     //赋值高电平return(data1 == data2)?data1:0;	//返回值}void main()					  //主函数{	double u,U,R;        //定义变量LCD_Init();         //显示屏初始化LCD_ShowString(1,1,"jiaodu:");	while(1){u=get\_AD\_Res();	       //读取ADC0832值R=(u/255)*70+10;		
//		U=(250\*u)/128;         //此处将模拟信号转化为数字信号,要根据上拉电阻阻值来确定//		R=200\*U/250;	       //公式换算LCD_ShowNum(1,8,R,3); //LCD1602第一行第13个字符开始显示R的值if(key1==0){Motor1_IN1 = 1;Motor1_IN2 = 0;}		else if(key1 == 1){Motor1_IN1 = 0;Motor1_IN2 = 0;	}		if(key2==0){Motor1_IN2 = 1;Motor1_IN1 = 0;}		else if(key1 == 1){Motor1_IN1 = 0;Motor1_IN2 = 0;	}		if(key3==0){			Delay(100);			if(key3==0){R=10;}}   	if(key4==0){			Delay(100);			if(key4==0){R=30;}}		if(key5==0){			Delay(100);			if(key5==0){R=55;}}}
}

四、实现现象

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

B站演示视频

基于51单片机的电机控制和角度检测

全部资料(源程序、仿真文件、安装包、演示视频):

百度网盘资料下载

关键字:成都装修公司推荐_电子商务网站制作公司_推广产品的方法和步骤_注册域名要钱吗