单片机

无源蜂鸣器鸣叫

1.输出方波图解我们现在要给单片机IO端口输出4khz的方波。现在我们算出方波的周期:1/(4*1000)s=0.00025s=0.25ms高电平时间:(0.25/2)ms=0.125ms低电平时间:(0.25/2)ms=0.125ms2.驱动代码因为我们只写过最低延时1ms的函数,

结束语

我们的教程到此就划上了一个完美的句号了,不过对于初学者来说,从串口的内容到后面的知识都是需要慢慢消化掌握的,不可能通过看我们几篇教程就能领悟所有的知识的,尤其是指针和内存之间的关系。程序的执行顺序也是我们需要完全掌握的,特别在子函数特别多的时候,

舵机与按键

1.按键控制舵机桨为了再次领悟舵机的运用,我们使用按键控制舵机桨在我们想要的位置上停留。K8负责控制舵机桨往一个方向不停旋转,K16则控制相反方向旋转。按键模式为支持连按。然后数码管显示高电平持续的时间,如果数码管显示5,则高电平在20ms周期里持续的时间为0.5ms,

延时1秒

1.准确延时学会了上一讲的软件调试教学,我们现在用软件调试出延时很接近1毫秒的代码:for(j=115;j>0;j--);如果要延时1秒,那是不是循环1000次这条语句呢?for(i=0;i<1000;i++){for(j=115;j>0;j--);}可是这段代码在软件调试中发现循环1000次这个1毫

串口&液晶屏Ⅱ

1.题目要求在上一讲代码测试中,电脑端发送过来的数据单片机这边需要用数组存取起来,再把这些数据通过液晶屏显示出来,不过我们也可以把接收到的数据直接写进液晶屏的RAM中让它实时显示。比如在电脑端那边发送“DAN”(DAN后面有一个空格),液晶屏就从第一格开始显示“DAN”,

程序点灯

1.头文件在#include<reg52.h>头文件中,把单片机中的寄存器地址封装起来定义成宏供我们调用,寄存器这个概念我们初学先不用太深刻的去理解它,在《手把手教你学51单片机》文档中2.4.1节有讲解,大家熟读几遍,如果还是无法理解后面我们再用程序配合硬件来领悟它们的作用。

EEPROM简单使用

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

按键用法

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

外部中断测脉冲个数

1.外部中断的常用功能外部中断经常用来记录外部脉冲的个数,也就是当我们使用外部中断1时,如果想记录自身单片机的某个引脚的下降沿个数,只需用杜邦线把这个引脚和P3.3连接即可。比如P2.3引脚产生这样的电平无规律跳转,则下降沿的个数为5所以我们就用外部中断1来实现记录K4按键从按下到松手的抖动过程中经历

多文件编写

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