想来想去不知道要怎么样把232串口通信说清楚,想想还是直接把代码分析一遍吧...重点是“常用波特率与定时器1的参数关系”这张表格!波特率的设置很重要!一、串口初始化void usart_init(){ SCON = 0x50; //
单片机每次发送或者接受完数据(8位数据将保存在缓冲区中),会自动触发接受或者发送中断。因此只需要中断置位以后再缓冲区中读数据(或者发送数据)。1 /*************************************************2 *rece
在使用STC12C5608AD的PWM功能时,需要用到把PWM的占空比从0%调到100%,0%即低电平,100%即高电平。通过改变CCAP0H的值,可以调节占空比,按道理,当CCAP0H的值为255时,占空比应该为0,但是通过示波器发现,还是有那
红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制
#includetypedefunsignedcharuchar;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitENLED=P1^4;codeucharimage[5][8]={{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//??¨?”???§0{0xFF,0xC3,0x
任何单片机,内部都有寄存器,用来存储数据和控制器件。51单片机的寄存器是8位的,用二进制表示就是00000000到11111111之间的数据。我们在学习51单片机,本质上就是在学习它的寄存器。单片机的寄存器被放到内部特定的
如下程序能实现ms毫秒级的比较精确的延时void Delayms(unsigned int n){ unsigned int i,j; for(j=n;j>0;j--) for(i=112;i>0;i--);}用keil可以看出这个延时的时间,我们先延时1ms(Delayms(1))。进入Delayms前
在这里介绍一下用51单片机驱动步进电机的方法。这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:
最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”。在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在
C代码#include"my51.h"#include"smg.h"#include"ds18b20.h"voidmain()//测试,6位数码管显示温度值{u8i=0;u16temp=0;while(1){temp=ds18b20_readTemperaData();for(i=0;i=1;//有效数据移动到最低位,2次写数据间隙至少
STC的单片机一般都是1T型单片机,比传统的单片机运行速度要快12倍左右。传统的51单片机只有一个时钟源,就是利用外部晶振,而stc51单片机除了可以用外部晶振,自己内部还有一个时钟源,由RC振荡器实现,精度没有外部
这里主要是对使用keil环境下,提高51单片机软件精度的问题给出自己的一点小看法,参阅了文章利用 Keil Cx51实现T0的精确定时,使用文章中的方法的确是可以提高软件精度,可是一碰到中断函数中语句较多,且main函
位与指令ANL C,bit ;CY与指定的位地址的值相与,结果送回CYANL C,/bit ;先将指定的位地址中的值取出后取反,再和CY相与,结果送回CY,但注意,指定的位地址中的值本身并不发生变化。例:ANL C,/P1.0设执行本指令前,
STC单片机的内部EEPROM是用DATAFLASH模拟出来的,不是真正的EEPROM存储器,不能用普通的方法来操作下面是一些注意点:1.字节写之前要先将这个字节所在扇区的其它有效数据读取到RAM暂存(这步不是必须的)2.暂存完之后再对
除法指令:DIV AB此单片机指令的功能是将A中的8位无符号数除了B中的8位无符号数(A/B)。除法一般会出现小数,但计算机中可没法直接表达小数,它用的是我们小学生还没接触到小数时用的商和余数的概念,如13/5,其商是
51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的。当然还有其他的中断源,比如ADC、SPI、PWM等。以外部中断0为例,在编程中常使用的方式为:void INT0()interrupt 0 usin
1. 51单片机概述51单片机是对所有兼容Intel 8031指令系统的单片机的统称。目前教科书基本都是以早期的MCS-51为原型,讲解微机的原理及其接口技术的。早期的51单片机功能都较弱,需扩展rom,ram等才能组成一个较复杂的
/***********************************************头文件名:LCD液晶驱动 ** Target : AT89s52** Crystal: 11.0952**********************************************/#ifndef _LCD_51_H_#define _LCD_51_H_#include
1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在
18b20复位函数:bitds18b20_reset(void){bitbitbuf;ds18b20=1;//10usTH0=0xff;TL0=0xf6;TF0=0;while(!TF0);ds18b20=0;//设置1-wire总线为低电平(占领总线)//延迟480us-960us,尽可能选小值(480us)//这里我们选490usTH