单片机

单片机简介

本教程由继承叔编写,面向对单片机有基础认知的初学者!1.单片机了解单片机是一块集成电路的控制芯片,我们熟知的家电例如洗衣机的定时控制和滚筒运作,电饭煲的保温功能和鸣叫提醒,电冰箱,空调等等这些电器大部分由单片机根据程序运作进行控制。当然,单片机的用途不只这些,

串口&EEPROM

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

详细理解ASCII码

本讲我们主要通过实验操作来熟悉ASCII码与通信数据之间的关系。我们现在实现这样的功能,在电脑端上发送“十六进制”模式或“字符格式”模式的字节给单片机,数码管则显示出这些数据的十进制值,然后观察数码管上显示的数值与发送数据的关系。1.代码#include<reg52.h>#include<functi

无源蜂鸣器鸣叫

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

温度传感器代码独立文件

创建好“ds18b20.c”和“ds18b20.h”文件,把下面代码添加进各自的文件。1.ds18b20.c代码我们在宋老师的代码基础上添加了温度转换函数,原理在上一讲已经讲解清楚了。#include<reg52.h>#include<ds18b20.h>#include<intrins.h>unsi

定时器工作模式

1.两种“试管”这种“试管”有65535个刻度的型号,也有255个刻度的型号,不过我们的导管水流流速是永远不变的。如果我们用的是大试管(65535个刻度),那么溢出时间我们可以控制的长一些,也就是定时时间可以多一点。我们要是想定时36个单位刻度的时间,

多文件编写

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

分钟秒表

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

延时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.定时器中断实现间隔切换在第六章第4讲的测试代码中提到过数码管微闪烁问题,这是由于三八译码器的IO端口切换的间隔时间不均匀导致,这部分的问题宋老师已经在《手把手教你学51单片机》文档6.4.2节有详细解释,并在6.5.2节里解决了这个问题。