自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LED点阵

本周的学习内容是LED点阵的使用。其实LED点阵与动态数码管的原理非常相似,都是通过扫描和视觉暂停现象来实现多个LED同时点亮的视觉效果。不同的是,点阵可以通过74HC595来实现三根线串行输入多根线并行输出的效果。开发板上的点阵是8*8的,因此使用8根线输出,利用多个74CH595也可以实现例如16、32行并行输出,不过会降低扫描频率。下面是一个在点阵上滚动显示 Hello!的代码#include <REGX52.H>#include <INTRINS.H>sbit

2021-01-03 21:25:39 450

原创 利用矩阵键盘制作密码锁

本周学习了关于矩阵键盘的知识,并利用矩阵键盘制作了密码锁。矩阵键盘利用矩阵式的连接减少了IO口的使用,并用扫描的方式保证每一个按键的响应。下面是代码main#include <REGX52.H>#include "lcd1602.h"#include "delay.h"#include "MatrixKey.h"unsigned char keynum,Password,Count;void main(){ LCD_Init(); LCD_ShowString(1

2020-12-27 20:25:47 3805 3

原创 DS1302实时时钟

DS1302是一款可离线运转的实时时钟。本周我的学习任务是利用它和LCD1602来在学习板上制作一个时钟。下面是代码(除LCD1602的头文件)main#include <REGX52.H>#include "LCD1602.h"#include "DS1302.H"unsigned char Second,Minutes,Hours;void main(){ unsigned char Number; LCD_Init(); LCD_ShowString(1,1,"R

2020-12-20 20:46:11 799

原创 制作秒表——AT24C02储存芯片与用定时器代替Delay函数

本来准备学linux的,但临时决定先把单片机的基础知识学完。本周学习内容:1.学到了一个很好的用定时器代替Delay函数的方法。利用多个累加变量可在一个定时器中断函数中满足多个功能的延时需求。2.学习了AT24C02储存芯片和I2C协议。AT24C02是一个ROM,对于单片机来说相当于电脑的内存条,可以实现数据的长时间储存。其实AT24C02本身是比较简单的,但它与单片机通讯所用的I2C协议需要认真思考才能理解。下面是利用本周学习的内容在学习版上实现秒表功能的函数PS:因为本周要考四级,时间比较紧

2020-12-13 20:27:21 1024

原创 基于STC89C52的智能小车——蓝牙遥控篇

蓝牙遥控是依靠单片机的串口通讯来实现的功能。这周我主要学习的内容是串口通讯。在完成学习后我用之前买避障小车时顺便买的蓝牙模块做了一个升级版智能小车,它可以通过蓝牙模块实现避障模式与蓝牙遥控模式的切换以及速度的调整。蓝牙模块的接线:将vcc与gnd接在单片机最小系统的5v供电口上,将txd和rxd分别接在单片机的rxd与txd上下面是程序(头文件之前的笔记中有,在此不做赘述了)#include <REGX52.H>#include "direction.h"#include "cd.h"

2020-12-06 22:18:52 3548

原创 基于STC89C52的智能小车——红外避障+PWM调速篇

这篇学习笔记虽然看起来很水,毕竟红外避障和PWM在之前的学习笔记里都写过了,但这次确实是我耗时最久的一次作业。用软件实现PWM真是一个深渊巨坑

2020-11-29 00:28:08 4733 7

原创 模块化程序设计——在keil中利用头文件整理程序

模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法(复制百度百科的)。具体到在keil中编写程序时,就是通过将不同功能的函数写在头文件里,再在主程序中通过直接调用头文件中的函数来实现简化主程序的目的。我们目前写的程序都不算太长,因此模块化编程对我们的作用不算显著。当我们要写成百上千行代码时,如果将它们全部都堆在主程序中,那繁杂的代码将影响编程者调试代码的效率和思路。这时模块

2020-11-20 22:35:54 1555

原创 基于STC89C52的智能小车——PWM调速篇

虽然我的小车因为电池电压太低慢的要死,不过PWM还是要学的…PWM简单来说就是通过调整占空比(一个时间段 t 内电机运行的时间占总时间的比例)来调整小车速度。当然为了小车运行稳定 t 必须很小,也就是PWM的频率不能太低。下面是程序#include <REGX52.H>#include "direction.h"#define u8 unsigned char#define u16 unsigned intu16 time_cnt;u16 freq=100; //

2020-11-19 22:48:08 5717 2

原创 基于STC89C52的智能小车——红外避障篇

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2020-11-19 00:08:17 4718

空空如也

空空如也

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

TA关注的人

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