当前位置: 首页 > news >正文

可以访问国外网站的dns装修设计网站哪个好用

可以访问国外网站的dns,装修设计网站哪个好用,怎么自己创造网站,高效完成网站建设的步骤PWM原理: 频率占空比:精度占空比变化步距 电机驱动电路:利用PWM实现呼吸灯代码 sbit LEDP2^0;//引脚定义unsigned char Time,i;//变量定义void Delay(unsigned int t)//定义延时 {while(t--); }main函数里:int main() {unsigned c…

PWM原理: 

  • 频率=\frac{1}{​{t{s}}}
  • 占空比:\frac{​{t{H}}}{​{t{s}}}
  • 精度=占空比变化步距 

 电机驱动电路:


利用PWM实现呼吸灯代码 

sbit LED=P2^0;//引脚定义
unsigned char Time,i;//变量定义
void Delay(unsigned int t)//定义延时
{while(t--);
}

main函数里:

int main()
{unsigned char Time,i;while(1){for(Time=0;Time<255;Time++)//呼吸灯{for(i=0;i<20;i++){LED=0;Delay(Time);LED=1;Delay(255-Time);}}for(Time=255;Time>0;Time--){for(i=0;i<20;i++){LED=0;Delay(Time);LED=1;Delay(255-Time);}}}
}

 利用定时器中断产生PWM波实现电机调速:

主函数:

#include <REGX52.H>
#include "Delay.h"
#include "key.h"
#include "SEG.h"
#include "timer.h"extern unsigned char Compare;
unsigned char KeyNum,Speed;
int main()
{TIM0_Init();while(1){KeyNum=Key();if(KeyNum==1){Speed++;Speed%=4;if(Speed==0){Compare=0;}if(Speed==1){Compare=50;}if(Speed==2){Compare=75;}if(Speed==3){Compare=100;}}SegDisplay(1,Speed);}
}

延时函数部分:

#include "Delay.h"void Delayms(unsigned char xms)		//@12.000MHz
{unsigned char i, j;while(xms){i = 2;j = 239;do{while (--j);}while (--i);xms--;}
}

按键部分:

#include "key.h"
#include <REGX52.H>
#include "Delay.h"extern unsigned char LEDMode;
extern unsigned int Password;
unsigned char Count=0;
/*** @brief  矩阵键盘读取按键键码* @param  传入的参数 无* @retval 返回值 KeyNumber:按下按键的键码值*/
unsigned char MatrixKey()//按列扫描
{unsigned char KeyNumber=0;P1=0XFF;P1_3=0;if(P1_7==0){Delayms(20);while(P1_7==0);Delayms(20);KeyNumber=1;}//按键释放后有效if(P1_6==0){Delayms(20);while(P1_6==0);Delayms(20);KeyNumber=5;}if(P1_5==0){Delayms(20);while(P1_5==0);Delayms(20);KeyNumber=9;}if(P1_4==0){Delayms(20);while(P1_4==0);Delayms(20);KeyNumber=13;}P1=0XFF;P1_2=0;if(P1_7==0){Delayms(20);while(P1_7==0);Delayms(20);KeyNumber=2;}if(P1_6==0){Delayms(20);while(P1_6==0);Delayms(20);KeyNumber=6;}if(P1_5==0){Delayms(20);while(P1_5==0);Delayms(20);KeyNumber=10;}if(P1_4==0){Delayms(20);while(P1_4==0);Delayms(20);KeyNumber=14;}P1=0XFF;P1_1=0;if(P1_7==0){Delayms(20);while(P1_7==0);Delayms(20);KeyNumber=3;}if(P1_6==0){Delayms(20);while(P1_6==0);Delayms(20);KeyNumber=7;}if(P1_5==0){Delayms(20);while(P1_5==0);Delayms(20);KeyNumber=11;}if(P1_4==0){Delayms(20);while(P1_4==0);Delayms(20);KeyNumber=15;}P1=0XFF;P1_0=0;if(P1_7==0){Delayms(20);while(P1_7==0);Delayms(20);KeyNumber=4;}if(P1_6==0){Delayms(20);while(P1_6==0);Delayms(20);KeyNumber=8;}if(P1_5==0){Delayms(20);while(P1_5==0);Delayms(20);KeyNumber=12;}if(P1_4==0){Delayms(20);while(P1_4==0);Delayms(20);KeyNumber=16;}return KeyNumber;
}/*** @brief  独立按键* @param  无* @retval 返回值 KeyNumber:按下按键的键码值*/
unsigned char Key()
{unsigned char KeyNumber=0;if(P3_1==0){Delayms(20);while(P3_1==0);Delayms(20);KeyNumber=1;}//按键释放后有效if(P3_0==0){Delayms(20);while(P3_0==0);Delayms(20);KeyNumber=2;}if(P3_2==0){Delayms(20);while(P3_2==0);Delayms(20);KeyNumber=3;}//按键释放后有效if(P3_3==0){Delayms(20);while(P3_3==0);Delayms(20);KeyNumber=4;}return KeyNumber;
}

数码管部分:

#include <REGX52.H>
#include "Delay.h"/*共阴断码0~9,A~F*/
unsigned char SegTable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};void SegDisplay(unsigned char Location,Number)//1位显示数据
{switch(Location){case 1:P2_4=1;P2_3=1;P2_2=1;break;case 2:P2_4=1;P2_3=1;P2_2=0;break;case 3:P2_4=1;P2_3=0;P2_2=1;break;case 4:P2_4=1;P2_3=0;P2_2=0;break;case 5:P2_4=0;P2_3=1;P2_2=1;break;case 6:P2_4=0;P2_3=1;P2_2=0;break;case 7:P2_4=0;P2_3=0;P2_2=1;break;case 8:P2_4=0;P2_3=0;P2_2=0;break;}P0=SegTable[Number];
//	Delayms(1);/*消影:位选 段选(清0)位选 段选 位选 段选 */
//	P0=0x00;
}
void SegTest(void)
{unsigned char a=1,b=0;SegDisplay(a,b++);Delayms(1000);if(b==10){b=0;a++;}if(a==9){a=1;}}

