推荐阅读最新更新时间:2024-11-13 13:52
MCS-51单片机定时器/计数器、串行口、多机通讯
MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式) MCS-51单片机含有1个全双工串行口,具有4种工作方式。 TMOD - 定时器/计数器方式控制寄存器 TCON - 定时器/计数器控制寄存器 SMOD - 串行口波特率系数选择位 SCON - 串行口控制寄存器 SBUF - 串行口数据缓冲器 TH0 - 定时器/计数器0(高字节) TL0 - 定时器/计数器0(低字节) TH1 - 定时器/计数器1(高字节) TL1 - 定时器/计数器1(低字节) 一、定时器/计数器 定时器/计数器T0由特殊功能寄存器TH0、TL0构成 定时器/计数器T1由特殊功能寄存器TH1、TL1构成
[单片机]
51单片机-外部中断测脉冲个数
1.外部中断的常用功能 外部中断经常用来记录外部脉冲的个数,也就是当我们使用外部中断1时,如果想记录自身单片机的某个引脚的下降沿个数,只需用杜邦线把这个引脚和P3.3连接即可。 比如P2.3引脚产生这样的电平无规律跳转,则下降沿的个数为5 所以我们就用外部中断1来实现记录K4按键从按下到松手的抖动过程中经历了多少个下降沿,把下降沿的个数显示在数码管上。 2.程序思路 我们定义一个16位的全局变量pulse用来记录P2.3下降沿的个数,在中断函数中的任务就是简单的pulse自加,因为引脚遇到下降沿就会进入中断函数。 在主函数里就是负责数码管显示即可。 3.代码 #include reg52.h #include
[单片机]
51单片机的扩展中断方法
MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展,下面介绍两种简单的扩展方法: 一、采用硬件请求和软件查询的方法: 这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输入 端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这 样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通 过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于 软件查询的次序。其硬件连接和软件编程如下: Void zhongduan (void) interrupt 0
[单片机]
MSP430F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
1 开发环境与流水灯实验 使用的是IAR 7.10 新建工程的细节看这里: https://blog.csdn.net/x1131230123/article/details/106956182 需要在debug模式下设置, 编译后hex文件在proNameDebugExe下 proteus设置时钟: 代码: #include MSP430x24x.h #define uchar unsigned char #define uint unsigned int void delayms( uint t ) { uint i; while ( t-- ) for ( i = 1330; i 0; i-- )
[单片机]
摆脱仿真器的AVR单片机程序开发设计
在开发单片机程序时,有许多人依赖于仿真机,一旦离开了仿真机开发程序时就感觉无从下手。其实对FLASH存贮器单片机,不要仿真机也能方便快速地开发程序。具体可以从以下几方面入手: 一、尽量使用高级语言开发系统程序 您有没有在写汇编程序时,标错一个标号而浪费您大把时间找错或跳转偏移量过大而不得不改动程序结构的经历。其实您如果使用高级语言开发程序,就不会有这样的痛苦。在开发程序时,除了建立一个良好的开发文档外,使用语言的选择也很重要。有许多人认为使用汇编写程序比较精简,而用高级语言开发会浪费很多程序空间,其实这是一种误解。对一个有经验的,而且非常熟悉某种单片机的汇编高手而言,他是能写出比高级语言更精简的代码。而对汇编不是很熟的开发者、
[单片机]
自制51单片机常用头文件(st7920串行方式)
/*-------------------------------------------------------------------------- ST7920.H The user function is C51. Copyright (c) 1988-2004 Keil Elektronik GmbH sum zhaojun All rights reserved. --------------------------------------------------------------------------*/ // 串行方式 #ifndef __ST7920_H__ #define __ST7920_H__ #
[单片机]
STC C51单片机EEPROM
1. STC系列单片机中都内置了EEPROM单元,而且EEPROM操作单元的操作方式是类似于NOR FLASH操作方式,以Secter单元进行擦除和写操作,同时,在重新写Flash数据的时候,内部EEPROM的数据不受影响。不同于AVR单片机中的EEPROM操作。 2. AVR单片机也都内置了EEPROM单元,但是它的EEPROM单元的操作是以字节为单元来操作,读、写以字节为最小单位。同时,在重新写Flash数据的时候,内部EEPROM的数据也被擦除。 3. Silicon Labs---C8051F单片机内部没有内置的EEPROM单元。 4. ARM芯片内部也没有内置的EEPROM单元。 5.
[单片机]
ADC0809与MCS-51单片机接口电路图及编程
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。目前仅在单片机初学应用设计中较为常见。 ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 主要特性 1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。 4)单个+5V电
[单片机]