C51:串口接收和发送,查询与中断方法

发布者:清晨微风最新更新时间:2016-06-14 来源: eefocus关键字:C51  串口接收  发送  查询  中断方法 手机看文章 扫描二维码
随时随地手机看文章
假设要发送一组数据   Send[10]一般采用查询发送(循环发送)方式:

 

unsigned char Send[10];                  //发送量 unsigned char i;                         //循环量 for(i=0;i<10;i++) {        SBUF= Send[i];                    //发送        while(TI==0);                     //等待发送完成        TI=0;                             //清标志 } 


采用中断发送方式:

unsigned char Send[10];                  //发送量 unsigned char num;                       //发送数据量 unsigned char *p;                        //发送用指针   //发送时: num=10;                                  //定义发送数据量 p=&Send ;                                //取首地址 SBUF=*p;                                 //发送第一个数据,启动发送中断 //中断代码: void ComInt() interrupt 4 {        if(RI)  RI=0;                     //接收中断略;               if(TI)                            //发送中断处理        {               TI=0;                      //清标志               num--;                     //计数减1               p++;                       //指针加1               if(num >0) SBUF=*p;        //数据继续发送至全部发完        } } 

中断发送优点:省去循环等待时间,以上面例子为例,9600bps时查询发送约占用单片机10ms多,而中断发送只占单片机几十微秒(单片机速度越快,占用时间越少)。
中断发送缺点:代码稍复杂,发送过程不易控制。

关键字:C51  串口接收  发送  查询  中断方法 引用地址:C51:串口接收和发送,查询与中断方法

上一篇:利用51单片机按键设置ztw电调
下一篇:C51串口中断接收和发送程序

推荐阅读最新更新时间:2024-03-16 14:57

《初学者C51自学笔记》之数码管
图(b)为数码管的解剖图,分别是共阴和共阳型;共阴为例,若想显示数字1,从a端到dp端接P0^0~~P0^7;所以P0=0x06(00000110{从高位到低位}); 显示方式: 静态显示: 静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。 动态显示: 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人
[单片机]
《初学者<font color='red'>C51</font>自学笔记》之数码管
STM8L151C8单片机学习例程(4)——串口发送字符,字符串
STM8L_4_USART: 1.User:工程及main文件 2.Hardware:USART,CLK,LED,Delay 3.STM8L15x_StdPeriph_Driver:STM8自带库文件 4.Debug:hex文件存放于EXE文件夹 5.Function: 发送字符,字符串,整形,浮点,hex等 /** ****************************************************************************** * @file main.c * @author Alex——小白 * @version V1.0 * @date
[单片机]
STM8L151C8单片机学习例程(4)——<font color='red'>串口</font><font color='red'>发送</font>字符,字符串
XTR111 —高精度电压至电流转换器/发送
XTR111 是一款专门针对标准 0mA-20mA 或 4mA-20mA 模拟信号而精心设计的高精度电压至电流转换器 (voltage-to-current converter),其 能够提供高达 36 mA 的电流 。电阻 器 RSET 可对 输入电压与输出电流之比 进行设置 。 此外,该产品也可针对电压输出进行调整。 外部 P-MOSFET 晶体管可确保实现极高的输出阻抗以及宽泛的恒流制输出电压范围 (compliance voltage),从 2V 的VVSP 电压至低于 GND 的电压。 可调的 3V~15V 子稳压器 输出能够为额外的电路系统提供电源电压。 XT
[新品]
STC12C5A60S2(ADC查询法 10位模式)+1602显示
通道0接单片机电源,通道1接地线。 源程序:一共3个文件: LCD1602display.h #ifndef _LCD1602DISPLAY_H_ #define _LCD1602DISPLAY_H_ #define uchar unsigned char #define uint unsigned int //************************LCD引脚定义 sbit LCM_RS=P3^5; sbit LCM_RW=P3^6; sbit LCM_E=P3^7; //**************************延时 void delay(); //*********************
[单片机]
STC12C5A60S2(ADC<font color='red'>查询</font>法 10位模式)+1602显示
STM32中断向量表偏移地址配置方法
以将中断向量表偏移地址改到0x8005000为例 第一种方式: 设置system_stm32f1xx.c文件 #defineVECT_TAB_OFFSET 0x5000 在void SystemInit (void)函数中通过“SCB- VTOR =FLASH_BASE | VECT_TAB_OFFSET”命令实现地址偏移 第二种方式:运用库函数时,可以在main()函数开头,加上 NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x5000);__ASM( CPSIE I ); 命令实现地址偏移 NVIC_VectTab_FLASH 和 FLASH_BASE 都为 0x08000000 要实
[单片机]
【Keil5 C51】AT89C52 做流水灯实验(调用C51的库函数_crol_)
_crol_ 函数的介绍 Cx51 User’s Guide Summary #include intrins.h unsigned char _crol_ ( unsigned char c, /* character to rotate left */ unsigned char b); /* bit positions to rotate */ Description The _crol_ routine rotates the bit pattern for the character c left b bits. This routine is implemented as an intrin
[单片机]
【Keil5 <font color='red'>C51</font>】AT89C52 做流水灯实验(调用<font color='red'>C51</font>的库函数_crol_)
51单片机串口向计算机发送字符串C程序
51单片机串口向计算机发送字符串C程序,本布衣实验过的,可以用,串口需有一个232-TTL电平转换 通过串口调试助手可以看到发送字符信息。波特率为9600 #include REGX51.H #include stdio.h //-------------------------------- char *name_month(int n); void Delay(int x); void put(char str); void initUart(void); void putString(unsigned char const *pstr);//const //------------------------------ vo
[单片机]
C51/C52单片机的中断(EXTI)介绍及实现(二)
一、什么是中断 重复说明,CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。 简单来说就是:打断当前正在做的事,去执行另外的事,执行完后再回来接着做前面被打断的事,如图所示: 程序中的表现方式: 引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统。 二、51单片机
[单片机]
<font color='red'>C51</font>/C52单片机的<font color='red'>中断</font>(EXTI)介绍及实现(二)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved