2024新年快乐

2023-12-31 22:12
文章标签 2024 新年快乐

本文主要是介绍2024新年快乐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

2023年马上就要过去,希望2024年会越来越好,根据自己学的内容来实现一些我的idea。

单片机

思路

最开始的构思是这样的,“2024”用数码管来输出然后中文的“新年快乐”用点阵来实现,但是点阵是动态的截图不好看,就想干脆用LCD1602输出英文的新年快乐算了,这样就只需要一个AT89C51就行了,还剩下五根引脚,想起来过年我印象中听过最多的歌是“好运来”就想增加一个蜂鸣器来播放好运来歌曲,大致的构思出的原理图如下,实验所需器件在代码后面。

3b046931d58a4e96bb4c4270e571139d.png

 2024

首先是对2024的输出,这个就是输出他的BCD码。这个网络标号最开始就是C0在上面,输出的时候发现不对,然后就反过来标记,算是蒙对的。

#include<reg51.h>void main(void){while(1){//2024 0010 0000 0010 0100P1=0x20;P3=0x24;}
}

7fc401bec8ca423bb6a96788a6772d5c.png

Happy New Year 

用LCD 1602输出我们没必要重新书写代码,只需要修改之后的代码即可。顺便对输出“2024”部分封装成函数。字符型液晶显示器LCD 1602的显示控制(Keil+Proteus)_1602液晶显示电路在keli中名称-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134224776

