世上没有加班这回事

  不要误会,我并不想讨论加班这件事,我只想谈一下“时间和效率”。

  首先我举个列子,有三类人:会思考的人,偶尔思考的人,不思考的人。在一天的标准的工作量下,加班对于三种人的意思是完全不一样的。

  第一种人往往花费半天时间,或者大半天时间,就做好工作(优质),剩下很多时间在思考或学习更多的东西。于是他的加班更倾向于自我价值的提升,这种人往往是团队的核心重要人物。

  第二种人则刚好规定时间完成任务,偶尔会有时间思考学习。他的加班有时在干工作,有时在提升自我价值,他的竞争优势低于第一种。

  第三种人则要花费额外的时间在工作上,而且工作的质量不见得很高。他的加班经常在赶任务上,基本没有什么竞争优势。

  其实第三种人,并不是在工作的时候开小差或者能力不行,也不是实在工作量太大,而真的无法完成(项目经理也是从普通员工过来的,不是不知道一天的工作量的最大量,可能是略高于第二种人的接受底线,因为项目经理往往是第一种人晋升上去)。根本原因是工作效率于工作态度问题。

  举个例子,一个线上环境出了故障,一部分数据没显示出来,看看那些会思考的人怎么解决的:

  数据没显示:

  页面渲染问题?——不是,跳过

  数据库查询问题?——是的,查询结果问题

  统一SQL为什么这个用户会有问题,查询条件出问题?——是的,一个字段为空

  为什么这个用户字段为空?——同步时出现问题

  同步时为什么有问题?——用户数据填写不完整

  解决方案:作数据订正,加强页面于后台逻辑表单数据验证,防止再次空数据段出现

  整个过程可能花费半个小时就解决了,大家一看都知道这个逻辑并不是复杂,但是事情落你头上,你能确保半个小时就能很好的给出解决方案么,也许1个或者2个小时后你还在查找问题的根源。

  这是一个恶性循环,高效的人总有时间去思考如何更加的提高效率,相反只会埋头苦干的总要喊为什么总要加班了。如果真的是工作量太大,你应该理直气壮的跟经理说,甚至辞职,因为软件是脑力劳动而不是体力劳动。

  当工作繁茂的时候,问几个问题:

  1.我当前的职责是什么?
  2.我现在在干什么?
  3.做事的方法是什么?
  4.方法是最具效率的吗?
  5.自己是不是在哪里应该提高?

  有的时候应该停下来思考一下,经理也不会喜欢一直加班很晚的人。

 

使用C51单片机实现播放“世上只有妈妈好”音乐,可按以下步骤进行: ### 1. 确定硬件连接 - **蜂鸣器**:用于发声,通常连接到C51单片机的一个IO口。通过控制该IO口的电平变化,使蜂鸣器发出不同频率的声音。 - **晶振**:为单片机提供稳定的时钟信号,保证程序的正常运行。 ### 2. 编写代码 以下是一个简单的示例代码,实现播放“世上只有妈妈好”的部分旋律: ```c #include <reg51.h> // 定义音符频率表 unsigned int code note_freq[] = { // 这里需要根据实际音符频率进行填写,例如: // 低音符 262, 294, 330, 349, 392, 440, 494, // 中音符 523, 587, 659, 698, 784, 880, 988, // 高音符 1047, 1175, 1319, 1397, 1568, 1760, 1976 }; // 定义“世上只有妈妈好”的音符序列 unsigned char code song[] = { // 这里需要根据歌曲的音符进行填写,例如: 5, 6, 5, 3, 2, // 可以继续添加更多音符 }; // 定义音符时长 unsigned char code duration[] = { // 对应每个音符的时长,例如: 2, 2, 2, 2, 2 }; // 延时函数 void delay(unsigned int t) { unsigned int i, j; for (i = 0; i < t; i++) { for (j = 0; j < 123; j++); } } // 发声函数 void play_note(unsigned int freq, unsigned char dur) { unsigned int period = 1000000 / freq; // 计算周期,单位为微秒 unsigned int half_period = period / 2; // 半周期 unsigned int cycles = dur * 1000 / period; // 计算循环次数 unsigned int i; for (i = 0; i < cycles; i++) { P1 = 0xFF; // 输出高电平 delay(half_period); P1 = 0x00; // 输出低电平 delay(half_period); } } // 主函数 void main() { unsigned char i; while (1) { for (i = 0; i < sizeof(song); i++) { play_note(note_freq[song[i]], duration[i]); delay(100); // 音符间的间隔 } } } ``` ### 3. 代码解释 - **音符频率表**:`note_freq`数组存储了不同音符对应的频率。 - **歌曲音符序列**:`song`数组存储了“世上只有妈妈好”的音符序列。 - **音符时长**:`duration`数组存储了每个音符的时长。 - **延时函数**:`delay`函数用于产生延时,控制音符的时长。 - **发声函数**:`play_note`函数根据传入的频率和时长,控制蜂鸣器发出相应的音符。 - **主函数**:`main`函数循环播放歌曲的音符序列。 ### 4. 编译和烧录 - 使用Keil等编译器对代码进行编译,生成HEX文件。 - 使用烧录工具(如STC-ISP)将生成的HEX文件烧录到C51单片机中。 ### 5. 运行 烧录完成后,单片机将控制蜂鸣器播放“世上只有妈妈好”的音乐。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值