51单片机学习
文章平均质量分 91
基于江科大视频51单片机C语言的学习,用汇编语言进行对比。
剑鞘的流苏
这个作者很懒,什么都没留下…
展开
-
单片机C语言基础
关键字:#define用途:用一个字符串代替一个数字,便于理解,防止出错,比如我们在程序中经常用1代表高电平,0代表低电平,但是如果说1代表上拉输入,2代表下拉输入,3代表浮空输入等等,这时直接用数字来表示就会非常麻烦,那我们就可以用宏定义将数据参数映射到一个字符串上,用字符串来代替这个数字。原创 2023-10-30 21:03:13 · 973 阅读 · 0 评论 -
AT24C02与I2C总线(十一)
AT24C02是一种可以实现掉电不丢失的存储器,可用于保护单片机运行时想要永久保存的数据信息。存储介质:E2PROM通讯接口:I2C总线(2是指平方的意思,因此念:I方C总线)容量:256字节I2C总线(Inter IC BUS)是由菲利普公司开发的一种通用数据总线。两根通信线:SCL(Serial Clock)、SDA(Serial Data)是一种同步、半双工、带数据应答的数据总线。同步:有单独的时钟线;半双工:只有一根线进行来回通信,所以通信只能分时复用一根线;原创 2023-09-27 16:51:53 · 337 阅读 · 0 评论 -
51单片机串口通信(七)
定义:串口是一种应用十分广泛的通讯接口,串口成本低,容易使用、通信线路简单,可实现两个设备的相互通信。功能:单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块相互通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。51单片机内部自带UART(通用异步收发器),可实现单片机的串口通信。全双工:通信双方可以在同一时刻互相传输数据;半双工:通信双方可以互相传输数据,但必须分时复用(不同时间段传输不同的信号)一根数据线;单工:通信只能有一方发送到另一方,不能反向传输;异步。原创 2023-07-18 20:51:37 · 4223 阅读 · 1 评论 -
蜂鸣器(十)
蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定;无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。原创 2023-09-07 18:00:40 · 791 阅读 · 1 评论 -
DS1302实时时钟(九)
这里VCC1没有接备用电源,因此断电后,DS1302会停止工作。原创 2023-08-06 14:31:39 · 3821 阅读 · 0 评论 -
51单片机LED点阵屏(八)
LED点阵屏由若干个独立的LED组成,LED以矩阵(a×a)的形式排列,以灯珠亮灭来显示文字、图片、视频灯。LED点阵屏广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。LED点阵屏分类按颜色:单色、双色、全彩按像素:8×8,16×16等(大规模的LED点阵通常由很多个小点阵拼接而成)原创 2023-07-21 17:01:21 · 4068 阅读 · 5 评论 -
STC89C52RC单片机原理图详解
左侧A0和右侧B0为一 一对应的关系,左上角DIR为控制数据方向端口,如果DIR接高电平是将左侧数据A0~A8送到右侧B0~B8,如果DIR接低电平,是将右侧数据B0~B8送到左侧A0~A8,由于在电路板上LE始终与VCC连接,因此这里。74HC595是串行输入,并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于I/O口扩展。由于数码管为共阴极,给数码管下面接口输入阳码时,LED才亮,但是直接将P0~P7的高电平输入到数码管时,原创 2023-10-30 14:25:25 · 38146 阅读 · 4 评论 -
51单片机定时器和中断(六)
51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。原创 2023-06-15 10:36:59 · 1962 阅读 · 1 评论 -
51单片机矩阵键盘(五)
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态。原创 2023-05-29 23:57:48 · 5566 阅读 · 4 评论 -
模块化编程及LCD1602调试工具(四)
传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其他.c文件想使用其中的代码时,只需要#include"XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性。使用LCD1602液晶屏作为调试窗口,提供类似printf函数的功能,可实时观察单片机内部数据的变换情况,便于调试和演示。函数作用。原创 2023-05-26 22:59:37 · 1674 阅读 · 1 评论 -
51单片机数码管显示(三)
接线服从就近原则89C52RC单片机采用共阴极方式,当给共阴极12、9、8、6为1101时,再给下面共用端口输入0110 0000时,LED段B、C亮,这时第三个LED数码管会显示1;如果给共阴极12、9、8、6为1001,则第二个数码管和第三个数码管都会显示1。原创 2023-05-21 12:29:42 · 6298 阅读 · 2 评论 -
51单片机独立按键控制LED(二)
对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。独立按键控制LED显示二进制。独立按键控制LED灯亮灭。独立按键控制LED状态。独立按键控制LED移位。原创 2023-05-16 22:02:55 · 4569 阅读 · 1 评论 -
51单片机点亮LED灯(一)
选择打开程序文件后,打开KeilProject/2-1点亮一个LED/project/object中hex后缀的文件。系统频率选择12MHZ,定时长度选择500ms,指令集选择STC-Y1,然后将代码复制至Keil编译器。在option选项中的output,勾选生成HEX后缀文件,才能通过STC-ISP软件烧录程序。串口号可以通过右键我的电脑,选择属性,再找到设备管理器,在端口一栏查看。最后再点击下载/编程,然后将按下单片机的复位键,即完成烧录程序。选择语言,第一个是C语言,第二个是C++,第三个是汇编。原创 2023-05-11 19:53:30 · 21399 阅读 · 2 评论