首页 > 其他分享 >51单片机

51单片机

时间:2024-07-17 13:31:47浏览次数:16  
标签:蜂鸣器 函数 单片机 51 低电平 数码管 利用 RA

1基础LED

  1. Keil5 C51软件安装正确
  2. 驱动程序COM口
  3. 电路原理图理解
  4. 文件设置.hex

2数码管消隐

  1. 数码管按照电路设计可分为位选和段选。
  2. 段选246译码器,通过左边的P0来控制段选的数字,数码管以a,b,c,d,e,f,g,dp来排列,1表示的是这个LED亮,从右往左读,转换为16进制,即为P0的段选值。、
  3. 位选138译码器,通过P22,P23,P24,3个引脚来控制左边8个LED的位选开关,比如说110(P24,P23,P22)即为Y6引脚为0,对应的LED7会亮起来。
  4. 多个数码管同时显示,利用人眼的错觉,<40ms的延时来循环闪烁从而达到显示的效果。
  5. 消隐,在位选和段选的切换过程中,因为执行语句是依次进行,所以会发生一些不期望的显示,我们需要在位选前关闭段选的赋值,或者在段选前关闭位选的赋值。

3矩阵按键

  1. 利用m+n个L口来控制m*n个按键
  2. 通过LCD液晶显示来输出数字
  3. 尽量按列扫描,防止和蜂鸣器的L口撞上
  4. 当按键按下去的时候相当于一根导线,即两端均为0,即此时扫描出按下的动作,松手时刻再进行赋值

4计时器

  1. 通过液晶屏来显示
  2. 利用计时器功能
  3. 特别注意中断函数

5串口

  1. 串口即不同设备相互通信传输数据的接口。
  2. 需要配置好波特频率,特别注意单片机的自身频率可能不是12MHZ,这样传输的数据会产生较大的误差。

6点阵

  1. 通过P0L口和D口来控制8*8个LED点阵,其中D口是通过3个值来控制数据的写入,控制的是列
  2. SER送入数据,SERCLK数据向下移位,RCLK将数据送出至输出端
  3. P0口控制的行
  4. 利用for循环,每隔一段时间更新点阵图案从而达到动画的效果

7时钟

  1. 时钟显示模块
  2. 按键模块
  3. 边界处理
  4. 设置效果

8蜂鸣器

  1. ULN2003 芯片给1高电阻相当于短路,无法驱动,给0电路导通能驱动。
  2. 无源蜂鸣器不能一直接电源,容易烧坏。
  3. 乐理知识
  4. 利用延时函数制造节拍,利用中断函数生成频率,每5ms停顿一次,从而生成整首歌曲。
  5. 控制蜂鸣器开关形成振荡频率

9I2C

  1. 根据主从线电平高低变化,来编写6个模块Start Stop SendByte RecieveByte SA RA
  2. 利用模块组合写成W和R
  3. 利用数码管,LCD,按键等方式进行数据的写入和读取
    S W(0XA0) RA WordAddress RA Data RA S
    S W(0XA0) RA WordAddress RA S R(0XA0) RA Data SA S

10温度传感器

  1. 温度存储在内置的ROM当中,通过特定的时序读取数据,显示在晶体管上
  2. float格式读取
  3. S ConvertT RecieveByte RecieveByte
  4. 将得到的TML TSL结合起来输出

11LCD1602

  1. 初始化
  2. 内置了很多字符
  3. 利用两个读数据,读指令来进行显示屏的显示
  4. 光标显示在对应的位置,接着进行数据的写入显示
  5. 数据和指令的结合可以做出屏幕上字幕移动的效果

12PWM电机

  1. 通过高低电平的占空比,利用惯性,综合改变电机速率
  2. 利用中断函数,比较一个值,形成高低电平在对应时间段的稳定切换

13AD/DA数模转换

  1. 运放器,反向放大,同向放大,等效电路(将没有驱动能力的电压转换为有驱动能力的电压)
  2. DA(利用一个并联加串联,R,2R的八次电路组合,形成一个具有权重的电流8位,接一个等效)
    通过数字制定对应的电压
  3. AD(逐步逼近,8位输出,通过将VCC等分,利用8位推测电压值,进行逼近检测)
    通过电压输出对应的数据

14红外线

  1. 红外发送波形,1用590ms低电平+1690ms高电平表示,0用590ms低电平+590ms高电平表示
  2. 得到的红外波形与37HZ的频率进行混合,为了防止其他的红外光干扰
  3. 再进行解码,把原来的波形输出,接到单片机的外部中断中,因为信号很快,需要立即响应
  4. 数据由红外遥控编码+反码,命令编码+反码组成,反码是为了验证
  5. 每一个命令编码对应的是一个遥控器键,长按会在一段时间内连续发一个对应的波形
  6. 编码是低位在前,需要反着读

