PCON=0x00;SCON=0x50什么意思

如题所述

将十六进制转换为二进制为pcon=0000 0000;scon=0101 0000.这些零和一具体代表什么意思,参看下面单片机中对这俩个寄存器每一位的定义:
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:
PCON电源管理寄存器结构:
PCON D7 D6 D5 D4 D3 D2 D1 D0
位符号 SMOD - - - GF1 GF0 PD IDL
在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。 各位的定义: SMOD:该位与串口通信有关。 SMOD=0; 串口方式1,2,3时,波特率正常。 SMOD=1; 串口方式1,2,3时,波特率加倍。 GF1,GF0:两个通用工作标志位,用户可以自由使用。 PD:掉电模式设定位。 PD=0 单片机处于正常工作状态。 PD=1 单片机进入掉电(Power Down)模式 ,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断工作。 IDL:空闲模式设定位。 IDL=0 单片机处于正常工作状态。 IDL=1 单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。

SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:
SCON寄存器结构
SCON D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H
各控制位功能介绍如下: (1).SM0、SM1:串行口工作方式控制位。 SM0,SM1 工作方式 00 方式0 01 方式1 10 方式2 11 方式3 (2).SM2:多机通信控制位。 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。 工作于方式0时,SM2必须为0。 (3).REN:允许接收位。 REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。 (4).TB8:发送接收数据位8。 在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。 (5).RB8:接收数据位8。 在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。 (6).TI:发送中断标志位。 可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。 (7).RI:接收中断标志位。 可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。 在串口中断处理时,TI,RI都需要软件清"0",硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要ES=0,以防止中断出现。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-18
0x00;0x50表示是16进制数字

PCON=0x00;SCON=0x50什么意思
将十六进制转换为二进制为pcon=0000 0000;scon=0101 0000.这些零和一具体代表什么意思,参看下面单片机中对这俩个寄存器每一位的定义:PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:PCON电源管理寄存器结构:PCON D7 D6 D5 D4 D3 D2 D1 D0 ...

SCON=0x50是什么意思
SCON是串行口寄存器 SCON=0X50实际上就是SM1=1;SM0=0;REN=1;这三条语句的集合也就是说允许接受串行口中断方式1 即8位异步通讯 本回答由网友推荐 举报| 答案纠错 | 评论(10) 94 2 bai626393 采纳率:56% 来自团队:单片机学习 擅长: 软件共享 办公软件 常见软件 其他回答 SCON是一个寄存器,具体是什么寄...

51单片机中有关热释电传感器的一个程序不是很懂,请教一下大家
PCON=0x00;SCON=0x50;\/\/这两条指令是什么意思?(设置串行口工作方式寄存器,工作在方式1,8位数据,波特率可变,允许接收)TMOD=0x20;\/\/为什么选择计时器工作方式2?(八位自动重装定时器,做波特率发生器)TH1=0xE6;TL1=0xE6;TR1=1;\/\/这里前面不需要写ET1=1标志中断允许位吗?(做波特率发生器...

要设置51系列单片机串口工作于所需工作方式,应是对哪个专用寄存器进行...
RI:接收中断标志位,在方式O串行接收到第8位数据结束时,由硬件置1。在其它方式中,串行接收到停止位的中间点时置1。RI=1时申请中断,要求CPU取走数据。但在方式1中,SM2=1时,若未收到有效的停止位,不会对RI置1。RI必须由软件清0。SCON的所有位都能由软件清0。2.特殊功能寄存器PCON 特殊...

c语言编程:8051单片机系统的时钟为11.0592,把0~99从串行口输出。_百度...
PCON = 0x00; \/\/ 波特率不倍增.SCON = 0x50; \/\/ 设定串行口工作方式.TMOD = 0x21; \/\/ T1定时方式2, 用于产生波特率.\/\/ T0定时方式1, 用于定时.TL1 = (uchar)(256 - (XTAL \/ (384L * baudrate))); \/\/ T1赋初值.TH1 = (uchar)(256 - (XTAL \/ (384L * baudrate)...

使用8051单片机的串行通信方式1,要求波特率9600bps,请编写初始化程序...
初始化程序:SCON = 0x50 ; \/\/方式1,允许接受 TMOD = 0x20 ; \/\/设置time1,方式2 TH1 = 0xfd; \/\/波特率9600b\/s 晶振12MHz TL1 = 0xfd;ES = 1 ; \/\/允许串口中断 EA = 1; \/\/中断总开启 TR1 = 1 ; \/\/T1开启 ...

将单片机的按键值通过串口上传到电脑,不成功原因,求大神看看(实在没金 ...
您的是11.0592M的话,你看起来TH1是=FD了,但是,你的PCON与SMOD等都没有设置,你到底是通信几?通信不上,说明你的波特率不对。所以,可能你的就是19200(加倍模式)了呢。所以,你综合看一下你的配置。我给你的配置是:SCON=0x50;PCON=0X00;\/\/这个最好加上。不加倍模式。TMOD=0x20;TH1=...

...程序目的:通过串口控制单片机,如发送0x00 0
SCON = 0x50;\/\/定时器1为串口提供时钟 TH1 = 0xFD;\/\/初值9600bps TL1 = TH1;PCON = 0x00;\/\/波特率不加倍(如果为0x80代表波特率加倍)EA = 1;\/\/打开总中断 ES = 1;\/\/打开串口中断 TR1 = 1;\/\/定时器1开始计数 } void SendOneByte(unsigned char c)\/\/发送字节 { SBUF = c; \/\/...

微控制器中预设波特率设定为(9600,n,8,1)是什么意思?
52微控制器 定时器2 波特率设定 \/***串列埠工作方式3**9600**8,N,2***\/ SCON=0xD0;PCON=0x00; RCAP2H=0xFF; RCAP2L=0xDC;设定波特率为9600 T2CON=0x34;将定时器2设定为波特率发生器(接收和传送都用Timer2) ES=1; EA=1;微控制器模拟为什么要设定波特率?因为编译器和模拟晶片是在通讯...

用单片机串口向电脑串口调试助手发送一个字符串,用C语言编程
PCON=0x00; \/\/波特率不加倍 SCON=0x50;\/\/串行方式1 TH1=0xFD;\/\/9600 TL1=0xFD;\/\/ EA=1;\/\/ ES=1;\/\/ TR1=1;} void sendchar(uchar ch) \/\/串口送一个字节 { SBUF=ch;while(TI==0);TI=0;} void sendstring(uchar *p) \/\/送字符串 { while(*p){ sendchar(*p);p++;} }...

相似回答