11号就收到套件了,看到PCB没有镀锡,同事都说是简单的铺铜,后来论坛上说是质量非常好的板子,工艺沉金的。迫不及待的等待下班。。
第一步完成焊接,利用晚上的空闲时间,焊接了一部分,不是在学校里的时候了,时间比较充分,上班的时候时间比较少。
#include<STC15F2K60S2.h> #define uc unsigned char #define ui unsigned int sbit LED = P1^5; sbit IR_INT0 = P3^2; //红外 sbit KEY_SUB = P1^2; //调音按键 sbit KEY_ADD = P1^3; sbit KEY_MUTE = P1^1; sbit CHECK = P1^0; //检测音频线有没有接入 sbit MUTE = P1^4; //功放静音 sbit CLOCK = P3^3; //MCU调音量 sbit UPDOWN = P3^6; //还有几个全局变量,主要是存功放和按键状态的 uc uup=0; //有连续按键时用 uc IRtimer; uc phonejack; //有没有音频线状态 uc MUTEstate = 0; //MUTE状态 //配置功放关开IO, //P1.4=1时是关功放,=0时是开功放 P1M1&=~(1<<4); //P1.4(MUTE)推挽 P1M0|=(1<<4); MUTE = 1; void Delay_ms(ui z) //延时1MS子函数 { ui x,y; for(x=z;x>0;x--) for(y=567;y>0;y--); } void main() { while(1) { } }
以上代码是建立好的工程及功放必须要的代码,包含宏定义端口定义等。。。。其中延时子函数没有用示波器看,所以y=567也是不准确的,回头使用示波器调整好在告诉大家。
/////////////////////////////////控制音量加 void Volume_add(void) { uc iadd = 5; UPDOWN = 1; while(--iadd) Delay_ms(1); CLOCK = 0; iadd = 5; while(--iadd) Delay_ms(1); CLOCK = 1; } /////////////////////////////////控制音量减 void Volume_sub(void) { uc isub = 5; UPDOWN = 0; while(--isub) Delay_ms(1); CLOCK = 0; isub = 5; while(--isub) Delay_ms(1); CLOCK = 1; }
这部分代码是参考论坛里稍作修改而来,代码应该具有自己 的风格,但不是不堪阅读。下一步写出按键的扫描程序就可以下载调试了,至于红外程序,计划放在最后。
打赏帖 | |
---|---|
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】TouchGFX应用移植自定义屏幕被打赏34分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 |