数据类型强制转换 1.实用性改善为了使上一讲的功能更加完善,我们编写新的实用型的代码,效果是让数码管显示的数就是输入引脚高电平持续的微秒数,最高能捕获到999999微秒。如果高电平持续的时间超出这个取值范围,那么数码管不够显示,所以超出范围的话我们就让6个数码管显示FFFFFF。 定时器 2022年04月05日 56 点赞 0 评论 76688 浏览
数码管原理 1.分类数码管分共阳数码管和共阴数码管。数码管其实就是8个段的发光二极管,只点亮其中的几个段即可显示出数字或字母用来表达信息。共阳数码管:把8段LED的正极并在一起作为公共端连接在5V上(共阳极),然后8个LED通过单片机的8个IO端口输出高低电平使其决定点亮哪几个段。 数码管 2022年04月07日 110 点赞 0 评论 147468 浏览
温度传感器代码解析Ⅱ 1.小于0度的转换我们知道当测量的实际温度为0度以下时,temp没转换时的情况为下图所示我们已经知道高5位为1表示的是负数,那么-0.5度的时候为什么是1111111111111000。负数的计算涉及到补码的知识。首先0xFFF8,除去高5位那就是11111111000反码为00000000111而补 红外遥控与温度传感器 2022年05月24日 189 点赞 0 评论 124417 浏览
各功能代码的运用 尽管部分初学者对液晶屏的全部代码的理解存在困难,不过没关系,只要我们懂得如何运用它们各个函数的功能即可,大家下载进开发板之后观察实验现象再结合代码与注释慢慢细读掌握吧。1.测试代码#include<reg52.h>#include<function.h>//详见第六章第8讲#include<lcd.h 1602液晶屏 2022年01月17日 192 点赞 0 评论 105940 浏览
寄存器 1.单片机内部资源大家看到下面这张图片应该不算陌生了可是如果我们看到的是这张的话就会觉得陌生像我们所熟知的P0,P1,P2,P3,包括上图的TCON以及“#include<reg52.h>”头文件中的IE,SCON等等都叫做寄存器。这些寄存器我们粗浅的认为就是一个8位的变量, 外部中断 2022年05月19日 84 点赞 0 评论 116166 浏览
再次优化不支持连按的代码 1.还需消抖可以看到我们在第6讲和第7讲的按键不支持连按代码中,死循环都有“delay_ms(2);”,因为大多数时候主循环都要做很多事,所以我们认为这2ms的延时是很多复杂程序要执行所消耗的时间,而正是因为这个延时函数的存在把按键的物理抖动给滤掉了,误导了我们以为这样的不支持连按代码是合格的。 独立按键 2022年01月19日 57 点赞 0 评论 73333 浏览
隐形漏洞 1.漏洞代码假如就按上一讲说的书写方式,实现定时50ms间隔的流水灯。#include<reg52.h>#include<function.h>//详见第六章第8讲voidmain(){LED_Init();//初始化LED硬件模块EA=1;//闭合总中断开关TMOD=0x01;//设置定时器0为工作 定时器 2022年01月12日 131 点赞 0 评论 80948 浏览
初识原理图 在中学物理电路知识中,用简易电路图表示电路的实际连接情况,而在单片机硬件连接上,我们则用原理图来表示单片机的引脚与开发板板上的芯片等相关硬件的引脚通过电路板上的覆铜线两者相连。1.回顾单片机入门往往是从点亮一盏灯开始,我们在中学时做物理电路实验用电池点亮灯泡时, LED及入门 2022年04月09日 189 点赞 0 评论 150950 浏览
EEPROM简单使用 我们这一讲简要讲解如何往EEPROM的地址0x55写入一个数据,然后读出这个数据的内容。本讲代码围绕的是宋老师的lesson14_2例程代码讲解。1.写入一个字节内容如果要在EEPROM的某个地址里写入内容,那么步骤的实现归为:起始信号→找到这个器件是否存在(寻址), IIC通信 2022年05月11日 185 点赞 0 评论 113431 浏览
串口通信入门 在讲解本章的内容之前请大家先反复阅读《手把手教你学51单片机》文档的第11章内容,很多概念文档都已详细讲解有。1.波特率串口通信就是单片机与电脑端,单片机与单片机,单片机与模块器件之间互发信息进行通信,比如单片机发送一个“1”的字符给电脑端,电脑端的窗口就会接收到“1”。 串口通信 2022年03月12日 195 点赞 0 评论 108654 浏览