无源蜂鸣器+LED 1.联系生活我们已经学会控制无源蜂鸣器鸣叫的时间,那么作为本章最后一讲,联合我们学过的LED章节知识,写一个用开发板实现一个生活常见现象的代码,比如常见机器报警时,灯亮的时候蜂鸣器就响,灯灭的时候就不响,时间上表现为灯亮的时候蜂鸣器马上响,亮的时间和鸣叫的时间都为1秒, 蜂鸣器 2022年03月18日 133 点赞 0 评论 110305 浏览
各功能代码的运用 尽管部分初学者对液晶屏的全部代码的理解存在困难,不过没关系,只要我们懂得如何运用它们各个函数的功能即可,大家下载进开发板之后观察实验现象再结合代码与注释慢慢细读掌握吧。1.测试代码#include<reg52.h>#include<function.h>//详见第六章第8讲#include<lcd.h 1602液晶屏 2022年01月17日 192 点赞 0 评论 105941 浏览
寄存器 1.单片机内部资源大家看到下面这张图片应该不算陌生了可是如果我们看到的是这张的话就会觉得陌生像我们所熟知的P0,P1,P2,P3,包括上图的TCON以及“#include<reg52.h>”头文件中的IE,SCON等等都叫做寄存器。这些寄存器我们粗浅的认为就是一个8位的变量, 外部中断 2022年05月19日 84 点赞 0 评论 116166 浏览
隐形漏洞 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.状态图可能我们理想中的按键过程图如下那我们不妨在这种猜想下用代码测试看看是什么效果。 独立按键 2022年02月03日 135 点赞 0 评论 112467 浏览
多文件编程首次测试 延时函数虽然很少使用了,但是有时需要测试代码的时候还会派上用场,所以也把它放进“function.c”文件中。1.function.c的代码#include<reg52.h>#include<function.h>u8codeLedChar[16]={0xC0, 多文件编程 2022年03月15日 88 点赞 0 评论 72199 浏览
函数传参调用 本讲在上一讲的代码基础上讲解新的编程知识:函数参数传递调用!1.推陈出新上一讲的函数封装“delay();”是一个固定的功能,只能做延时1秒的作用,大多数情况下我们希望一个函数用相同的函数名通过修改一个值可以实现不一样的功能,所以就产生了函数带参调用的编程手法。 LED及入门 2022年04月03日 256 点赞 0 评论 128022 浏览
串口通信入门 在讲解本章的内容之前请大家先反复阅读《手把手教你学51单片机》文档的第11章内容,很多概念文档都已详细讲解有。1.波特率串口通信就是单片机与电脑端,单片机与单片机,单片机与模块器件之间互发信息进行通信,比如单片机发送一个“1”的字符给电脑端,电脑端的窗口就会接收到“1”。 串口通信 2022年03月12日 195 点赞 0 评论 108654 浏览
程序点灯 1.头文件在#include<reg52.h>头文件中,把单片机中的寄存器地址封装起来定义成宏供我们调用,寄存器这个概念我们初学先不用太深刻的去理解它,在《手把手教你学51单片机》文档中2.4.1节有讲解,大家熟读几遍,如果还是无法理解后面我们再用程序配合硬件来领悟它们的作用。 LED及入门 2022年04月30日 321 点赞 0 评论 148804 浏览
高位不显示0 在上一讲代码基础上,根据常识,变量没有到达10时,数码管1和数码管2应该是不需要点亮的,也就是高位不显示0。1.代码参考笔者参考了宋老师的代码,他的做法就是额外开辟出一个数组用来做缓存,P0去取这个数组里的值即可,初始化的时候如下unsignedcharLedBuff[6]={0xFF, 数码管 2022年03月12日 129 点赞 0 评论 103281 浏览