当前位置:网站首页>Blue Bridge Cup single chip microcomputer -- PWM pulse width modulation
Blue Bridge Cup single chip microcomputer -- PWM pulse width modulation
2022-07-05 03:21:00 【A lovely leather software】
One 、 principle
PWM The full name is Pulse width modulation (Pulse-width modulation), It is a way to reduce the average power transmitted by electrical signals by dispersing them into discrete forms . So according to Area equivalence The laws of , You can change the time width of the pulse by pair , In order to obtain the corresponding synthesis equivalently amplitude and frequency Waveform of .
The details are shown in the following figure :
It can be seen from the above figure , Pulse width modulation Use a square wave whose pulse width will be modulated , And the average value of the wave pattern will change .
The average value of the wave pattern is obviously directly related to Duty cycle D of . There are three duty cycle states in the graph ,25%,50% and 75% Duty cycle status , It's not hard to find out , Assume that the duty cycle is D( It means in a pulse cycle , Proportion of power on time relative to total time Duty Ratio), Then meet :, among T yes PWM The cycle of , Usually the same period as the carrier .
utilize PWM control LED brightness :PWM It is a pulse width modulated signal , Among them “ Width ”, That is, the high-level time of the pulse .PWM Signal conditioning LED When the brightness is high , The signal frequency is constant , What changes is the time of the high level of the pulse , namely LED On time of . This kind of signal adjusting brightness is equivalent to adjusting LED The average current of , So the current will change .
Two 、 Programming
utilize PWM Pulse width signal realizes independent key pressing S7 Yes L1 Control of indicator light brightness change .
specific requirement :
1.PWM The frequency of the pulse width signal is 100Hz.
2. After the system is powered on L1 The indicator light is off .
3.L1 Indicator light yes 4 Two brightness modes , They are completely extinguished 、10% The brightness of 、50% The brightness and 90% The brightness of .
4. Press down S7 Key , Cycle switching L1 Four brightness modes of the indicator light .
First the J5 Jumper cap of 2 and 3 On the pin
#include <reg52.h>
sbit L1=P0^0;
sbit S7=P3^0;
unsigned char count=0;
unsigned char pwm=0;
void delay(unsigned int t)// The time delay function
{
while(t--);
}
void InitT0()// Timer initialization function
{
TMOD=0X01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
ET0=1;
EA=1;
}
void serviceT0() interrupt 1// Timer service function
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;// The timing of each interrupt is 100μs
count++;
if(count==pwm)
{
L1=1;
}
else if(count==100)
{
L1=0;
count=0;
}
}
unsigned char flag=0;
void key()// Key related functions
{
if(S7==0)
{
delay(100);// Anti shake treatment
if(S7==0)
{
switch(flag)
{
case 0:L1=0;TR0=1;pwm=10;flag=1;break;
case 1:pwm=50;flag=2;break;
case 2:pwm=90;flag=3;break;
case 3:L1=1;TR0=0;flag=0;break;
}
while(S7==0);// Avoid touching by mistake
}
}
}
void main()
{
P2=0xA0;P0=0x00;P2=0x80;P0=0xff;// Turn off the peripherals
P2=0x80;L1=1;
InitT0();
while(1)
{
key();
}
}
边栏推荐
- Use UDP to send a JPEG image, and UPD will convert it into the mat format of OpenCV after receiving it
- Linux Installation redis
- Class inheritance in C #
- [deep learning] deep learning reference materials
- Asp+access campus network goods trading platform
- Azkaban实战
- ELFK部署
- 返回二叉树中两个节点的最低公共祖先
- SQL performance optimization skills
- What is the most effective way to convert int to string- What is the most efficient way to convert an int to a String?
猜你喜欢
Linux安装Redis
[2022 repair version] community scanning code into group activity code to drain the complete operation source code / connect the contract free payment interface / promote the normal binding of subordi
Vb+access hotel service management system
New interesting test applet source code_ Test available
SQL injection exercise -- sqli Labs
单项框 复选框
Multi person online anonymous chat room / private chat room source code / support the creation of multiple chat rooms at the same time
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
[groovy] loop control (number injection function implements loop | times function | upto function | downto function | step function | closure can be written outside as the final parameter)
SQL performance optimization skills
随机推荐
1.五层网络模型
[groovy] string (string splicing | multi line string)
Apache build web host
Share the newly released web application development framework based on blazor Technology
Design of kindergarten real-time monitoring and control system
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Leetcode92. reverse linked list II
PHP cli getting input from user and then dumping into variable possible?
Apache Web page security optimization
The database and recharge are gone
Acwing第 58 场周赛【完结】
Azkaban概述
[105] Baidu brain map - Online mind mapping tool
El tree whether leaf node or not, the drop-down button is permanent
2021 Li Hongyi machine learning (1): basic concepts
Jd.com 2: how to prevent oversold in the deduction process of commodity inventory?
Devtools的簡單使用
腾讯云,实现图片上传
040. (2.9) relieved
Flume配置4——自定义MYSQLSource