历史上的今天
返回首页

历史上的今天

今天是:2025年11月17日(星期一)

正在发生

2022年11月17日 | 51单片机知识重点汇总一,学单片机必须要了解的知识。

2022-11-17 来源:zhihu

主要性能:

  与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。




一、STC89C51单片机外部引脚简介

电源及时钟引脚:Vcc(40脚)、GND(20脚)、XTAL1(19脚)、XTAL2(18脚)。


Vcc、GND——单片机电源引脚,不同的型号单片机接入对应电压电源,常压为+5V,低压为

+3.3V。


XTAL1、XTAL2——外接时钟引脚。XTAL1为片内震荡电路的输入端,XTAL2为片内震荡电路的输出端。8051的时钟有两种方式,一种是片内时钟震荡方式,需要在这两个脚外接石英晶体和震荡电容,震荡电容的值一般取10p~30p;另一种是外部时钟方式,将XTAL1接地,外部时钟信号从XTAL2脚输入。


编程控制引脚。如RST(复位)、PSEN(29脚)、ALE/PROG(30脚)、EA/Vpp(31脚)。


RST(9脚)——单片机复位引脚。当输入连续两个机器周期以上高点平时有效,用来完成单片机的复位初始化操作,复位后程序计数器PC=0000H,单片机从程序储存器的0000H单元读取第一条指令码。即单片机从头开始执行程序。


PSEN(29脚)—— 程序存储器允许输出控制端。读取外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作(了解即可)。


ALE/PROG(30脚)—— 在单片机扩展外部RAM时,ALE用于控制把P0口的输出低8位地址送锁存器锁存器来,以实现地位地址和数据的隔离。(了解即可)。


EA/Vpp(31脚)—— EA接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后自动读取外部ROM。EA接低电平时,单片机直接读取外部ROM。


I/O口引脚 —— P0口、P1口、P2口、P3口。


P0口(39-32脚)——双向8位I/O口,每个口可独立控制,没有上拉电阻,为高阻态,所以不能正常的输出高低电平,因此该组IO口在使用时务必要接上拉电阻,一般选10千欧。


P1口(1-8脚)——准双向8位IO口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向IO口。之所以称它为准双向,是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确的读出外部信号,也就是要使其先有个“准”备的过程,所以说才是准双向接口。


P2口(21-28脚)—— 准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。


P3口(10-17脚)——准双向8位IO口,每个口可独立控制,内带上拉电阻。作为第一功能可以当做普通I/O口,与P1口相似。P3口可做第二功能使用。参照下表:



二、电平特性

单片机的输入输出电平为TTL电平,其中高电平为+5V,低电平为0V。计算机串口为RS-232电平,其中高电平为-12V,低电平为+12V。注意,RS-232为负逻辑电平。


三、单片机的几个周期介绍

(1)时钟周期。也称为震荡周期,定义为时钟频率的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,

如12MHz的晶振,它的时钟周期就是1/12us)它是单片机中最基本的、最小的时间单位;在一个时钟周期内,CPU

仅完成一个最基本的动作。对于某个单片机来讲,若采用了1MHz的时钟频率,则时钟周期就是1us;若采用4MHz

的时钟频率,则时钟周期就是250us。由于时钟脉冲是CPU的基本脉冲,它控制着CPU的工作节奏(使CPU的每一步

都统一到它的步调上来)。显然,对同一种单片机,时钟频率越高,单片机的工作速度就越快。但是,由于不同的

单片机内部硬件电路和电气结构不完全相同,所以其所需的时钟频率范围也不一定相同。我们使用的STC89C系列的

时钟范围约在1MHz~40MHz。

(2)状态周期。它是时钟周期的两倍。

(3)机器周期。单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读/写等。它由12个时钟周期(6个状态周期)组成。


(4)指令周期。它是指CPU执行一条指令所需要的时间。一般一个指令周期含有1~4个机器周期。




四、移位操作

左移。C51操作符为“<<”,最低位补零

右移。同上

循环左移,最高位移入最低位,其他依次向左移一位。

五、数码管显示原理

电路方面有共阴极和共阳极之分,让数码管显示不同的数字就是先定义一个保存16进制数的数组,然后在程序中把这个16进制数赋值给相应的引脚。


六、中断概念

51单片机一共有6个中断源


INT0——外部中断0


INT1——外部中断1


T0/1/2——计时器/定时器中断,由计数器满回零引起。


T1/R1——串行口中断,串行端完成一帧字符发送/接收后引起。




七、单片机的定时器中断

51单片机内部共有两个16位可编程的定时器/计数器,即定时器T0和定时器T1。它们既有定时功能又有计数功能。定时器/计数器的实质是加1计数器(16位),由高8位和底8位两个寄存器组成,TMOD寄存器是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0,T1的启动和停止以及设置溢出标志。


加一计数器的输入计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;另一个是T0或T1引脚输入的外部脉冲源。如果定时器/计数器工作在定时模式,则表示时间已到;如果工作在计数模式,则表示计数值已经满了。


定时器初始化过程如下:


①对TMOD赋值,以确定T0和T1的工作方式


②计算初值,并将初值写入TH0、TL0或TH1、TL1中。


③中断方式时,则对IE赋值,开放中断。


④使TR0或TR1置位,启动定时器/计数器定时或计数




八、并行与串行基本通信方式

1、并行通信方式:将数据字节的各位用多条数据线同时进行传输,每位数据都需要一条传输线。

2、串行通信方式:串行通信是将数据字节分成一位一位的形式在一条传输线上逐个的传输,此时只需要一条数据线

3、异步串行通信方式:指通信的接收与发送设备使用各自的时钟控制数据的发送和接收过程。其特点是:不要求发送双方时钟严格一致,容易实现,设备开销小,但每个字符要附加2~3位,用于起始位、校验位、停止位,各帧之间还有间隔,因此传输效率不高。在单片机与单片机之间,单片机与计算机之间通信时,通常采用异步串行通信方式。

4、同步串行通信方式:同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方完全达到同步。



推荐阅读

史海拾趣

Apex [Apex Microtechnology]公司的发展小趣事

Apex Microtechnology一直致力于开发在性能、质量和可靠性方面引领行业的产品。通过不断创新和研发,公司成功推出了多款具有竞争力的功率模拟产品,为全球客户提供高效的解决方案。同时,Apex Microtechnology也积极拓展全球市场,与众多知名企业建立了合作关系,进一步提升了其在电子行业的影响力。

BeagleBoard公司的发展小趣事

随着技术的不断进步,BeagleBoard公司始终保持着对创新的追求。他们不断研发新的技术,优化产品设计,推出了一系列具有创新性的产品。其中,BeagleBone Black是该公司的一款明星产品,它集成了高性能处理器、丰富的外设接口和强大的扩展能力,为开发者提供了更加便捷的开发体验。此外,公司还推出了工业宽温应用的变体,以满足不同领域的需求。

Global Components & Controls公司的发展小趣事
选择质量可靠、性能稳定的元件,以确保电路的稳定性和可靠性。
Chesivale Electronics公司的发展小趣事

Chesivale Electronics公司深知人才是企业发展的核心动力。因此,公司一直注重人才队伍建设。公司通过校园招聘、社会招聘等多种渠道吸引优秀人才加入,同时建立完善的培训机制和晋升机制,激发员工的积极性和创造力。这些措施使得公司的人才队伍不断壮大,为公司的发展提供了有力的人才保障。

Autotrol公司的发展小趣事

Autotrol公司成立于1964年,最初是一家领先的可定制小功率齿轮马达生产商。在初创时期,公司面临着激烈的市场竞争和技术挑战。然而,Autotrol凭借其卓越的技术实力和创新能力,成功开发出一系列具有竞争力的齿轮马达产品,逐渐在市场中脱颖而出。公司不断完善产品线,推出了永久磁铁同步电动机、滞后电动机和直流齿轮马达等,这些产品以其高效、稳定的性能赢得了客户的信赖。

DBLECTRO公司的发展小趣事

1997年,迪贝电子在上海正式成立,标志着这家专注于环境感知技术和气体检测及分析领域的创新企业正式进入中国市场。当时,中国的环保法规日益严格,对气体排放的监控和管理要求也不断提高。迪贝电子凭借其在该领域的深厚积累和技术实力,迅速在市场上推出了一系列高质量的气体检测和分析仪器。这些产品以其准确性、稳定性和易用性受到了用户的广泛好评,为迪贝电子在中国市场的快速发展奠定了坚实的基础。

问答坊 | AI 解惑

【博客帮助帖】博客的好友功能

1)登录博客后,进入个人空间,点击上方的“好友”,如下图所示: 2)进入好友管理界面,可以查看好友列表,查找可能认识的人,还可以邀请好友加入 3)在界面右侧,可以对好友进行分组,查看。 …

查看全部问答>

远程多点无线通信系统(RMP)

RMP(Remote Multiple Point)远程多点无线通信系统是基于最新无线通信技术开发的远距离点对多点宽带无线系统。    RMP具有传输距离远、传输带宽高(10-50Mb/s)、频率设置灵活、组网灵活简便等特点,在各种应用环境中可真正实现图像、 ...…

查看全部问答>

测量精度的五大迷思

前言   对于一个数据采集系统而言,测量精度是评估其性能的一个重要参数,也是科学家们不断努力希望提高的一个指标。在实际应用中,很多工程师都会面临测量精度的各种问题:它与模 数转换器的分辨率有什么区别?哪些因素会产生系统的测量噪 ...…

查看全部问答>

USB串口通讯问题

我用的是485信号,通过转化器来实现与电脑通信的。 每当我把串口关闭然后再打开时数据才能正确接收一次,接下来就不行了, 传输的数据很多事乱码, 但是用RS232来传输却没问题!我量了电压都是正常的,但是信号电压有所不同,RS232的信号电压是4 ...…

查看全部问答>

WINCE的PVIVATE目录文件编译请教!

WINCE下的PRIVATE 目录里面的源代码!\\WINCE500\\PRIVATE\\WINCEOS,修改后,怎么编译才有效呀,有没有谁修改过后编译过,具体的编译步骤是什么?谢谢…

查看全部问答>

用过MCP2510的高手请进,为什么无法从SPI口读取mcp2510的数据!!!

请问为什么我无法读取mcp2510芯片的数据????????     硬件连接很简单!用三星S3C44b0的io口模拟spi总线接口与mcp2510的SPI口对应相接! 型号mcp2510 I/P 。所接的电压是3.3v。 然后7,8脚接晶振。但是根据时许图编写出来的程序 ...…

查看全部问答>

请问wince5.0或者wince6.0的编译器能支持ARM926内核相对于ARM920T增加的DSP指令吗?

请问wince5.0或者wince6.0的编译器能支持ARM926内核相对于ARM920T增加的DSP指令吗?如果不支持,926的性能在wince下就不能完全发挥出来。…

查看全部问答>

有人用过电量计DS2784这个芯片吗?

   本人系统平台PXA270+WINCE5.0,现在想使用DS2784来读取电量,这个DS2784是使用的是1 wire bus,这个还真没有用过,怎么去实现它读取电量?谁用过没,有源码最好…

查看全部问答>

帮忙分析电机烧毁原因!

75KW电机,星三角启动,第一次启动,启动之前不接负载量过不缺相,启动约几秒钟电机接线盒就冒出黑烟烧掉,有可能是在星基角转换时,但不确定,所有断路器、热继电器都没跳,电机停止转动,拆开来量电阻: U1-U2之间约1350欧姆 V1-V2   ...…

查看全部问答>

MSP430 量產燒錄工具下載

MSP430 量產燒錄工具,經鑒定可用.這是官方網站,但是在國內需要翻牆才能訪問.www.elprotronic.com…

查看全部问答>