单片机

结束语

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

IIC入门代码讲解

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

数码管&LED

1.同时点亮猜想在本章第一节里说过要想点亮数码管,那么我们第一章学过的LED小灯就没有机会点亮了,硬件上的确是这样。不过我们软件上还是可以实现让一个数码管和一盏LED小灯同时点亮的,大家还记得我们之前举过一个这样的例子吗?#include<reg52.h>sbitLED2=P0^0;sbitADDR2

定时时长的做法

1.“水量”的确定我们已经懂得怎么选用“试管”了,如何装多大的“水量”来决定定时的时长呢。首先我们先拿“大试管”来说,定时器0有两个寄存器分别是TH0和TL0,大家再次粗浅的把TH0和TL0认为是两个8位的变量先吧。因为我们用的是“大试管”,

延时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.状态图可能我们理想中的按键过程图如下那我们不妨在这种猜想下用代码测试看看是什么效果。

第一阶段综合例程(下)

1.上一讲的代码#include<reg52.h>sbitADDR2=P1^2;sbitADDR1=P1^1;sbitADDR0=P1^0;sbitENLED=P1^4;sbitADDR3=P1^3;sbitBEEP=P1^6;sbitKEY13=P2^4;sbitKEY14=P2^5;sbitKEY

开发板选择

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

AD与DA合成文件

这一章节的内容比较简单,大家反复细读学习《手把手教你学51单片机》文档第17章就会了解透彻这部分的知识。1.简要解析概念和代码我们知道PCF8591有4个通道是可以用来读取输入的电压值的。那么宋老师写的“unsignedcharGetADCValue(unsignedcharchn)”就是选择读取其中

详细理解ASCII码

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