对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。常量——与变量相对应,在程序执行的过程中,其值不能发生改变。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。......
2023-11-04
波特率是串行通信中的一个重要概念。波特率(bitpersecond)是单位时间里传输的数据位数,单位为波特(或bit/s)。如数据传送速率是200字符/s,每个字符包含10位,则传送波特率为2000波特。波特率的倒数就是传送每位数据所需要的时间。相互通信的双方必须具有相同的波特率,否则无法成功地完成数据通信。
在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。51单片机串行口的4种工作方式,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。
1.工作方式0
波特率由振荡器频率fosc确定:波特率=fosc/12
定时器T1工作方式0:溢出所需周期数=8192-x,x为初始值。
2.工作方式1
波特率由定时/计数器T1的溢出率和SMOD共同决定,其中:
波特率=2SMOD×(定时器1溢出率)/32
T1溢出率=T1计数率/产生溢出所需的周期数
定时器T1工作于方式1:溢出所需周期数=65536-x,x为初始值。
3.工作方式2
波特率由振荡器频率fosc和SMOD(专用寄存器PCON的最高位)确定。(www.chuimin.cn)
波特率=2SMOD×fosc/64,若SMOD=1时,波特率=fosc/32;若SMOD=0时,波特率=fosc/64。
定时器T1工作于方式2:溢出所需周期数=256-x,x为初始值。
4.工作方式3
波特率由定时/计数器T1的溢出率和SMOD共同决定,其中:
波特率=2SMOD×(定时器1溢出率)/32
T1溢出率=T1计数率/产生溢出所需的周期数
上述讨论中T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为fosc/12;当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于fosc/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。因为方式2为自动重装入初值的8位定时/计数器模式,所以用它来做波特率发生器最恰当。
注意:进行单片机电子系统设计时,时钟频率一般选用11.05926MHz时,可以获得标准的波特率,所以51单片机选用这个看起来很“怪”的晶振。因为方式0和2波特率是固定传输,方式1和3波特率是可变的,表3-15给出方式1和方式3常用波特率设置。
表3-15 常用波特率设置表
单片机的串行通信方法较为多样,传统的串行通信方式是通过单片机自带的串行口进行RS232方式的通信。串行通信适合远距离数据传送,处于两地的计算机之间,采用串行通信成本低廉,另外关于51单片机串行通信应用在第12章单片机串口通信项目中重点介绍。
有关51单片机初级入门实战教程的文章
对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。常量——与变量相对应,在程序执行的过程中,其值不能发生改变。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。......
2023-11-04
③if-else-if形式:当有多个分支选择时,采用if-else-if语句,形式为if语句1;else if语句2;else if语句3;…使用switch语句时注意以下几点:①case后的各常量表达式的值是不一样的,否则会出现错误。②在case后,允许出现多条语句,可以不用{}括起来。③各case和default语句位置的先后顺序可以改变,而不会影响程序执行结果。......
2023-11-04
手机电池的使用寿命和单次使用时间以及充电过程密切相关。设计比较科学的充电器往往采用专用充电器控制芯片配合单片机控制的方式。例如在充电后增加及时关断电源、蜂鸣报警和液晶显示等功能。充电器种类繁多,但从严格意义上讲,只有单片机参与处理和控制的充电器才能称为智能充电器。在众多的51系列单片机中,AT89系列单片机在我国得到了极其广泛的应用。而51单片机在实现手机电池充电器方面的应用就更具有意义了。......
2023-11-04
提供内部上电自动复位电路,当外加电源电压超过4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。1602LCD芯片逻辑工作电压4.5~5.5V,LCD驱动电压3~5V,最佳工作电压5.0V,显示容量16×2个字符;工作电流2.0mA;字符尺寸2.95×4.35(W×H)mm。表14-1 LCD1602引脚描述第1引脚:VSS为地电源。LCD1602基本操作时序见表14-2。......
2023-11-04
8051单片机全双工串行口具有4种工作方式,可通过软件编程选择。方式1为波特率可变的10位异步通信接口方式。在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,在移位脉冲作用下串行数据从TXD引脚输出。发送和接收的一帧信息为11位,即1个起始位,9个数据位和1个停止位。发送一帧信息后,置位中断标志TI,其过程与方式1相同。方式3为波特率可变的11位UART方式。......
2023-11-04
本节主要介绍下载软件STC-ISP在Windows 7系统中的应用,网络下载STC-ISP安装软件,在软件包中找到可执行文件,鼠标右击在弹出选项中找到属性选项如图2-39所示。图2-39 STC-ISP属性菜单操作图2-40 STC-ISP属性对话框设置完成后运行,STC-ISP可以正常进行程序烧写工作,如图2-41所示。......
2023-11-04
表18-1 PT2262引脚说明图18-4 PT2262引脚图2.发射模块电路设计编码电路原理图如图18-5所示。图18-5 编码电路图该部分电路主要由315MHz无线数据发射模块和编码集成在PT2262芯片中。发射模块采用ASK方式调制,以降低功耗。无按键操作时,晶体管Q截止,编码集成IC1处于断电状态,无线数据发射模块没有发射信号。如果按钮一直按住,则发射模块连续发射无线信号。......
2023-11-04
本文所设计的用来提供充电电压的模块是由一个光耦合器6N137和一个模式管NDS332组成,之所以要接一个模式管NDS332,是因为通过光耦合器6N137的内部消耗,它所输出的电流非常小,无法带动后面的负载。图17-4 提供电压的电路图光耦合器6N137的引脚说明:①+:内部接的是发光二极管的正极,外部接的是5V,用来驱动发光二极管。......
2023-11-04
相关推荐