15Error&注意

  1. Keil :error C132: : not in formal parameter list 如果同时调用多个函数C H 文件,当调用某个H 文件,报错非常多。原因:原来是在H文件 函数声明 void init_ADC()时漏了“;”
  2. Keil error C141: syntax error near ‘unsigned’ 在main函数,for、while、if里面也要放第一行,只要是局部变量的定义都要放在所在函数体内的第一行。
  3. code 放在更大的存储空间里面,但是数据无法更改
  4. static 静态变量,可保存上一次运行的值

标签:蜂鸣器,函数,单片机,51,低电平,数码管,利用,RA
From: https://www.cnblogs.com/Aaryn/p/18307112

相关文章

  • 零基础STM32单片机编程入门(十五) DHT11温湿度传感器模块实战含源码
    文章目录一.概要二.DHT11主要性能参数三.DHT11温度传感器内部框图四.DTH11模块原理图五.DHT11模块跟单片机板子接线和通讯时序1.单片机跟DHT11模块连接示意图2.单片机跟DHT11模块通讯流程与时序六.STM32单片机DHT11温度传感器实验七.CubeMX工程源代码下载八.小结一.......
  • 代码随想录算法训练营第九天 | 151.翻转字符串里的单词、卡码网:55.右旋转字符串、28.
    151.翻转字符串里的单词题目:.-力扣(LeetCode)思路:用快慢双指针重置空格,先整体翻转再局部翻转代码:classSolution{public:voidremoveSpace(string&s){intslow=0;for(intfast=0;fast<s.size();fast++){if(slow!=0&&s[fast]!='')......
  • 基于单片机的智能医疗监护系统设计
    1.简介  随着社会的发展,智能化电子设备成为了人们生活中不可或缺的一部分,尤其是在人们对于身心健康更加注重的今天,智能医疗监护系统应运而生。本套电子监护设备集体温测量、心电采集、心率监测、血氧监测于一体,带有语音播报模块,适用于不同年龄段人群。智能化电子监护设备......
  • 为什么执行代码,烧入程序之后,电脑对单片机发送数据,但是单片机不反应
    #include"stm32f10x.h"      #include"Uart.h"#include<stdio.h>#include<stdarg.h>u8USART1_RX_BUF[64];  //接收缓冲,最大64个字节.//接收状态//bit7,接收完成标志//bit6,接收到0x0d//bit5~0,接收到的有效字节数目u16USART1_RX_STA=0;   ......
  • 51小车红外循迹及蓝牙代码
     main.c#include<REGX52.H>#include"time.h"#include"motordriver.h"#include"MoveState.h"#include"follow.h"#include"lanya.h"externunsignedintPWMR;externunsignedintPWML;unsignedi......
  • 基于51单片机控制的简易交通灯设计
    在我们生活中,各个道口上红绿灯随处可见,是疏导交通车辆最常见和最有效的手段。通过查找资料能够发现这一科技从十九世纪就开始出现了。时间追溯到1858年,英国伦敦的各个重要街头就安装了红色和蓝色组成信号灯,它是以燃煤气为光源的扳手式信号灯,一开始是用作指挥马车的行驶,这应......
  • 牛客周赛 Round 51
    A.小红的同余思路+解法:找到唯一一个x满足2x%m=1(0<=x<m)  就可以推出(m+1)*2即可Code: #include<bits/stdc++.h>usingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);intm;cin>>m;......
  • 2024.7.12单片机PWM
    遇到了一个光标变成下划线的问题:Keil5光标变下划线,变回来的方法_keil5光标是下划线-CSDN博客这里是用了输入捕获(IC:inputcapture),输出比较(OC:OutputCompare)区别学到这里是以为,首先输入捕获是捕获外界的数字信号,如果是模拟信号,可能需要加信号处理的模块,变成数字信号再加以处......
  • 关于51单片机LED板块的学习笔记
    首先看看常见LED灯的内部结构其次下面是MCU原理图上关于LED的部分右侧VCC代表正极,左接两组电阻,目的保护电路,然后是八个LED,左侧有P20到P27八个接口接到下图CPU的对应接口上。这是工作原理图CPU经过一系列的信号传输把信号以高低电平的形式传给LED,因为LED右端始终接正极V......
  • 题解:CodeForces 1511 C Yet Another Card Deck[暴力/模拟]
    CodeForces1511CC.YetAnotherCardDeckDescriptionYouhaveacarddeckof\(n\)cards,numberedfromtoptobottom,i. e.thetopcardhasindex\(1\)andbottomcard —index\(n\).Eachcardhasitscolor:the\(i\)-thcardhascolor\(a_i\......