定时器部分:

#include "timer.h"
#include <REGX52.H>
#include "INTRINS.H"unsigned char Compare;
sbit Motor=P1^0;/*** @brief  定时器0初始化,12Mhz,100us* @param  无* @retval 无*/
void TIM0_Init()
{//TMOD=0X01;//模式1TMOD&=0XF0;//	TMOD=TMOD&0XF0;//把TMOD的低4位清零,高4位不变TMOD|=0X01;//	TMOD=TMOD|0X01;//把TMOD的最低位置1,高4位不变TF0=0;TR0=1;//开始计时TL0 = 0x9C;		//设置定时初值TH0 = 0xFF;		//设置定时初值
//中断配置ET0=1;EA=1;PT0=0;//关闭高优先级
}void TIM0_NVIC(void) interrupt 1
{static unsigned int Tim0_Count;TL0 = 0x9C;//重装初值TH0 = 0xFF;	
//	Tim0_Count++;
//	if(Tim0_Count>=100)
//	{
//			Tim0_Count=0;
//	}Tim0_Count%=100;//与上述效果一致if(Tim0_Count<Compare){Motor=1;}else{Motor=0;}
}

 利用定时器中断产生PWM电机调速核心代码:

extern unsigned char Compare;
unsigned char KeyNum,Speed;
int main()
{TIM0_Init();while(1){KeyNum=Key();if(KeyNum==1){Speed++;Speed%=4;if(Speed==0){Compare=0;}if(Speed==1){Compare=50;}if(Speed==2){Compare=75;}if(Speed==3){Compare=100;}}SegDisplay(1,Speed);}
}
void TIM0_NVIC(void) interrupt 1
{static unsigned int Tim0_Count;TL0 = 0x9C;//重装初值TH0 = 0xFF;	
//	Tim0_Count++;
//	if(Tim0_Count>=100)
//	{
//			Tim0_Count=0;
//	}Tim0_Count%=100;//与上述效果一致if(Tim0_Count<Compare){Motor=1;}else{Motor=0;}
}
http://www.dtcms.com/a/425485.html

相关文章:

  • 百度没有投放的网站点击优秀网页 网站
  • 网站建设专题页建设主管部门官方网站
  • 黄冈网站排名最高西安公司网站建设
  • 网站建设概怎么做一个企业的网站
  • 化妆品电子商务网站建设规划书网站发布和管理系统
  • jsp做网站框架打开手机网站速度慢
  • 网站建设ppt方案用老薛主机做网站
  • 柳州网站建设工作室策划公司排名前十名
  • 做网站知乎网站建设公司哪家好 该如何选择
  • 长春网站建设翻译o2o网站建设好么
  • 商融建设集团有限公司网站学短视频剪辑与制作
  • 网站建设 常州减肥瘦身网站模板源码
  • 购买域名后如何建设网站a963设计网作品
  • 网站网页设计工作内容注册空壳公司帮人走账
  • 漳州微网站建设公司企业管理软件a6
  • html电子商务网站模板网站开发难易处
  • 长沙做网站的公司哪家最好网页制作入门到精通
  • 服装展示网站源码wordpress导出媒体
  • 大连零基础网站建设培训班电脑页面设计怎么弄
  • 免费网站模板带后台下载制作网页图片格式
  • wordpress著名插件佛山企业网站优化
  • 策划方案免费的网站chat gpt 国内版
  • 网站建设国内现状条形码生成器在线制作图片
  • 网站站建设建设中页中页手机网站封装用户体验
  • 网站策划书的撰写流程是什么网络科技公司的经营范围有哪些
  • 做专业课视频课的网站百度精准搜索
  • 毕业设计网页制作网站建设怎么做自己的充值网站
  • dede网站后台地址扫描黑龙江省建筑信息平台
  • 上海专业建设网站网络工具
  • 云建站优势手机做任务的网站有哪些内容