-
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,...
-
void initial_myself() //第一区 初始化单片机 ...
-
开场白:上一节讲了在主函数循环中动态扫描数码管的程序,但是该程序有一个隐患,在一些项目中 ,主函数循环中的任务越多,就意味着在某一瞬间,每显示一位数码管停留的时间就会...
-
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。
开场白:
在实际项目中,串口通讯不可能一次通讯只发送或接收一个字节,大部分的项目都是一次发送或者接受一串...
-
第三十九节:判断数据头来接收一串数据的串口通用程序框架。
开场白:上一节讲了判断数据尾的程序框架,但是在大部分的项目中,都是通过判断数据头来接收数据的,这一节要教会...
-
开场白:
上一节讲了判断数据头的程序框架,但是在很多项目中,仅仅靠判断数据头还是不够的,必须要有更加详细的通讯协议,比如可以包含数据类型,数据地址,有效数据长度,有效数据,数据校...
-
第四十一节:在串口接收中断里即时解析数据头的特殊程序框架。
开场白:上一节讲了常用的自定义串口通讯协议的程序框架,这种框架在判断一串数据是否接收完毕的...
-
开场白:
上一节讲了在串口接收中断里即时解析数据头的特殊程序框架。这节开始讲串口发送数据需要特别注意的地方和程序框架,要教会大家一个知识点:根据我个人的经验,在发送...
-
标准的 51 单片机内部有 T0 和 T1 这两个定时器,T 就是 Timer 的缩写,现在很多 51 系列单片机还会增加额外的定时器,在这里我们先讲定时器 0 和 1。前边提...
-
了解了定时器相关的寄存器,那么我们下面就来做一个定时器的程序,巩固一下我们学到的内容。我们这节课的程序先使用定时器 0,在使用定时器的时候,需要以下几个步骤:
...
-
在第三章我们学习了 74HC138,了解到 74HC138 在同一时刻只能让一个输出口为低电平,也就是说在一个时刻内,我们只能使能一个数码管,并根据我们给出的 P0 的值来改变...
-
我们在上一章学习数码管静态显示的时候说到,74HC138 只能在同一时刻导通一个三极管,而我们的数码管是靠了 6 个三极管来控制,那我们如何来让数码管同时显示呢?这就用到了动态...
-
中断的产生背景
请设想这样一个场景:此刻我正在厨房用煤气烧一壶水,而烧开一壶水刚好需要 10 分钟,我是一个主体,烧水是一个目的,而且我只能时时刻刻在这里烧水,因为一旦水...
-
变量的存储类别分为自动、静态、寄存器和外部这四种。其中后两种我们暂不介绍,主要是自动变量和静态变量这两种。
函数中的局部变量,如果不加 static 这个关键...