单片机
文章平均质量分 51
会做饭的网络工程师
作业辅导 商务合作: FY22740
展开
-
单片机中的PWM(脉宽调制)的工作原理以及它在电机控制中的应用。
脉宽调制(PWM)是一种在单片机中常用的控制技术,它通过调整信号的脉冲宽度来控制输出信号的平均电平。PWM常用于模拟输出一个可调电平的数字信号,用于控制电机速度、亮度、电压等。原创 2024-01-11 21:34:13 · 1650 阅读 · 1 评论 -
51单片机液晶数码显示代码,要求显示数字520
结合注释进行理解,应该算是写的比较详细了。#include // 引入STC89C52的寄存器定义#include // 使用_nop_()函数#define LCD_DataPort P0 // 连接液晶数据总线的P0口sbit RS = P2^0; // 液晶RS引脚连接到P2.0口sbit RW = P2^1; // 液晶RW引脚连接到P2.1口sbit EN = P2^2; //原创 2023-11-16 22:50:40 · 597 阅读 · 0 评论 -
STM32F103RCT6 103RE 103R8 103RB 103C8 103CB 103VE 103VC
这些微控制器都是基于ARM Cortex-M3内核设计的,提供了丰富的存储和外设接口,适用于各种应用场景。其中,Flash和RAM的容量有所不同,LQFP和LQFP48/LQFP100封装也有差异,用户可以根据具体的应用需求选择适合自己的型号。因此,STM32F103RCT6在嵌入式系统、工业自动化、医疗设备、智能家居等领域得到了广泛的应用。以及多种保护机制,例如CRC校验、独立看门狗和低功耗模式等,可以帮助开发者提高系统可靠性和安全性。它具有高性能、低功耗和广泛的应用领域。STM32F103RCT6原创 2023-04-12 10:21:23 · 1490 阅读 · 1 评论 -
STM32F103RCT6
STM32F103RCT6是一款由STMicroelectronics公司生产的基于ARM Cortex-M3内核的。因此,STM32F103RCT6在嵌入式系统、工业自动化、医疗设备、智能家居等领域得到了广泛的应用。此外,STM32F103RCT6也提供了丰富的开发工具和软件库。,可以帮助开发者提高系统可靠性和安全性。它具有高性能、低功耗和广泛的应用领域。等,方便开发者进行系统设计和调试。原创 2023-04-12 10:11:36 · 11856 阅读 · 0 评论 -
消除按键抖动(单片机)
用法比较单一,结合代码进行理解。原创 2023-03-31 22:51:19 · 3182 阅读 · 0 评论 -
用定时器T0控制跑马灯实现
实现方法本实例使用定时器T0的查询方式TF0来控制P2口8位LED的闪烁。本实例采用的电路原理图如图所示。实现方法1)定时器T0工作方式的设置TMOD=0x01;//即TMOD=0000 0001B,低4位GATE=0,=0,M1M0=012)定时器初值的设定TH0=(65536-46083)/256;//定时器T0的高8位赋初值TL0=(65536-46083)%256;//定时器T0的高8位赋初值3)查询方式的实现定时器T0开始工作后,可通过编程让单片机不断查询溢出标志位。原创 2022-12-20 14:03:19 · 2127 阅读 · 8 评论 -
定时器/计数器中定时/计数初值的计算
TCON是一个特殊功能寄存器,其主要功能是接收各种中断源送来的请求信号,同时也对定时器/计数器进行启动和停止控制。其字节地址是88H,它有8位,每位均可进行位寻址。寄存器TMOD是单片机的一个特殊功能寄存器,其功能是控制定时器/计数器T0、T1的工作方式。当M1M0=01时,定时器/计数器选定为工作方式1。在上电和复位时,寄存器TMOD的初始值为00H。当TL1和TH1组成的16位计数器计数溢出时,时,定时器/计数器T1选定为工作方式。位和TH1的8位构成。为由工作方式决定的计数器位数。原创 2022-12-19 14:43:49 · 4451 阅读 · 1 评论 -
定时器/计数器的基本概念
单片机内有一个定时器/计数器T0,可以用编程的方法将它设为计数器。当用作计数器时,它是一个16位计数器,它的最大计数值为。是工作于计数还是计时方式,它们在对内部时钟脉冲或外部脉冲进行计数时,都不占用。分频后的脉冲周期为基本计数单位,对输入的脉冲进行计数,直至产生溢出。80C51单片机中有两个计数器,即T0和T1。两个8位计数器构成的16位计数器,两者均为加1计数器。它们的作用是:当发生溢出后,提供给计数器,作为计数的脉冲输入,计数器以。用作计数器时,通过单片机外部引脚。,如此直至计数器产生溢出。原创 2022-12-19 13:45:26 · 1363 阅读 · 0 评论 -
函数string.h应用举例
实现方法在使用 strcmp() 函数时,必须在源程序的开始处使用命令 include 将声明 strcmp() 函数的头文件 string.h 包含进来。原创 2022-12-16 19:09:22 · 256 阅读 · 0 评论 -
函数stdlib.h应用举例
在使用“rand()”函数时,必须在源程序的开始处使用命令“include”将声明“rand()”函数的头文件“stdlib.h”包含进来。根据上述声明,可知该函数属于无参数函数,其返回值为整型数据。它的功能是产生一个0~32767之间的随机数。原创 2022-12-16 18:38:27 · 274 阅读 · 0 评论 -
内部函数intrins.h应用
根据上述声明,可知该函数的参数是两个无符号字符型变量val和n,并且返回值也是无符号字符型变量。它的功能是将变量val的二进制位循环左移n位。使用“_crol_()”函数时,必须在源程序的开始处使用命令“include”将声明“_crol_()”函数的头文件“intrins.h”包含进来。来实现,_crol_(15, 2)的返回值是0011 1100B=0x3c=3×16+12=60。原创 2022-12-16 18:28:05 · 2927 阅读 · 0 评论 -
用指针控制LED流水灯
先定义流水灯点亮函数,再定义函数型指针,然后将流水灯点亮函数的名字(入口地址)赋给函数型指针,就可以通过该函数型指针调用流水灯点亮函数。注意:函数型指针的类型说明必须和函数的类型说明一致。原创 2022-12-16 15:57:02 · 793 阅读 · 0 评论 -
用数组控制LED流水
先定义流水灯控制码数组,再定义流水灯点亮函数,使其形参为数组,并且数据类型和实参数组(流水灯控制码数组)的类型一致。原创 2022-12-16 13:44:01 · 1426 阅读 · 0 评论 -
用switch语句控制P0口8位LED的点亮状态
首先设置一个变量i,当i=1时,点亮D1;当i=2时,点亮D2……当i=8时,点亮D8。由switch语句根据i的值来实现相应的功能。i值的改变可通过按键S1来控制,每次按下S1时,就使i自增1。当其增加到9时,再将其值重新置为1。原创 2022-12-16 00:01:00 · 2670 阅读 · 0 评论 -
用if语句控制P0口8位LED的点亮状态
实现方法按下S1键时,P1.4引脚接地,所以P1.4引脚电平被强制下拉为低电平0。因此,可通过检测P1.4引脚电平来判断按键S1是否按下。如果S1被按下,就点亮P0口高4位LED。其操作程序如下://将S1位定义为P1.4引脚//如果P1.4引脚为低电平,则表明S1被按下//即P1=0000 1111B,高4位输出低电平,高4位LED被点亮电路仿真效果图。原创 2022-12-15 22:55:38 · 1095 阅读 · 0 评论 -
使用P3口流水点亮8位LED
【代码】使用P3口流水点亮8位LED。原创 2022-12-12 21:04:07 · 343 阅读 · 0 评论 -
将 P1口状态分别送入P0、P2、P3口
【代码】将 P1口状态分别送入P0、P2、P3口。原创 2022-12-12 20:56:32 · 488 阅读 · 0 评论 -
振荡周期、机器周期、指令周期
目录振荡周期机器周期指令周期单片机需要一个时钟信号送给内部各电路,才能使它们有节拍地工作。时钟信号的频率由外部振荡电路的晶振频率决定。如果外接晶振的频率是12MHz,则外部振荡电路送给单片机时钟信号的频率也是12MHz。此时,我们说单片机的工作频率就是12MHz。以下是与工作频率相关的几个重要概念。 振荡周期:为单片机提供时钟脉冲信号的振荡源的周期。例如,单片机外接晶振频率是12MHz时,则振荡周期就是(1/12MHz)=(1/12)μs。机器周期:51系列单片机的一个机器周期由12个振荡周期组原创 2022-12-12 20:17:52 · 2818 阅读 · 0 评论 -
用单片机控制一个灯闪烁
【代码】用单片机控制一个灯闪烁。原创 2022-12-12 19:42:01 · 3598 阅读 · 0 评论 -
单片机内部组成
中央处理器(CPU)它的结构非常复杂,但由于采用了C语言来设计程序,在编写程序的时候就无须过多地了解它的结构和原理。MCS—51单片机的CPU能处理8位二进制数或代码的运算。内部数据存储器(128B。原创 2022-12-12 17:44:08 · 1182 阅读 · 0 评论 -
单片机如何设置定时器的时长——看就懂(单片机)
假设单片机的晶振的频率是12MHZ,那么一个机器周期的时间就是1us,计满TH0、TL0就需要【2^16次方-1】个数,再来一个数就“溢出”产生中断,一次溢出也就是65536us,约等于65.5ms,但是定的时间如果不是65.5ms的话,则需要装入定时器中一个初值。假设我们要计数的个数是N个,设装入的初值是X,则X=2^16-N比如要装50000个数的话,初值X=65536-50000=15536,原创 2022-11-05 13:40:02 · 3208 阅读 · 0 评论 -
单片机的中断系统(单片机)
要让单片机停止当前的程序去做其他事情,需要向它发出请求信号,CPU接收到中断请求信号后才能产生中断。必须开总中断开关EA和T0的 “分支”开关“ET0”,然后还要将TR0位置“1”以启动定时器T0。以外部中断为例,当外部有中断请求信号(低电平或负跳变)输入。以定时器T0为例,当T0溢出时,TF0置“1”,同时向CPU发出中断请求。,其功能是控制各个中断请求能否通过,即是否允许使用各个中断。将定时器T0设置为工作方式1,而要使T0作为中断源,,其功能是设置每个中断的优先级。的取值范围为0~4,using。原创 2022-10-25 21:23:55 · 2790 阅读 · 0 评论 -
51单片机定时器和中断和寄存器
51单片机(0,1)其他是别的单片机拥有的用来测量INT脚高电平脉冲的宽度)。C/T计数、定时方式选择位计数方式。定时方式。M1,M0模式选择:确定四种工作模式。原创 2022-10-09 14:28:48 · 1093 阅读 · 0 评论 -
单片机8乘8点阵显示数字
AB/BA非=1,信号由A向B传输(发送)为不同的高电平,其中均是低电平有效,所以在运行前LED灯的状态是全灭。,AB/BA非=0,信号由B向A传输(接收)8路同相三态双向总线接收器,可双向传输数据。达到或者超越P0口最大负载能力时。使其为低电平,对应的。原创 2022-10-04 17:46:20 · 3244 阅读 · 1 评论 -
单片机数组前的code的作用
目录code的作用 RAMROMRAM和ROM相比节约RAM空间的作用没用code 时,数组定义在RAM里面,有code时,数组定义在ROM里面(固定的数据,不能修改) RAM又被称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。当电源关闭时RAM不能保留数据(掉电数据消失哦)如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。ROM又被称为“只读存储器”,ROM所存数据,一般原创 2022-09-26 21:06:41 · 1536 阅读 · 2 评论 -
单片机IO口应用-独立按键控制LED以及控制LED灯闪烁
【代码】单片机IO口应用-独立按键控制LED。原创 2022-09-25 21:41:28 · 3559 阅读 · 0 评论 -
控制LED灯闪烁
【代码】控制LED灯闪烁。原创 2022-09-25 21:36:26 · 3243 阅读 · 0 评论 -
单片机最小系统
【代码】单片机最小系统。原创 2022-09-25 18:37:09 · 4015 阅读 · 0 评论 -
sfr和sbit的用法(单片机)
sfr 特殊功能寄存器名=地址常数/* 定义地址为“0x80”的特殊功能寄存器 名字为“P0”,对P0的操作也就是对地址为0x80的寄存器的操作*/原创 2022-09-22 21:31:42 · 2242 阅读 · 3 评论 -
reset复位电路(单片机)
单片机通电时从初始态开始执行程序,称为上电复位。单片机死机时通过手动按“重启”键使其从初始态开始执行程序,称为手工复位。单片机复位的条件使单片机的RST端(引脚9的RESET端)加上持续两个机器周期的高电平。例如,若时钟频率为12MHz,每机器周期为1ms,则只需在RST引脚出现2ms以上时间的高电平,就可以使单片机复位。图3-14(a)所示为上电复位电路。它是利用电容充电来实现的。在通电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。原创 2022-09-22 20:51:57 · 6656 阅读 · 1 评论 -
MCS51单片机存储器的基本结构(单片机)
程序存储器和数据存储器。程序存储器用来储存编入的程序;而数据存储器用来存放单片机工作时用到的一些临时数据。从物理地址空间看,MCS-51有四个存储器地址空间,即片内程序存储器和片外程序存储器以及片内数据存储器和片外数据存储器。原创 2022-09-22 20:37:57 · 2120 阅读 · 0 评论 -
单片机——通过对P3口地址的操作流水点亮8位LED
可作如下定义:sfr x=0xb0;// 通过关键字“sfr”将x定义为P3的地址“0xb0”定义后,程序中对x的操作也就相当于对地址“0xb0”即P3的操作。单片机中存储器(包括特殊功能寄存器)都有固定的地址,正是通过这些固定的地址,单片机才能准确地实现对各个存储器的操作。例如,P3口的固定地址是B0H(这在单片机制造时已经分配好,我们只能根据这种分配来使用它,而不可能改变它),原创 2022-09-22 14:00:52 · 835 阅读 · 1 评论 -
单片机——使用P3口流水点亮8位LED
可通过循环执行以下操作来实现:1. 先点亮引脚LED,利用延时程序延时一段时间,其实现程序为:P3=0xfe;delay();// 调用延时函数延时一段时间2. 接着点亮引脚LED,利用延时程序延时一段时间,其实现程序为:P3=0xfd;delay();// 调用延时函数延时一段时间……3. 最后点亮引脚LED,利用延时程序延时一段时间,其实现程序为:P3=0x7f;delay();// 调用延时函数延时一段时间。原创 2022-09-22 13:51:36 · 2278 阅读 · 0 评论 -
单片机——将P1口状态送入P0、P2和P3口
通过一个将P1口状态送入P0、P2和P3口的实例,来介绍单片机的输入/输出口(I/O口)的基本结构和使用方法。本例采用的电路原理图如图所示,要求当按下按键S时,发光二极管D0~D3均被点亮;松开按键S时,D0~D3均熄灭。本例的实质是将P1口的状态送到P0、P2和P3口。单片机的P0、P1、P2和P3口具有输入/输出(I/O)功能。P1.7引脚电平在编程时被置为高电平(P1=0xff),但是当按下按键S时,该引脚被接地,电平也被强制下拉为低电平。原创 2022-09-22 13:07:25 · 2233 阅读 · 0 评论 -
单片机——用单片机控制一个灯闪烁
则外部振荡电路送给单片机时钟信号的频率也是12MHz。此时,我们说单片机的工作频率就是12MHz。如果单片机的外接晶振频率为11.0592MHz,其机器周期就是12×(1/11.0592)μs= 1.085μs。也就是说,先点亮LED灯一段时间之后,再熄灭LED灯,再延时一段时间后点亮LED灯,如此反复。例如,单片机外接晶振频率是12MHz时,则振荡周期就是。如果一个单片机的工作频率是12MHz,那么它的工作周期就是(1/12)μs,因为一个机器周期非常短,一般只有1~2μs,所以单片机工作速度非常快。原创 2022-09-22 13:08:11 · 3557 阅读 · 0 评论 -
单片机——仿真软件Proteus基本使用教程
点击File,选择save Design,并选择一个文件夹,输入一个文件名称。完成连线,先点击左上角的箭头,然后点击元器件两端的接口就可以实现连线。放置电源(power),和接地(ground)点击仿真,左下角的三角形按钮即可得到如下图所示。输入NE555,选择该元器件,点击OK。点击File文件下面的图标创建文件。输入cap 选一个一个电容。原创 2022-09-17 16:05:55 · 10373 阅读 · 0 评论 -
单片机——硬件系统
51单片机基本构造CPU:控制器和运算器ROM:存放运行程序RAM:存放数据定时计数器:定时、计数中断系统:控制程序的运行顺序串行接口:TXD发送引脚、RXD接收引脚并行接口:P0,P1,P2,P3时钟电路:单片机的心脏。原创 2022-09-11 20:57:09 · 2337 阅读 · 0 评论 -
单片机——Keil uVision4新建工程
【代码】单片机——Keil uVision4新建工程。原创 2022-09-11 10:41:26 · 4848 阅读 · 0 评论 -
单片机——软件部分开发过程介绍
但是在Proteus中绘制仿真原理图时,最小系统所需的晶振电路、复位电路和引脚与电源的连接都可以省略,并不影响仿真效果。能让单片机工作的由最基本元器件构成的系统称为单片机最小系统。的插座中,再用一根USB线将USB接口与计算机的USB接口连接起来,单片机软硬件系统仿真成功后,要真正投入实际应用,必须将程序。(5)连线用左键,可通过双击右键来删除画错的连线;(6)改连接线走线方式,可先右击连线,再左键拖动;(1)在元件列表左键选择后可放置元件;① 电源:单片机使用的是5V电源。(3)双击右键可删除元件;原创 2022-09-09 21:38:48 · 1061 阅读 · 0 评论 -
单片机——基础概念
单片机就是把中央处理器CPU、随机存储器 (RAM)、只读存储器(ROM)、定时/计数器和各种输入/输出接口(I/O接口)电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。原创 2022-09-09 20:30:51 · 11282 阅读 · 5 评论