单片机

开发板选择

单片机的学习过程十分重视实践操作,仿真软件不过是纸上谈兵,我们需要有一个看得见摸得着的学习工具,那就是单片机开发板!1.教程所用的开发板我们知道,学习C语言首先选择的是用哪一个软件做上机实践,那么本教程也一样,需要选择一块开发板来作为模板教学。

中断的实验现象

1.卡顿的流水灯我们用一个实验现象来再一次理解中断函数。在主函数里我们使八盏灯不停地左右快速流水,此时若是被外部因素触发了中断函数的执行,我们就在中断函数里实现蜂鸣器响一下,看看此时主函数里的流水灯是什么现象。代码下载进去,我们随意按K4,观察流水灯。

呼吸灯

1.双定时器呼吸灯实现呼吸灯的实现原理就是让小灯的IO端口在一段时间里PWM由大到小变化的占空比输出,接着又由小到大的占空比输出,小灯显示效果就是时亮时暗地交替闪烁。首先我们用定时器0定时0.1ms,全局变量pwm在其中断函数里执行简单的从0到99的循环自加,这样周期就是10ms。

按键用法

1.联系生活按键的常用做法就像生活中的电磁炉那样,按下电磁炉上的“+”键后马上松开,发现电磁炉上的数就增加了。现在我们打算用开发板像按电磁炉上的按键一样,按一下灯被点亮,再按一次灯被熄灭这样的来回切换灯的状态的功能。不过在讲解实际运用之前我们还需来了解按键的抖动!2.实际按键过程我们之前所讲的按键过程

EEPROM简单使用

我们这一讲简要讲解如何往EEPROM的地址0x55写入一个数据,然后读出这个数据的内容。本讲代码围绕的是宋老师的lesson14_2例程代码讲解。1.写入一个字节内容如果要在EEPROM的某个地址里写入内容,那么步骤的实现归为:起始信号→找到这个器件是否存在(寻址),

IIC入门代码讲解

因IIC时序细节的理解不是一两篇文章就能描写清楚的,这里笔者只针对《手把手教你学51单片机》文档第14章内容做补充辅助理解,如果大家想彻底弄明白IIC的所有通信细节过程,那么就需要“好事多磨”了。我们现在先贴出IIC的时序流程图1.起始信号函数我们同样是运用宋老师的代码,

新按键程序

1.支持连按的书写对上一讲的知识我们再补充一下支持连按的代码以此加深理解。实验现象就是按着按键不放,那么“key=1;”出现的频率就会比不支持连按代码的时候多,所以就会有左右不断流水的现象,按键的功能代码大家自己去分析了。#include<reg52.h>#include<function.h>#de

多文件编写

为了与主流的编程素养接轨,我们本章讲解如何书写简洁并且高效率的代码以及首次运用多文件编程。多文件的作用是方便编写大程序时更加的模块化,那么至于原理,头文件包含关系等这些知识还需读者自己再多多补补C语言知识了。1.多文件的优势运用多文件编程是为了使我们教程无需每次都贴出相同功能的代码,

串口&液晶屏Ⅰ

1.题目要求这一次我们将上一讲的代码作为基础,要实现的任务就是电脑端发送过来的字符串单片机把它们显示在液晶屏上,由于液晶屏只能显示ASCII码的字符,无法显示汉字,所以电脑端发送过来的字符串也必须是英文输入法下打出的字符。当单片机接收完字符串之后液晶屏显示“ReceptionComplete!”表示接

分钟秒表

数码管的基础知识已经讲解的差不多了,我们做道题目来结束本章的学习内容。1.题目要求开发板上电瞬间需要做到如下图的“0.00”所示右边两个数码管用来做60秒计时,带小数点显示的数码管用来做一分钟过后的累加,当还没到达10分钟时,最左端的数码管(也就是数码管3)不允许亮,