![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
——51
文章平均质量分 66
51
EmbededCoder
C, Python, C++, Qt, MCU, RTOS, ARM Cortex-M, Linux
展开
-
51单片机——外部中断
一、外部中断1.1 中断关于中断的概念在上一篇博客中已经提到了。(传送门:51单片机入门教程(5)——定时器中断)中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。51单片机的中断源优先级与向量号如下表:中断源 优先级 中断向量号INT0 – 外部中断0 最高 0T0 – 定时器/计数器0中断 第2 ...转载 2021-04-16 12:45:43 · 37099 阅读 · 10 评论 -
89c51单片机32个心形流水灯
#include<reg52.h>#include<intrins.h> //库函数#define uint unsigned int#define uchar unsigned char//宏定义void delay(uint xms)//延时函数{ uint i,j; for(i=xms;i&...转载 2020-02-10 11:41:01 · 11806 阅读 · 8 评论 -
51单片机之T2定时器串口通信
52芯片,比51要多一个定时器。所以我在网上也是看了很多资料,许多都不能运行,我在进行部分修改后,终于在keli和proteus上实现了仿真测试。以下是我的代码和设计的电路。 /*-----------------------------------------------------------------------------* 实 验 名 ...转载 2019-12-01 15:57:32 · 2297 阅读 · 4 评论 -
51单片机定时器TMOD与TCON、SCON
51单片机中断级别中断源 默认中断级别 序号(C语言用)INT0---外部中断0 最高 0T0 ---定时器/计数器0中断 第2 1INT1---外部中断1 第3 ...转载 2019-11-29 16:18:29 · 33610 阅读 · 4 评论 -
51 TMOD、TCON设置定时
定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)1、TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作在方式1。2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 ...转载 2019-11-29 14:15:45 · 4419 阅读 · 2 评论 -
单片机不支持printf函数,实现几个常用串口打印函数
在keilC51或者iar for c8051编译器下:一、int 占两个字节 范围:-32768~+32767二、long占四个字节 范围:-2147483648~+2147483647三、float占四个字节 范围:3.40E+38 ~ +3.40E+38四、double占8个字节 范围:-1.79E+308 ~ +1.79E+30851单片机是对所有兼容Intel...转载 2019-11-27 19:47:30 · 1402 阅读 · 0 评论 -
STC12C5A60S2 双串口通信
STC12C5A60S2单片机拥有两个全双工串行通信接口,串口1的功能及操作与传统51单片机串行口相同;STC12C5A60S2单片机内部有一个独立波特率发生器,串口1可以使用定时器1作为波特率发生器,也可以使用独立波特率发生器作为波特率发生器;而串口2只能使用独立波特率发生器作为波特率发生器。/*********************************************...原创 2019-11-13 13:49:41 · 4710 阅读 · 0 评论 -
C51 定时器Timer使用,及产生1ms系统Tick
本文链接:https://blog.csdn.net/u013420428/article/details/77144255GATE=0用TR0和TR1来控制T1和T0的启动,GATE=1则用外部中断来控制。C/T为0表示定时器模式。为1表示计数器模式,对T0或T1的外部负跳变脉冲计数。定时器初值的计算:TH0 = (65536 - (24/12) * 1000)/256; //655...转载 2019-09-10 15:39:02 · 4127 阅读 · 1 评论 -
51单片机 引脚功能定义,内部框图
C51 Pin原创 2019-09-10 15:38:00 · 2757 阅读 · 0 评论 -
51 small、compact、large模式
内部扩展RAM的应用RAM在程序运行过程中存放随机变量的数据空间。51单片机默认内部RAM只有128B;52单片机默认256B;STC89C52增加到512B ;在Keil中编写程序,总程序中所有变量占用的字节数少于128B时候,并且储存模式为small时,对不定义的变量编译器将默认为0;一旦程序中变量总数量超过128B,必须对所有变量进行初始化,否则未被初始化的变量的默认值僵尸不确定的。...原创 2019-09-09 14:46:27 · 3800 阅读 · 0 评论 -
51单片机软件复位函数
51单片机无自带的看门狗,没有提供软件复位的函数和机制,要想实现软件复位,只能通过强制将PC指针指到0x0000位置,通过以下函数将PC指针强制指到0x0000:void reset(void){ ((void (code *) (void)) 0x0000) ();}可以使用下面的程序跳到0000H实现软复位,下面的程序实际上是一个函数指针,指针指向了0000H地址。...原创 2019-09-09 11:09:47 · 5950 阅读 · 0 评论 -
51 单片机数据存储
从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、C...原创 2019-09-09 11:06:24 · 5542 阅读 · 1 评论