精华内容
下载资源
问答
  • ============定时器使用方法——非中断,TF值软件重置法======== 第一:设置特殊功能寄存器TMOD,...第四:判断TCON寄存器的TF0位,监测定时器溢出情况。 实例: //LED由三极管及73HC138控制//用定时器0...
    ============定时器使用方法——非中断,TF值软件重置法========
     
    第一:设置特殊功能寄存器TMOD,配置好工作模式。 
    第二:设置计数寄存器TH0和TL0的初值。 
    第三:设置TCON,通过TR0置1来让定时器开始计数。 
    第四:判断TCON寄存器的TF0位,监测定时器溢出情况。
     
     
     实例:

    //LED由三极管及73HC138控制
    //用定时器0实现亮与灭之间的1秒时

    # include <reg52.h>

    sbit led2 = P0^0;

    sbit addr0 = P1^0;
    sbit addr1 = P1^1;
    sbit addr2 = P1^2;
    sbit addr3 = P1^3;
    sbit enled1 = P1^4;

    int main()
    {
      unsigned char time0 = 0;

      addr0 = 0, addr1= 1, addr2 = 1,addr3 = 1, enled1 = 0; //38译码器控制led2时的I/O状态(原理图)
      led2 = 0;//先点亮LED2


      TR0 = 1;//启动定时器0
      TMOD = 0x01;//定时器0、工作方式1
      TH0 = 0xB8;TL0 = 0x00;//已20ms定时时,装入的初值
      TF0 = 0;//单片机上电后,TF0/1默认为0,因此此步可省略。


      while(1)//主程序大循环
      {
        if(TF0 == 1)//判断TF0是否为1(溢出),若溢出则执行if内语句
        {
          TF0 = 0;//TF0软件重置
          TH0 = 0xB8;TL0 = 0x00;//给定时器0存储寄存器装入计数值为20ms时的初值(初值=65536-计数值)
          time0++;//TF0每溢出一次(20ms),变量time0加1,
          if(time0 >= 50) //当time0从0变50时,则1秒时间已到
          {
            time0 = 0;//time0清零,重新计数
            led2 = ~led2;//led2取反,实现亮灭之间1秒变化
          }
        }
      }
      return 0;
    }

    转载于:https://www.cnblogs.com/czf-gd/p/3929456.html

    展开全文
  • 以STC的51单片机为例, STC单片机既有经典的STC89, 也有STC12, STC15, STC8等, 自带的串口数至少有1个, 如果连接TFmini的话, TFmini发送数据的时候只需要TFmini的TX连接单片机的RX即可, 单片机的TX可以空出来做其他事...

    TFmini-21MCU

    TFmini在51单片机上的一些例程.
    对应下载链接: 链接: https://pan.baidu.com/s/1WdLmuLsiBEenJAvQVLw5jg 提取码: tji9 复制链接打开
    以STC的51单片机为例, STC单片机既有经典的STC89, 也有STC12, STC15, STC8等, 自带的串口数至少有1个, 如果连接TFmini的话, TFmini发送数据的时候只需要TFmini的TX连接单片机的RX即可, 单片机的TX可以空出来做其他事, 比如打印数据到电脑或者串口屏. 如果自带的硬件串口实在分不出来给TFmini, 还可以使用定时器模拟串口的方法, 找任意IO口做模拟串口连接TFmini即可.
    注意下载程序的时候单片机型号不要选择错误, 可以使用STC-ISP的 检测MCU选项, 可以自动选择出单片机型号。

    TFmini_STC89C52_HardwareSerial

    STC89C52有一个硬件串口, 也可以用定时器实现软件串口(参考 TFmini_STC15W204S_SoftwareSerial一节). 先下载程序。

    下载程序时接线说明:

    STC89C52USB转串口(CH340,CP2102等)
    VCC5V
    GNDGND
    P30(RX)TX
    P31(TX)RX

    STC-ISP配置:
    在这里插入图片描述
    下完程序后才可以连接TFmini,接线关系如下(TFminiRX(白线)可以悬空不接):

    STC89C52USB转串口TFmin
    VCC5V5V(红)
    GNDGNDGND(黑)
    P30(RX)TX(绿)
    P31(TX)RX

    接线如图(板载晶振为11.0592MHz):
    在这里插入图片描述
    打开串口调试助手, 选择正确的串口, 波特率115200, 左侧数据为距离, 单位cm, 右侧为信号强度:
    在这里插入图片描述
    TFmini的9字节输出解析可参考如下代码:

    typedef struct {
       int distance;
       int strength;
       char receiveComplete;
    }TFmini;
    
    TFmini tfmini = {0, 0, 0}; 
    
    /******************************************************************************
    TFmini 9 bytes output: 
    [0x59, 0x59, distanceL, distanceH, strengthL, strengthH, Mode, 0x00, checksum]
    *****************************************************************************/
    void getTFminiData(TFmini *tfmini) {
       static unsigned char i = 0 ;
       unsigned char j = 0;
       unsigned int checksum = 0;
       static unsigned int rx[9];	/*change int to char if not work*/
       if(RI) {
       	RI = 0;
       	rx[i] = SBUF;
       	if(rx[0] != 0x59) {
       		i = 0;
       	} else if(i == 1 && rx[1] != 0x59) {
       		i = 0;
       	} else if(i == 8) {
       		/*printf("\r\n");*/
       		for(j = 0; j < 8; j++) {
       			checksum += rx[j];
       		} 
       		if(rx[8] == (checksum % 256)) {
       			tfmini->distance = rx[2] + rx[3] * 256;
       			tfmini->strength = rx[4] + rx[5] * 256;
       			tfmini->receiveComplete = 1;
       		}
       		i = 0;
       	} else {
       		i++;
       	}
       }
    }
    

    TFmini_STC12C5A_HardwareSerial

    以STC12C5A60S2为例, 有两个串口。这个例子中用串口2读取TFmini的数据, 然后通过串口1发送给PC。 串口2使用独立波特率发生器BRT, 串口1使用定时器1做波特率发生器. 硬件连接关系如下:

    STC12C5A60S2USB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P12(RX2)TX(绿)
    P31(TX)RX

    接线如图:
    在这里插入图片描述
    STC-ISP的配置:
    在这里插入图片描述
    打开串口调试助手, 选择正确的串口, 波特率115200, 左侧数据为距离, 单位cm, 右侧为信号强度:
    在这里插入图片描述
    程序中的 ES = 1; 这句开串口总中断被注释了, 也就是串口1不能中断? 不注释掉串口2不能中断, 原因暂时不明。

    TFmini_STC15W204S_HardwareSerial

    STC15W204S, SOP-8封装的有一个串口, 定时器有0和2, 没有1. 这里我们选择定时器2作为串口1的波特率发生器. 因为下载程序和TFmini都要用到同一个串口, 所以, 我们先下载程序, 下完后拔掉STC15W204S的RX连线, 接上TFmini的TX即可.

    下载程序时接线关系:

    STC15W204SUSB转串口
    VCC5V
    GNDGND
    P30(RX)TX
    P31(TX)RX

    STC-ISP的配置:
    在这里插入图片描述
    注意时钟是11.0592 MHz, 下完程序后断掉 P30(RX)-TX(USB转串口) 的连线, 把TFmini的TX(绿, 白线悬空即可)接上, 连接关系如下:

    STC15W204SUSB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P30(RX)TX(绿)
    P31(TX)RX

    接线如图, 这里的另一个USB转串口只是用来给TFmini供电:
    在这里插入图片描述
    打开串口调试助手, 选择正确的串口, 波特率115200, 左侧数据为距离, 单位cm, 右侧为信号强度:
    在这里插入图片描述

    TFmini_STC15W204S_SoftwareSerial

    如果没有多余的硬件串口给TFmini用, 可以使用软件串口, 软件串口还有一个好处, 理论上每一个通用IO都可以接一个TFmini

    51单片机模拟串口的原理可以参考下面几篇文章:
    51单片机GPIO口模拟串口通信
    51单片机模拟串口的三种方法

    这里借用STC-ISP给出的示例程序, 使用定时器0模拟一个全双工串口(3倍波特率采样), 连接方式如下:

    STC15W204SUSB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P54(模拟RX)TX(绿)
    P31(TX)RX

    通过模拟的RX(P54)读取TFmini的数据, 然后通过硬件串口P31(TX)把数据发送到电脑上. 具体代码参考TFmini_STC15W204S_SoftwareSerial工程. 注意下载的时候, 把频率选择为 33.1776MHz.

    TFmini_STC15_Polling

    在这里插入图片描述
    STC15有两个或者更多的串口, 但这里我们只使用一个串口, 连接方式为:

    TFmini TX(绿线) – STC15 RXD(P30)
    STC15 TXD(P31) – PC USBtoUART RX

    注意下载程序的时候断开TFmini与STC15 P30的连线, 然后把P30连到USB转串口的RX上. 下完程序后再逆操作.

    TFmini 9字节输出数据的解析如下:

    /******************************************************************************
     TFmini 9 bytes output: 
     [0x59, 0x59, distanceL, distanceH, strengthL, strengthH, Mode, 0x00, checksum]
     *****************************************************************************/
    unsigned int TFmini_GetValue() {
    	static unsigned char i = 0;
    	unsigned char j = 0;
    	unsigned int checksum = 0; 
    	static unsigned int rx[9];
    	unsigned int distance = 0;
    	if(RI) {	/*serialport receive a character*/
    		RI = 0;
    		rx[i] = SBUF;
    		if(rx[0] != 0x59) {
    			i = 0;
    		} else if(i == 1 && rx[1]!= 0x59) {
    			i = 0;
    		} else if(i == 8) {
    			for(j = 0; j < 8; j++) {
    				checksum += rx[j];
    			}
    			if(rx[8] == (checksum % 256)) {
    				distance = rx[2] + rx[3] * 256;
    			}
    			i = 0;
    		} else {
    			i++;
    		}	
    	}
    	return distance;
    }
    
    

    这段程序用到轮询或者串口中断里面都是可以的.

    展开全文
  • 以STC的51单片机为例, STC单片机既有经典的STC89, 也有STC12, STC15, STC8等, 自带的串口数至少有1个, 如果连接TFmini的话, TFmini发送数据的时候只需要TFmini的TX连接单片机的RX即可, 单片机的TX可以空出来做其他事...

    TFmini-51MCU

    TFmini在51单片机上的一些例程.
    对应下载链接: 链接: https://pan.baidu.com/s/1WdLmuLsiBEenJAvQVLw5jg 提取码: tji9 复制链接打开

    以STC的51单片机为例, STC单片机既有经典的STC89, 也有STC12, STC15, STC8等, 自带的串口数至少有1个, 如果连接TFmini的话, TFmini发送数据的时候只需要TFmini的TX连接单片机的RX即可, 单片机的TX可以空出来做其他事, 比如打印数据到电脑或者串口屏. 如果自带的硬件串口实在分不出来给TFmini, 还可以使用定时器模拟串口的方法, 找任意IO口做模拟串口连接TFmini即可.
    注意下载程序的时候单片机型号不要选择错误, 可以使用STC-ISP的 检测MCU选项, 可以自动选择出单片机型号.


    本文目录:

    • TFmini_STC89C52_HardwareSerial
    • TFmini_STC12C5A_HardwareSerial
    • TFmini_STC15W204S_HardwareSerial
    • TFmini_STC15W204S_SoftwareSerial
    • TFmini_STC15_Polling

    TFmini_STC89C52_HardwareSerial

    STC89C52有一个硬件串口, 也可以用定时器实现软件串口(参考 TFmini_STC15W204S_SoftwareSerial一节). 先下载程序。

    下载程序时的连接关系:

    STC89C52USB转串口(CH340, CP2102等)
    VCC5V
    GNDGND
    P30(RX)TX
    P31(TX)RX

    STC-ISP的配置:

    [外链图片转存失败(img-lBWbrTin-1565230799647)(/Assets/stcispstc89.png)]
    下完程序后才可以连接TFmini, 把TFmini的TX(绿线)连到STC89C52的RX(P30)即可, TFminid的RX(白线)可以悬空不接. 连接关系如下:

    STC89C52USB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P30(RX)TX(绿)
    P31(TX)RX

    如图(板载晶振为11.0592MHz):
    在这里插入图片描述
    打开串口调试助手, 选择正确的串口, 波特率115200, 数据左边为距离, 单位cm, 右边为信号强度:
    [外链图片转存失败(img-hcfphiYh-1565230974583)(/Assets/sscom89.png)]
    TFmini的9字节输出解析可参考下面的代码:

    typedef struct {
       int distance;
       int strength;
       char receiveComplete;
    }TFmini;
    
    TFmini tfmini = {0, 0, 0}; 
    
    /******************************************************************************
    TFmini 9 bytes output: 
    [0x59, 0x59, distanceL, distanceH, strengthL, strengthH, Mode, 0x00, checksum]
    *****************************************************************************/
    void getTFminiData(TFmini *tfmini) {
       static unsigned char i = 0 ;
       unsigned char j = 0;
       unsigned int checksum = 0;
       static unsigned int rx[9];	//change int to char if not work
       if(RI) {
       	RI = 0;
       	rx[i] = SBUF;
       	if(rx[0] != 0x59) {
       		i = 0;
       	} else if(i == 1 && rx[1] != 0x59) {
       		i = 0;
       	} else if(i == 8) {
       		//printf("\r\n");
       		for(j = 0; j < 8; j++) {
       			checksum += rx[j];
       		} 
       		if(rx[8] == (checksum % 256)) {
       			tfmini->distance = rx[2] + rx[3] * 256;
       			tfmini->strength = rx[4] + rx[5] * 256;
       			tfmini->receiveComplete = 1;
       		}
       		i = 0;
       	} else {
       		i++;
       	}
       }
    }
    

    TFmini_STC12C5A_HardwareSerial

    以STC12C5A60S2为例, 有两个串口. 这个例子中用串口2读取TFmini的数据, 然后通过串口1发送给PC. 串口2使用独立波特率发生器BRT, 串口1使用定时器1做波特率发生器. 硬件连接关系如下:

    STC12C5A60S2USB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P12(RX2)TX(绿)
    P31(TX)RX

    如图所示:
    [外链图片转存失败(img-bnjgLBmk-1565231012318)(/Assets/stc12.png)]
    STC-ISP的配置: 在这里插入图片描述
    打开串口调试助手, 选择正确的串口, 波特率115200, 数据左边为距离, 单位cm, 右边为信号强度:在这里插入图片描述
    程序中的 ES = 1; 这句开串口总中断被注释了, 也就是串口1不能中断? 不注释掉串口2不能中断, 原因暂时不明.


    TFmini_STC15W204S_HardwareSerial

    STC15W204S, SOP-8封装的有一个串口, 定时器有0和2, 没有1. 这里我们选择定时器2作为串口1的波特率发生器. 因为下载程序和TFmini都要用到同一个串口, 所以, 我们先下载程序, 下完后拔掉STC15W204S的RX连线, 接上TFmini的TX即可.

    下载程序时的连接关系:

    STC15W204SUSB转串口
    VCC5V
    GNDGND
    P30(RX)TX
    P31(TX)RX

    STC-ISP的配置:
    在这里插入图片描述

    注意时钟是11.0592 MHz, 下完程序后断掉 P30(RX)-TX(USB转串口) 的连线, 把TFmini的TX(绿, 白线悬空即可)接上, 连接关系如下:

    STC15W204SUSB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P30(RX)TX(绿)
    P31(TX)RX

    如图, 这里的另一个USB转串口只是用来给TFmini供电:
    在这里插入图片描述

    打开串口调试助手, 选择正确的串口, 波特率115200, 数据左边为距离, 单位cm, 右边为信号强度:

    ## 图


    TFmini_STC15W204S_SoftwareSerial

    如果没有多余的硬件串口给TFmini用, 可以使用软件串口, 软件串口还有一个好处, 理论上每一个通用IO都可以接一个TFmini.

    51单片机模拟串口的原理可以参考下面几篇文章:

    这里借用STC-ISP给出的示例程序, 使用定时器0模拟一个全双工串口(3倍波特率采样), 连接方式如下:

    STC15W204SUSB转串口TFmini
    VCC5V5V(红)
    GNDGNDGND(黑)
    P54(模拟RX)TX(绿)
    P31(TX)RX

    通过模拟的RX(P54)读取TFmini的数据, 然后通过硬件串口P31(TX)把数据发送到电脑上. 具体代码参考TFmini_STC15W204S_SoftwareSerial工程. 注意下载的时候, 把频率选择为 33.1776MHz.


    TFmini_STC15_Polling

    在这里插入图片描述
    STC15有两个或者更多的串口, 但这里我们只使用一个串口, 连接方式为:

    TFmini TX(绿线) – STC15 RXD(P30)
    STC15 TXD(P31) – PC USBtoUART RX

    注意下载程序的时候断开TFmini与STC15 P30的连线, 然后把P30连到USB转串口的RX上. 下完程序后再逆操作.

    TFmini 9字节输出数据的解析如下:

    /******************************************************************************
     TFmini 9 bytes output: 
     [0x59, 0x59, distanceL, distanceH, strengthL, strengthH, Mode, 0x00, checksum]
     *****************************************************************************/
    unsigned int TFmini_GetValue() {
    	static unsigned char i = 0;
    	unsigned char j = 0;
    	unsigned int checksum = 0; 
    	static unsigned int rx[9];
    	unsigned int distance = 0;
    	if(RI) {	//serialport receive a character
    		RI = 0;
    		rx[i] = SBUF;
    		if(rx[0] != 0x59) {
    			i = 0;
    		} else if(i == 1 && rx[1]!= 0x59) {
    			i = 0;
    		} else if(i == 8) {
    			for(j = 0; j < 8; j++) {
    				checksum += rx[j];
    			}
    			if(rx[8] == (checksum % 256)) {
    				distance = rx[2] + rx[3] * 256;
    			}
    			i = 0;
    		} else {
    			i++;
    		}	
    	}
    	return distance;
    }
    

    这段程序用到轮询或者串口中断里面都是可以的.

    展开全文
  • TFmini(Plus)在51单片机上的应用-附件资源
  • 单片机读写usb-sd卡-tf卡-U盘等方案开发手册
  • /*============定时器中断的使用方法—---TF0(TF1)值硬件重置法======== 第一:打开总中断第二:打开定时器 中断第三:设置特殊功能寄存器TMOD,配置好工作模式。 第四:设置计数寄存器TH0和TL0的初值。 第五:...

    /*============定时器中断的使用方法—---TF0(TF1)值硬件重置法========

    第一:打开总中断
    第二:打开定时器 中断
    第三:设置特殊功能寄存器TMOD,配置好工作模式。
    第四:设置计数寄存器TH0和TL0的初值。
    第五:设置TCON,通过TR0置1来让定时器开始计数。*/

    //LED由三极管及73HC138控制
    //用定时器0实现亮与灭之间的1秒延时

    # include <reg52.h>

    sbit led2 = P0^0;

    sbit addr0 = P1^0;
    sbit addr1 = P1^1;
    sbit addr2 = P1^2;
    sbit addr3 = P1^3;
    sbit enled1 = P1^4;
    unsigned char time0;
    int main()
    {
        addr0 = 0, addr1= 1, addr2 = 1,addr3 = 1, enled1 = 0; //38译码器控制led2时的I/O状态(原理图)
        time0 = 0;
        led2 = 1;//让led2在非中断状态保持熄灭状态(可省略)

        EA = 1;//打开总中断
        ET0 = 1;//打开定时器中断
        TR0 = 1;//启动定时器0
        TMOD = 0x01;//定时器0、工作方式1
        TH0 = 0xB8;TL0 = 0x00;//设定20ms定时时,装入的初值

        while(1)//主程序大循环
        {
            if(time0 == 50)//判断time0,若time0的值是50,则表示进入了50次中断(1秒定时时间到)
            {
                time0 = 0; //time0清零,重新计时
                led2 = ~led2; //每经过1秒,led2取反一次,实现1秒亮灭闪烁
            }
        }
            return 0;
    }

    void et0() interrupt 1
    {
        TH0 = 0xB8;TL0 = 0x00;//能进入中断,则表示20ms定时已到,故重新装入的初值
        time0++;//每进入一次中断,time0加1
    }

    转载于:https://www.cnblogs.com/czf-gd/p/3941259.html

    展开全文
  • strengthL, strengthH, tempL, tempH, checksum] *****************************************************************************/ void TF_Lidar_GetValue(TOF *Lidar_Data) { static unsigned char i = 0;...
  • #include #define uchar unsigned char void delay60s(); void main(void) { while(1) { P1=0x00; delay60s(); P1=0xff; delay60s(); } } void delay60s() { ...TF0) ;... TF0=0; } } }
  • 单片机实验

    2015-04-22 20:46:16
    单片机实验 ORG 0000H MOV R0,#50 LP: MOV TMOD,51H MOV TL1,#OF0H MOV TH1,#0D8H ...LOOP: JBC TF0,LP1 AJMP LOOP LP1: MOV TL1,#OF0H MOV TH1,#0D8H CPL P3.7 DEC R0 DJNZ R0,LP END
  • 定义TCON中的位/* sfr TCON = 0x88; */ /* T0/T1 控制寄存器 */ #define B_TF1 7 /* T1 溢出标志 */ #define B_TR1 6 /* T1 启动控制 */ #define B_TF0 5 ...
  • #i nclude "CH375INC.H"#i nclude/* 以下定义适用于MCS-51单片机,其它单片机参照修改 */#defineUINT8 unsigned char#defineUINT16unsigned short#defineUINT32unsigned long#defineUINT8Xunsigned char xdata#d...
  • void Timer2Init(void) //1ms @11.0592MHz { AUXR |= 0x80; //定时器时钟1T模式 TMOD &= 0xF0; //设置定时器模式 TL0 = 0xCD;... TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET...
  • 单片机知识总结

    2021-01-28 10:29:21
    2.溢出:计数满了,TF0置一 3.定时器计时就是给定时器一个初值,然后TR0置一开始计数,例如TH0=0X55,TL0=0X22;即16位的0X5522,当他计数到0XFFFF再加一就会溢出,即TF0 = 1;然后用软件清零,设定一个变量用来计算TF0...
  • 图一一:系统构成:1:89C51单片机(ISP 单片机,可不用编程器)2:128x64LCD3: 带SD,MiniSD ,MicroSD(TFSD)卡座 送32MByte SD卡4:支持红外线遥控器(选配)5:RS232接口6:9按键二:功能特点:1:按扇区读写SD卡数据...
  • 单片机基础-第一个单片机系统

    千次阅读 多人点赞 2020-05-14 10:17:11
    单片机基础-第一个单片机系统 简单的单片机系统 构成单片机系统——单片机+外围器件 如果把单片机和外围器件组合起来,实现一定的功能,那我们就称单片机和外围器件组成了单片机系统。 如何控制一个发光...
  • 初识单片机

    2019-11-11 16:31:43
    单片机控制原理:控制单片机的40个引脚输出的高低电平进行控制 目的:控制内外资源的运行 单片机最小系统: 构成单片机最小的配置 电源 复位电路:提供复位功能,使单片机在一个确定的状态下开始工作 如:打开电源、...
  • 单片机

    2017-03-01 12:44:06
     TF1 = 0;  TH1 = 0x4b;  TL1 = 0xfe;  counter++;  } du = 1;  P0 = leddata[a];  du = 0;  we = 1;  P0 = 0xf0;  we = 0; delay(1);  if(counter == 20...
  • #include<reg52.h> sbit led1 = P1^1; sbit led0 = P1^0; void main() { unsigned char cnt = 0,cnt1=0;... TL1 = 0xb0;... TH0= 0x3c;... TL0 = 0xb0;... TR0 = 1;... if(TF1 == 1) ... TF1 = 0; TH1 = 0x3c;
  • TF卡和FAT32文件系统的使用-第5季第7部分 互联网课程品牌《朱老师物联...
  • 以下程序为89C52单片机的定时器T0,T1,T2定时1ms 第一份代码为三个定时器的初始化 #include <reg52.h> void Timer0_Init() //定时器0方式一,配置1ms中断的函数 { TMOD &= 0xF0; TMOD |= 0x01; //配置...
  • 单片机|51单片机学习总结

    千次阅读 多人点赞 2019-07-08 17:21:36
    51单片机学习总结 一、串口 1.LED点亮(跑灯) (1)亮 #include<reg52.h> sbit led = P2^0; void main() { while(1) { led = 0;//必须是低电平才发光,看电路图 } } (2)跑灯 #include<reg52.h>...
  • 单片机复习

    千次阅读 2018-07-09 16:28:23
    单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其...
  • 单片机中断

    千次阅读 2018-12-17 22:09:11
    蓝桥杯单片机之中断 1、中断含义及过程 中断是指CPU在处理A事情时,发现B请求CPU立刻去处理(中断发生),于是CPU去处理B(中断服务), 处理完B后又再次回到A被中断的地方,继续处理A(中断返回) 2、中断源 51...
  • 单片机C语言应用100例单片机C语言应用100例,单片机c语言应用100例,单片机C语言,单片机C语言应用ex99 #include / /* PC */ void Send(unsigned char dat) SBUF=dat; while(TI=0) ; TI=0; /* 1ms (3j+2)i=(333+2) 10=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,518
精华内容 1,807
关键字:

单片机tf0