-
开场白:上一节讲了同一个按键短按与长按的区别触发功能,这节要教会大家两个知识点:第一个知识点:如何在上一节的基础上,略作修改,就可以实现按住一个独立按键不松手的连续步进触发。第二个...
-
开场白:上一节讲了按住一个独立按键不松手的连续步进触发功能,这节要教会大家如何在上一节的基础上,略作修改,就可以实现按键的加速匀速触发。具体内容,请看源代码讲解。(1)硬件平台:基...
-
1、单片机晶振不起振原因分析
遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?
(1) PCB板布线错误;
(2) 单片机质量有问题;
(3) 晶振质量有...
-
上拉电阻:
1、当TTL 电路驱动COMS 电路时,如果TTL 电路输出的高电平低于COMS
电路的最低高电平(一般为3.5V),这时就需要在TTL 的输出端接上拉电阻,
以...
-
case 8: //此处的小延时用来等待刚才列输出信号稳定,再判断输...
-
case 7:// 7号键 对应朱兆祺学习板的S7键 ...
-
void T0_time() interrupt 1
{  ...
-
开场白:上一节讲了如何把矩阵键盘翻译成独立按键的处理方式。这节讲74HC595的驱动程序。要教会大家两个知识点:第一点:朱兆祺的学习板是用74HC595...
-
把74HC595驱动程序翻译成类似单片机IO口直接驱动的方式。
开场白:上一节讲了74HC595的驱动程序。为了更加方便操作74HC595输出的每个I...
-
case 10: if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 { uiTimeCnt_01_08=0; //时间...
-
void hc595_drive(unsigned char ucLedStatusTemp16_09,...
-
case 2:
 ...
-
void hc595_drive(unsigned char ucLedStatusTemp16_09,...
-
if(ucLed_dr13==1)
...
-
void initial_myself() //第一区 初始化单片机 ...
-
开场白:上一节讲了在主函数循环中动态扫描数码管的程序,但是该程序有一个隐患,在一些项目中 ,主函数循环中的任务越多,就意味着在某一瞬间,每显示一位数码管停留的时间就会...
-
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。
开场白:
在实际项目中,串口通讯不可能一次通讯只发送或接收一个字节,大部分的项目都是一次发送或者接受一串...
-
第三十九节:判断数据头来接收一串数据的串口通用程序框架。
开场白:上一节讲了判断数据尾的程序框架,但是在大部分的项目中,都是通过判断数据头来接收数据的,这一节要教会...
-
开场白:
上一节讲了判断数据头的程序框架,但是在很多项目中,仅仅靠判断数据头还是不够的,必须要有更加详细的通讯协议,比如可以包含数据类型,数据地址,有效数据长度,有效数据,数据校...
-
第四十一节:在串口接收中断里即时解析数据头的特殊程序框架。
开场白:上一节讲了常用的自定义串口通讯协议的程序框架,这种框架在判断一串数据是否接收完毕的...