#include<reg51.h>
#include<intrins.h>	//包含_nop_()空函数指令的头文件
#define uchar unsigned char 
#define uint unsigned int
#define out P0
sbit RS=P2^0;//位变量
sbit RW=P2^1;//位变量
sbit E=P2^2;//位变量
//函数声明部分
void lcd_initial(void);//LCD初始化函数
void check_busy(void);//检查忙标志位函数
void write_command(uchar com);//写命令函数
void write_data(uchar dat);//写数据函数
void string(uchar ad,uchar *s);//显示字符串
void delay(uint);//延时
void print_LED();//输出“2024”的数码管void main(void){lcd_initial();//对LCD初始化while(1){print_LED();string(0x81,"Happy New Year");//显示第一行的字符string(0xC1,"peace happiness");//显示第二行的字符delay(100);//延时write_command(0x01);//清屏delay(100);//延时}
}//延时
void delay(uint j){uchar i=250;for(;j>0;j--){while(--i);i=249;while(--i);i=250;}
}//检查忙标志
void check_busy(void){uchar dt;do{dt=0xff;//dt为变量单元,初值为0xff//RS=0,E=1时才可以读忙标志位E=0;RS=0;RW=1;E=1;dt=out;//out为P0口,P0口的状态送入dt中}while(dt&0x80);//如果忙标志位BF=1,继续循环检测,等待BF=0E=0;//BF=0,LCD 1602不忙,结束检测
}//写命令
void write_command(uchar com){check_busy();//按规定RS和E同时为0时,才可以写命令E=0;RS=0;RW=0;out=com;//将命令com写入P0口E=1;//写命令时,E应为正脉冲,即正跳变,所以前面先置E=0_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,LCD 1602开始执行命令delay(1);//延时,等待硬件反应
}//写数据
void write_data(uchar dat){check_busy();//检测忙标志位BF=1则等待,若BF=0,则可对LCD 1602写入命令E=0;//按规定写数据时,E应为正脉冲,所以先置E=0//按规定RS=1和RW=0时,才可以写入数据RS=1;RW=0;out=dat;//将数据”dat“从P0口输出,即写入LCD 1602E=1;//E产生正跳变_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,写数据操作结束delay(1);
}//液晶显示器初始化函数
void lcd_initial(void){write_command(0x38);//8位两行显示,5*7点阵字符_nop_();//空操作1个机器周期,等待硬件反应write_command(0x0C);//开整体显示,光标关,无闪烁_nop_();//空操作1个机器周期,等待硬件反应//write_command(0x05);//光标右移_nop_();//空操作1个机器周期,等待硬件反应write_command(0x01);//清屏delay(1);
}
//输出显示字符串
void string(uchar ad,uchar *s){write_command(ad);while(*s>0){write_data(*s++);//输出字符串,且指针增1delay(100);}
}void print_LED(){//输出“2024”的数码管//2024 0010 0000 0010 0100P1=0x20;P3=0x24;
}

116ae46585cf41c8ad177c7fd68b2196.png

 好运来

先找到“好运来”的音乐简谱,然后带入之前的代码中。

e49385ca9d264f47ae832dc45c3ea91d.png

2ebf477100524be49a0140e910cdae88.png

单片机实验(三)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134624276

#include<reg51.h>
#include<intrins.h>	//包含_nop_()空函数指令的头文件
#define uchar unsigned char 
#define uint unsigned int
#define out P0#define L1  1
#define L1_ 2
#define L2  3
#define L2_ 4
#define L3  5
#define L4  6
#define L4_ 7
#define L5  8
#define L5_ 9
#define L6  10
#define L6_ 11
#define L7  12
#define M1  13
#define M1_ 14
#define M2  15
#define M2_ 16
#define M3  17
#define M4  18
#define M4_ 19
#define M5  20
#define M5_ 21
#define M6  22
#define M6_ 23
#define M7  24
#define H1  25
#define H1_ 26
#define H2  27
#define H2_ 28
#define H3  29
#define H4  30
#define H4_ 31
#define H5  32
#define H5_ 33
#define H6  34
#define H6_ 35
#define H7  36#define ClockSpeed 12000000 //时钟频率,Hz
#define SongSpeed 240       //ms,八分音符
sbit beepIO = P2^7;         //定义蜂鸣器IO口uchar freq_select;//音阶频率表
unsigned int code freq_table[]={0,61714 ,61928 ,62131 ,62322 ,62502 ,62673 ,62833 ,62985 ,63128 ,63263 ,63391 ,63511, //低音63628 ,63731 ,63835 ,63928 ,64021 ,64103 ,64185 ,64260 ,64331 ,64400 ,64463 ,64524, //中音64580 ,64633 ,64684 ,64732 ,64777 ,64820 ,64860 ,64898 ,64934 ,64968 ,65000 ,65030 //高音};				//好运来
uchar code song[]={//叠个千纸鹤 再系个红腰带M6,3, M6,1, H1,1, H1,1, M6,3, M6,1, M5,1, M3,1, M5,1, H1,1, M6,2, 0,2,//愿善良的人们 天天好运来.你M6,1, H1,1, H1,1, H1,1, H1,2, M5,2, M6,1, M5,1, M2,1, M5,1, M3,3, M2,1,//勤劳生活美,你健康春常在M3,1, M2,1, M1,1, M3,1, M2,3, M3,1, M6,1, M5,1, M3,1, M6,1, M6,1, M5,3, //你一生的忙碌为了笑逐颜开。M6,1, H1,1, H1,3, M6,1, H2,1, H2,1, H2,1, H1,1, M6,2, M5,1, H1,1, M6,4, M6,3, //好运来,祝你好运来,好运M6,2, H3,3, H2,1, H2,2, H1,1, M6,1, M5,2, H1,2, M6,4, M6,2, H2,2, //带来了喜和爱。好运H1,2, M6,1, M5,1, M2,2, M5,1, M6,1, M5,1, M3,3, M3,2, M6,3, M5,1, //来,我们好运来,迎着好运来M6,2, M6,1, M5,1, M6,2, H2,3, H1,1, H2,4, H1,3, H1,1, H1,1, H2,1,//兴旺发达通四海。H3,1, H3,1, H2,1, H1,1, M5,2, H1,3, M6,1, M6,2, 40
};
sbit RS=P2^0;//位变量
sbit RW=P2^1;//位变量
sbit E=P2^2;//位变量
//函数声明部分
void lcd_initial(void);//LCD初始化函数
void check_busy(void);//检查忙标志位函数
void write_command(uchar com);//写命令函数
void write_data(uchar dat);//写数据函数
void string(uchar ad,uchar *s);//显示字符串
void delay(uint);//延时
void print_2024();//输出“2024”的数码管
void print_HappyNewYear();//输出“新年快乐”的LCD 1602
void timer0_initial();//初始化定时器0的状态
void delay_ms(unsigned int x); //音乐延时函数void main(void){uchar select;timer0_initial();//对定时器T0进行初始化lcd_initial();//对LCD初始化print_2024();print_HappyNewYear();while(song[select]!= 40)        //判断歌曲是否结束{freq_select=song[select];		if(freq_select)         //判断是否是休止符0{select++;delay_ms(song[select]*SongSpeed);TR0 = 0;   //关闭蜂鸣器一段时间再打开,模拟按键抬手动作。delay_ms(10);TR0 = 1;select++;}else{			TR0 = 0;select++;delay_ms(song[select]*SongSpeed);TR0 = 1;select++;}}
}//延时
void delay(uint j){uchar i=250;for(;j>0;j--){while(--i);i=249;while(--i);i=250;}
}//检查忙标志
void check_busy(void){uchar dt;do{dt=0xff;//dt为变量单元,初值为0xff//RS=0,E=1时才可以读忙标志位E=0;RS=0;RW=1;E=1;dt=out;//out为P0口,P0口的状态送入dt中}while(dt&0x80);//如果忙标志位BF=1,继续循环检测,等待BF=0E=0;//BF=0,LCD 1602不忙,结束检测
}//写命令
void write_command(uchar com){check_busy();//按规定RS和E同时为0时,才可以写命令E=0;RS=0;RW=0;out=com;//将命令com写入P0口E=1;//写命令时,E应为正脉冲,即正跳变,所以前面先置E=0_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,LCD 1602开始执行命令delay(1);//延时,等待硬件反应
}//写数据
void write_data(uchar dat){check_busy();//检测忙标志位BF=1则等待,若BF=0,则可对LCD 1602写入命令E=0;//按规定写数据时,E应为正脉冲,所以先置E=0//按规定RS=1和RW=0时,才可以写入数据RS=1;RW=0;out=dat;//将数据”dat“从P0口输出,即写入LCD 1602E=1;//E产生正跳变_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,写数据操作结束delay(1);
}//液晶显示器初始化函数
void lcd_initial(void){write_command(0x38);//8位两行显示,5*7点阵字符_nop_();//空操作1个机器周期,等待硬件反应write_command(0x0C);//开整体显示,光标关,无闪烁_nop_();//空操作1个机器周期,等待硬件反应//write_command(0x05);//光标右移_nop_();//空操作1个机器周期,等待硬件反应write_command(0x01);//清屏delay(1);
}
//输出显示字符串
void string(uchar ad,uchar *s){write_command(ad);while(*s>0){write_data(*s++);//输出字符串,且指针增1delay(100);}
}void print_2024(){//输出“2024”的数码管//2024 0010 0000 0010 0100P1=0x20;P3=0x24;
}void print_HappyNewYear(){//输出“新年快乐”的LCD 1602string(0x81,"Happy New Year");//显示第一行的字符string(0xC1,"peace happiness");//显示第二行的字符delay(50);//延时//write_command(0x01);//清屏
}void timer0_initial()//初始化定时器0的状态
{beepIO = 0;TH0   = 0xFD;	TL0   = 0x09;TMOD  = 0x01;  //选择定时器0,工作方式1ET0   = 1;     //允许定时器0中断EA    = 1;     //CPU开放中断TF0   = 0;     //溢出标志位清0TR0   = 1;     //开启定时器0
}void BeepTimer0() interrupt 1	//中断函数
{beepIO = !beepIO;   //蜂鸣器IO口高低电平转换TH0 = freq_table[freq_select]/256 ;TL0 = freq_table[freq_select]%256 ;
}void delay_ms(unsigned int x) //音乐延时函数
{uchar t;while(x--) for(t=0;t<120;t++);
}

110b3041fea14a8cad7c689c5c52a302.png

本来觉得影响不大的,但是忽略了音乐的播放是需要延迟来表示每一个音的节拍,所以就把lcd清屏取消了,让他就一直显示这个,目前的话就是一轮之后会重新从主函数开始,而且LCD输出的时候他会发出其他的声音。

所以又继续完善了一下

 代码

#include<reg51.h>
#include<intrins.h>	//包含_nop_()空函数指令的头文件
#define uchar unsigned char 
#define uint unsigned int
#define out P0#define L1  1
#define L1_ 2
#define L2  3
#define L2_ 4
#define L3  5
#define L4  6
#define L4_ 7
#define L5  8
#define L5_ 9
#define L6  10
#define L6_ 11
#define L7  12
#define M1  13
#define M1_ 14
#define M2  15
#define M2_ 16
#define M3  17
#define M4  18
#define M4_ 19
#define M5  20
#define M5_ 21
#define M6  22
#define M6_ 23
#define M7  24
#define H1  25
#define H1_ 26
#define H2  27
#define H2_ 28
#define H3  29
#define H4  30
#define H4_ 31
#define H5  32
#define H5_ 33
#define H6  34
#define H6_ 35
#define H7  36#define ClockSpeed 12000000 //时钟频率,Hz
#define SongSpeed 240       //ms,八分音符
sbit beepIO = P2^7;         //定义蜂鸣器IO口uchar freq_select;//音阶频率表
unsigned int code freq_table[]={0,61714 ,61928 ,62131 ,62322 ,62502 ,62673 ,62833 ,62985 ,63128 ,63263 ,63391 ,63511, //低音63628 ,63731 ,63835 ,63928 ,64021 ,64103 ,64185 ,64260 ,64331 ,64400 ,64463 ,64524, //中音64580 ,64633 ,64684 ,64732 ,64777 ,64820 ,64860 ,64898 ,64934 ,64968 ,65000 ,65030 //高音};				//好运来
uchar code song[]={//叠个千纸鹤 再系个红腰带M6,3, M6,1, H1,1, H1,1, M6,3, M6,1, M5,1, M3,1, M5,1, H1,1, M6,2, 0,2,//愿善良的人们 天天好运来.你M6,1, H1,1, H1,1, H1,1, H1,2, M5,2, M6,1, M5,1, M2,1, M5,1, M3,3, M2,1,//勤劳生活美,你健康春常在M3,1, M2,1, M1,1, M3,1, M2,3, M3,1, M6,1, M5,1, M3,1, M6,1, M6,1, M5,3, //你一生的忙碌为了笑逐颜开。M6,1, H1,1, H1,3, M6,1, H2,1, H2,1, H2,1, H1,1, M6,2, M5,1, H1,1, M6,4, M6,3, //好运来,祝你好运来,好运M6,2, H3,3, H2,1, H2,2, H1,1, M6,1, M5,2, H1,2, M6,4, M6,2, H2,2, //带来了喜和爱。好运H1,2, M6,1, M5,1, M2,2, M5,1, M6,1, M5,1, M3,3, M3,2, M6,3, M5,1, //来,我们好运来,迎着好运来M6,2, M6,1, M5,1, M6,2, H2,3, H1,1, H2,4, H1,3, H1,1, H1,1, H2,1,//兴旺发达通四海。H3,1, H3,1, H2,1, H1,1, M5,2, H1,3, M6,1, M6,2, 40
};
sbit RS=P2^0;//位变量
sbit RW=P2^1;//位变量
sbit E=P2^2;//位变量
//函数声明部分
void lcd_initial(void);//LCD初始化函数
void check_busy(void);//检查忙标志位函数
void write_command(uchar com);//写命令函数
void write_data(uchar dat);//写数据函数
void string(uchar ad,uchar *s);//显示字符串
void delay(uint);//延时
void timer0_initial();//初始化定时器0的状态
void delay_ms(unsigned int x); //音乐延时函数
void print_2024();//输出“2024”的数码管
void print_HappyNewYear();//输出“新年快乐”的LCD 1602void main(void){print_2024();//输出“2024”的数码管print_HappyNewYear();//输出“新年快乐”的LCD 1602//其他的都静态输出即可while(1){uchar select=0;//每次重新初始化timer0_initial();//对定时器T0进行初始化while(song[select]!= 40)        //判断歌曲是否结束{freq_select=song[select];		if(freq_select)         //判断是否是休止符0{select++;delay_ms(song[select]*SongSpeed);TR0 = 0;   //关闭蜂鸣器一段时间再打开,模拟按键抬手动作。delay_ms(10);TR0 = 1;select++;}else{			TR0 = 0;select++;delay_ms(song[select]*SongSpeed);TR0 = 1;select++;}}}
}//延时
void delay(uint j){uchar i=250;for(;j>0;j--){while(--i);i=249;while(--i);i=250;}
}//检查忙标志
void check_busy(void){uchar dt;do{dt=0xff;//dt为变量单元,初值为0xff//RS=0,E=1时才可以读忙标志位E=0;RS=0;RW=1;E=1;dt=out;//out为P0口,P0口的状态送入dt中}while(dt&0x80);//如果忙标志位BF=1,继续循环检测,等待BF=0E=0;//BF=0,LCD 1602不忙,结束检测
}//写命令
void write_command(uchar com){check_busy();//按规定RS和E同时为0时,才可以写命令E=0;RS=0;RW=0;out=com;//将命令com写入P0口E=1;//写命令时,E应为正脉冲,即正跳变,所以前面先置E=0_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,LCD 1602开始执行命令delay(1);//延时,等待硬件反应
}//写数据
void write_data(uchar dat){check_busy();//检测忙标志位BF=1则等待,若BF=0,则可对LCD 1602写入命令E=0;//按规定写数据时,E应为正脉冲,所以先置E=0//按规定RS=1和RW=0时,才可以写入数据RS=1;RW=0;out=dat;//将数据”dat“从P0口输出,即写入LCD 1602E=1;//E产生正跳变_nop_();//空操作1个机器周期,等待硬件反应E=0;//E由高电平变为低电平,写数据操作结束delay(1);
}//液晶显示器初始化函数
void lcd_initial(void){write_command(0x38);//8位两行显示,5*7点阵字符_nop_();//空操作1个机器周期,等待硬件反应write_command(0x0C);//开整体显示,光标关,无闪烁_nop_();//空操作1个机器周期,等待硬件反应//write_command(0x05);//光标右移_nop_();//空操作1个机器周期,等待硬件反应write_command(0x01);//清屏delay(1);
}
//输出显示字符串
void string(uchar ad,uchar *s){write_command(ad);while(*s>0){write_data(*s++);//输出字符串,且指针增1delay(100);}
}void timer0_initial()//初始化定时器0的状态
{beepIO = 0;TH0   = 0xFD;	TL0   = 0x09;TMOD  = 0x01;  //选择定时器0,工作方式1ET0   = 1;     //允许定时器0中断EA    = 1;     //CPU开放中断TF0   = 0;     //溢出标志位清0TR0   = 1;     //开启定时器0
}void BeepTimer0() interrupt 1	//中断函数
{beepIO = !beepIO;   //蜂鸣器IO口高低电平转换TH0 = freq_table[freq_select]/256 ;TL0 = freq_table[freq_select]%256 ;
}void delay_ms(unsigned int x) //音乐延时函数
{uchar t;while(x--) for(t=0;t<120;t++);
}void print_2024(){//输出“2024”的数码管//2024 0010 0000 0010 0100P1=0x20;P3=0x24;
}void print_HappyNewYear(){//输出“新年快乐”的LCD 1602lcd_initial();//对LCD初始化string(0x81,"Happy New Year");//显示第一行的字符string(0xC1,"peace happiness");//显示第二行的字符delay(50);//延时//write_command(0x01);//清屏
}

51bd47c705cb4dce857f9a386eb720f5.png

器件名称Proteus关键字
红色共阴极数码管7SEG-BCD
蓝色共阴极数码管7SEG-BCD-BLUE
绿色共阴极数码管7SEG-BCD-GRN
51单片机AT89C51
复位按钮BUTTON
电容CAP
电解电容CAP-ELEC
晶体振荡器CRYSTAL
字符型LCD 1602显示器LM016L
滑动变阻器POT-HG
电阻RES
排阻RESPACK-8
蜂鸣器SPEAKER

好运来

 总结

本来构思的是看自己学的都可以如何祝大家新年快乐,目前只用到了单片机的知识。

 

这篇关于2024新年快乐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/557276

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

2024/9/8 c++ smart

1.通过自己编写的class来实现unique_ptr指针的功能 #include <iostream> using namespace std; template<class T> class unique_ptr { public:         //无参构造函数         unique_ptr();         //有参构造函数         unique_ptr(

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

轻松录制每一刻:探索2024年免费高清录屏应用

你不会还在用一些社交工具来录屏吧?现在的市面上有不少免费录屏的软件了。别看如软件是免费的,它的功能比起社交工具的录屏功能来说全面的多。这次我就分享几款我用过的录屏工具。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  这个软件的操作方式非常简单,打开软件之后从界面设计就能看出来这个软件操作的便捷性。界面的设计简单明了基本一打眼你就会轻松驾驭啦

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记录生活,只要是剪辑得漂亮,肯定能一下子吸引大家的目光,让人记得你。咱们今天就来侃侃现在超火的三款视频剪辑工具,尤其是PR剪辑,你肯定听说过,这货在剪辑界可是大名鼎鼎,用它剪视频,既专业又麻利。 NO1. 福昕轻松