当前位置:网站首页>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();
}
}
边栏推荐
- [Yu Yue education] National Open University autumn 2018 8109-22t (1) monetary and banking reference questions
- Design and implementation of campus epidemic prevention and control system based on SSM
- Leetcode42. connect rainwater
- Anchor free series network yolox source code line by line explanation four (a total of ten, ensure line by line explanation, after reading, you can change the network at will, not just as a participan
- Port, domain name, protocol.
- Breaking the information cocoon - my method of actively obtaining information - 3
- Leetcode92. reverse linked list II
- Talk about the SQL server version of DTM sub transaction barrier function
- Devtools的簡單使用
- Returns the lowest common ancestor of two nodes in a binary tree
猜你喜欢
ELFK部署
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Design and implementation of high availability website architecture
IPv6 experiment
New interesting test applet source code_ Test available
Class inheritance in C #
Talk about the SQL server version of DTM sub transaction barrier function
Flume配置4——自定义MYSQLSource
Azkaban概述
[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
随机推荐
Single box check box
Design and implementation of kindergarten management system
Eight days of learning C language - while loop (embedded) (single chip microcomputer)
看 TDengine 社区英雄线上发布会,听 TD Hero 聊开发者传奇故事
Azkaban安装部署
Zabbix
Yyds dry goods inventory intelligent fan based on CC2530 design
PHP cli getting input from user and then dumping into variable possible?
Sqoop安装
Acwing game 58 [End]
Class inheritance in C #
51 independent key basic experiment
Design and implementation of community hospital information system
Devtools的簡單使用
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Ask, does this ADB MySQL support sqlserver?
Acwing第 58 场周赛【完结】
有个疑问 flink sql cdc 的话可以设置并行度么, 并行度大于1会有顺序问题吧?
Three line by line explanations of the source code of anchor free series network yolox (a total of ten articles, which are guaranteed to be explained line by line. After reading it, you can change the
問下,這個ADB mysql支持sqlserver嗎?