把定时器做波特率发生器,计算公式:
T1,T2计数器内部一样:
fosc/(32*12*(256-TH1)); SMOD=0; //11.0592,(9600,8,1)值为0xfd,根据晶振和初值以此类推
//24MHz (4800,8,1)值为0xf3
T2计算公式:
fosc/(32*(65536- (RCAP2H,RCAP2L) ) ); SMOD=0//11.0592,(9600,8,1)值为0xFFDC,根据晶振和初值以此类推
备注:fosc:晶振频率Hz
关键字:51单片机 波特率 计算公式
引用地址:
51单片机波特率计算公式
推荐阅读最新更新时间:2024-03-16 15:12
MCS-51单片机的无条件转移指令用法介绍
控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间,MCS-51系列单片机的控制转移指令相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其它无条件转移指令,这些指令的执行一般都不会对标志位有影响。 MCS-51单片机的无条件转移指令用法介绍 无条件转移指令 这组指令执行完后,程序就会无条件转移到指令所指向的地址上去。长转移指令访问的程序存储器空间为16地址64kB,绝对转移指令访问的程序存储器空间为11位地址2kB空间。 LJMP addr16 ;addr16→(PC),给程序计数器赋予新值(16位地址) AJ
[单片机]
自制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__ #
[单片机]
80C51单片机的定时器/计数器的作用与结构
80C51单片机内部设有两个16位的可编程 定时器 / 计数器 。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 定时器/计数器的结构: 图片1 从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这
[单片机]
51单片机,点阵显示汉字(C语言)
#include #include #define uint unsigned int #define uchar unsigned char sbit SH_595=P2^1; sbit DATA_595=P2^0; sbit ST_CP_595=P2^2;//74HC595(12)-ST_CP上升沿-移位寄存器的数据进入数据存储寄存器 输出锁存器的时钟信号端口 sbit MR_595=P2^3; //74HC595(10)-MR 为0将移位寄存器的数据清0 sbit E1_154=P2^4;//74HC154(18)-E1为0开列(col)输出 显示允许 控制信号端口 uchar keynum; uchar tem
[单片机]
DS18b20和51单片机连接的汇编程序
本汇编程序仅适合单个DS18B20和51单片机的连接,晶振为12MHZ左右 DQ:DS18B20的数据总线接脚 FLAG1:标志位,为"1"时表示检测到DS18B20 TEMPER_NUM:保存读出的温度数据 TEMPER_LEQU36H TEMPER_HEQU35H DQBITP1.7 ; DS18B20初始化汇编程序 ;//*****************************************// INIT_1820: SETBDQ NOP CLRDQ MOVR0,#06BH TSR1: DJNZR0,TSR1; 延时 SETBDQ MOVR0,#25H TSR2: JNBDQ,TSR3 DJNZR0,TSR
[单片机]
51单片机有几个中断源_52单片机中断源
51单片机有5个中断源分别是: 1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高 2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二 3、T0——定时器/计数器0中断,由T0计数器计满回零引起。默认优先级第三 4、T1——定时器/计数器1中断,由T1计数器计满回零引起。默认优先级第四 5、T2——定时器/计数器2中断,由T2计数器计满回零引起。默认优先级第五 另外52单片机多加一个中断源 6、TI/RI——串行口中断,串行端口完成一帧字符发送/接收后引起。默认中断优先级最低 --------------------------------
[单片机]
51单片机-按键&蜂鸣器&数码管
在上一讲的代码中我们可以不用写“sbit GND = P2^3;”,像宋老师那样直接在开头“P2 = 0xF7;”仅让P2.3输出0其他输出1即可,这样P2.7就有被拉低的条件了。 1.趁热打铁 沿袭上一讲的功能,我们新学的按键知识需要结合所学过的无源蜂鸣器硬件一起捣鼓玩玩。同上一讲的代码功能一样,这次用的是无源蜂鸣器,按键按下时,蜂鸣器就响,松开不按时就不响。 2.分析 我们先缕缕思路,显然无源蜂鸣器要想鸣叫,就不能像“LED2=KEY4;”这样赋值的方式。我们已经知道,在P2.3输出低电平的情况下,K4按下的时候程序中KEY4就等于0,松开不按时KEY4等于1。 这里可以在主函数中的死循环里用“if(KEY4==0
[单片机]
什么是51单片机?又该如何自学51单片机
51 单片机是目前使用最多的单片机之一,那么什么是 51 单片机呢?作为新手,又该如何自学 51 单片机?为帮助大家更好的学习 51 单片机,本文将对这两个问题予以阐述。如果你对 51 单片机具有兴趣,不妨继续往下阅读哦。 一、何为 51 单片机 51 单片机是对所有兼容 Intel8031 指令系统的单片机的统称。该系列单片机的始祖是 Intel 的 8004 单片机,后来随着 Flashrom 技术的发展,8004 单片机取得了长足的进展,成为应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司的 AT89 系列,它广泛应用于工业测控系统之中。很多公司都有 51 系列的兼容机型推出,今后很长的一段时间内将占有大量
[单片机]