自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 c51单片机学习笔记-LED点阵实验(点亮一个点)

目的::在点阵屏上点亮一个点方法:让 LED 点阵的左上角第一个点点亮,实际上就是将第一个点对应的行为高电平,列为低电平 即可。也就是让 74HC595 输出 0X80(1000 0000),这样点阵第一行就是高电平, 而 P0 口输出 0X7F(0111 1111),这样点阵第一列就是低电平,从而让 LED 点 阵第一个点点亮。编译软件:keil5过程:(1)定义 74HC595 控制管脚sbit SRCLK=P3^6; //移位寄存器时钟输入sbit RCLK=P3^5; //存

2022-01-19 15:49:04 3390

原创 c51单片机学习笔记-IO扩展(串转并)实验 - 74HC595

目的:通过 74HC595 模块控制 LED 点阵以一行循环滚动显示。编译软件:keil5过程:(1)先定义好74HC595 控制管脚,以及点阵列控制口//定义 74HC595 控制管脚sbit SRCLK=P3^6; //移位寄存器时钟输入sbit RCLK=P3^5; //存储寄存器时钟输入sbit SER=P3^4; //串行数据输入#define LEDDZ_COL_PORT P0 //点阵列控制端口u8 ghc595_buf[8]={0x01,0x02,0x04,0x0

2022-01-14 13:47:15 1733 1

原创 c51单片机学习笔记-矩阵按键实验

目的:通过数码管显示矩阵按键 S1-S16 按下后键值 0-F。编译软件:keil5过程:(1)定义各端口#include "reg52.h"typedef unsigned int u16; //对系统默认数据类型进行重定义typedef unsigned char u8;#define KEY_MATRIX_PORT P1 //使用宏定义矩阵按键控制口#define SMG_A_DP_PORT P0 //使用宏定义数码管段码口//共阴极数码管显示 0~F 的段码数据u8 g

2022-01-12 13:29:50 1894 1

原创 c51单片机学习笔记-独立按键实验

目的:通过开发板上的独立按键 K1 控制 D1 指示灯亮灭编译软件:keil5过程:(1)定义独立按键控制脚sbit KEY1=P3^1;sbit KEY2=P3^0;sbit KEY3=P3^2;sbit KEY4=P3^3;(2)定义 LED1 控制脚sbit LED1=P2^0;(3)使用宏定义独立按键按下的键值#define KEY1_PRESS 1#define KEY2_PRESS 2#define KEY3_PRESS 3#define KEY

2022-01-11 13:22:46 3897 1

原创 c51单片机学习笔记-动态数码管实验(un)

目的:控制动态数码管从左至右显示数字 0-7编译软件:keil5过程(1)首先将 51 单片机的头文件包含进来, 然后定义 38 译码器的控制引脚,并将共阴数码管 0-F 断码数据使用数组定义好#define SMG_A_DP_PORT P0 //使用宏定义数码管段码口//定义数码管位选信号控制脚sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;//定义一个全局数组变量 gsmg_code (开头的“g”表示全局)存放共阴数码管 0-F 段码数

2022-01-09 10:27:33 1715 1

原创 c51单片机学习笔记-静态数码管实验

目的:控制静态数码管显示数字 0方法:让 P0 端口输出数字 0 的段码 0x3f(共阴)编译软件:keil5过程(1)使用宏定义数码管段码口#define SMG_A_DP_PORT P0(2)定义一个全局数组变量 gsmg_code (开头的“g”表示全局)存放共阴数码管 0-F 段码数据u8 gsmg_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7

2022-01-08 13:26:39 3314

原创 c51单片机学习笔记-无源蜂鸣器实验

目的:让蜂鸣器发出声音,一段时间后再关闭方法:让P2.5管脚输出一定频率的脉冲信号(高低电平)控制无源蜂鸣器。编译软件:keil5过程:(1)首先将 51 单片机的头文件包含进来, 然后使用 sbit 关键字来定义 P2.5 管脚,定义好后即可使用 BEEP 来替代 P2.5 口的操作。sbit BEEP=P2^5;(2)主函数直接进入 while 循环,在循环内再次套用了一 个 while 循环,只不过这里并非死循环,而是通过变量 i 值来决定何时退出,i 值初始化为 2000,

2022-01-07 14:29:45 5810

原创 c51单片机学习笔记-LED流水灯库函数实验

目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮再从D8-D1逐个点亮,循环下去。方法:利用移位库函数,点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1、 D3-D8 熄灭,延时一段时间后再点亮 D3 且把 D1-D2、D4-D8 熄灭,如此循环,反向亦然。(移位函数功能:移位函数实现的移位功能就相当于一个队列内循环移动,如 果是左移,那么最高位就被移到最低位了,次高位变为最高位,依次类推)编译软件:keil5过程:(1)使用移位库函数,必须包

2022-01-06 14:12:29 3823 1

原创 c51单片机学习笔记-LED流水灯实验

目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮。方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1、 D3-D8 熄灭,延时一段时间后再点亮 D3 且把 D1-D2、D4-D8 熄灭,如此循环。编译软件:keil5过程:(1)点亮D1-D8对应端口为P20-P27,所以需要对P2X端口进行宏定义#define LED_PORT P2 //使用宏定义P2端口(2)要使用复循环语句,需定义一个变量i,因为条件只需要循环8次,所以定

2022-01-05 21:29:07 5565 1

原创 c51单片机学习笔记-LED闪烁编程

目的:使LED灯闪烁,需循环让 D1 指示灯先亮一会后熄灭,因此只需编写一个循环函数,专门在那循环运行即可实现延时功能。编译软件:keil5过程:(1)书写延时函数函数名:delay_10us函数功能:延时函数,ten_us=1时,大约延时10us输入:ten_us输出:无函数需要通过while循环实现,函数入口有一个形式参数ten_us,如果ten_us=1,则while循环执行一次,调用该函数延时时间大约 10us。(2)书写main函数代码LED1=0(

2022-01-04 14:35:10 14768 2

原创 c51单片机学习笔记-点亮第一个LED

目的:点亮 D1 指示灯,即让 P2.0 管脚输出一个低电平。编译软件:keil5过程:(1)将 51 单片机的头文件包含进来。(2)然后使用 sbit 定义 P2.0 管脚,使用 LED1 来替代 P2.0 口的操作。(3)主函数编译,首先让 LED1 为低电平,即 P2.0 口输出为低电平,D1 指示灯即点亮,然后进入 while 循环,单片机此时一直在 while 内循环操作,本实验仅让LED点亮,所以所以while循环为真.空循环。(4)编译程序,未发现错误(5)

2022-01-03 15:02:48 1570 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除