单片机

中断函数

中断函数1.中断函数概念上一讲里,当赋值IT0为1时,P3.2遇到下降沿,IE0被置1,要想使IE0自动清零,我们引用中断函数就可以了。我们可能已经习惯了都是在main函数里阅读分析代码,其实还有另一种函数需……

分钟秒表

分钟秒表数码管的基础知识已经讲解的差不多了,我们做道题目来结束本章的学习内容。 1.题目要求开发板上电瞬间需要做到如下图的“0.00”所示右边两个数码管用来做60秒计……

点亮LED

点亮LED1.硬件连接了解了上一讲的一些元器件的使用原理,那么使用本教程的开发板点亮最右端的LED2的硬件连接简化为如下所示 2.软件分析我们知道74HC138要想正常工作,单片机的P1.4要……

IIC入门代码讲解

IIC入门代码讲解因IIC时序细节的理解不是一两篇文章就能描写清楚的,这里笔者只针对《手把手教你学51单片机》文档第14章内容做补充辅助理解,如果大家想彻底弄明白IIC的所有通信细节过程,那么就需要“好事多……

数组与移位

数组与移位1.数组运用实现上一节的功能其实还有更简洁的方法去书写,那就是引用数组,用数组存取灯的八种状态值。定义含有8个元素的数组如下:unsigned charLEDSET[8]={0xFE……

单独文件封装

单独文件封装1.再遇多文件编程因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。在第六章的教程中已经教过大家多文件创建,这里点到为止。创建好“timer.c&rdqu……

数组&数码管

数组&数码管1.回顾大家还记得我们用数组来存取流水灯的状态值吗,那么数码管也是一样的,我们可以知道数码管能显示出在单片机编程中最常见的数字和字母为0~9,A,b,C,d,E,F这16种状态,那么这一讲我们实现单个……

定时时长的做法

定时时长的做法1.“水量”的确定我们已经懂得怎么选用“试管”了,如何装多大的“水量”来决定定时的时长呢。首先我们先拿“大试管&rd……

串口&EEPROM

串口&EEPROM1.题目要求作为本教程最后一个例程,我们也不打算写的太复杂,这次还是运用串口的知识,实现用串口往EEPROM写入数据,同时也能用串口读出EEPROM里的数据出来显示在电脑端的窗口上。根据前几讲的串口与……

不支持连按

不支持连按1.缺陷上一讲讲解的“不支持连按”模式贴合了我们在生活中的实际应用,虽然我们仅用“while(KEY4==0);”就把按键模式给切换了,不过这条语句严格……