本人在大四工作实习期间,由于工作需要,需要使用STM8单片机测量一个方波脉冲的频率,一开始想要使用定时器捕获,可是需要测量的脉冲频率较高,用捕获测量不仅测量不准确,而且效率低下。于是乎想到了用外部计数TIMx_ETR功能测量!真正的问题来了,之前从来没用过STM8的外部脉冲计数功能,而且网上也是在找不到
c8051f单片机是在MCS51单片机基础上发展起来的,既有继承,又有很大的创新。按照功能可分为专用型和通用型。专用型:100MHz高速型的如f120芯片;24位高分辨率AD的如f350芯片;带usb功能的芯片如f320和f340;超低功耗的芯片如f410;还有带CAN总线的芯片如f040和f060。通用型:f020,f330d等,内部带有AD,DA,SPI,I2C,W
SPI总线接口芯片为完成单片机的常规外围电路扩展设计带来了机遇,可扩展的外围电路包括A/D与D/A转换器、显示、时钟、存储器、监视复位、I/O、显示等。本文利用国内目前较为流行的I2C,SPI串行通信协议实现单片机外围电路的A/D转换、D/A转换、时钟、I/O扩展、E2PROM以及LED驱动器件的扩展功能,实现了单片机系统
int8 *pRStut1 = ADDR1 ; //申请一个8位指针变量 变量名为pRStut1int16 *pRStut2 = ADDR2 ; //申请一个16位指针变量 变量名为pRStut2uint8 RStu1 _at_ ADDR1 ; //申请一个8位变量 变量名为RStu1uint16 RStu2 _at_ ADDR2 ; //申请一个16位变量 变量名为RStu2DEF_8BIT_REG_AT(RStu1,ADDR1); //申请一个8位变量
sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to)该寄存器。sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。STC该系列单片机的特殊功能寄存器布
buck电路这是一个降压电路,SW 在此处通入PWM ,进行降压的主要工作,Vout分压后,最高不超过芯片工作电压 (5V 也行 )输入到PIC AN1口,进行AD转换,将转换的结果在1602上显示出来。如果电压不是想要的电压 程序便改变PWM的占空比,以达到需要的值。主要环节在1602 的初始化 写数据 和写指令 以及 PIC的AD启动
1. 利用I/O1.1 利用LED进行可视化管理这种方法需要有多余的I/O。(如果可能,也可以将实现次要功能的I/O暂时借来一用。)其电路很简单,一个LED通过限流电阻接到VCC电源。I/O设置为输出方式。我们可以用下面的宏来定义LED的操作。#define LED_YELLOW_ON() PA6D=0#define LED_YELLOW_OFF() PA6D=1#define L
单片机的应用范围十分广泛,主要的应用领域有: (1) 工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、温度控制等。 (2) 仪器仪表。如智能仪器、医疗器械、数字示波器等。 (3) 计算机外部设备与智能接口。如图形终端机、传真机、复印机、打
在单片机学习中,我们常常遇到这样那样的零星问题,这里我将我遇到的问题总结如下,都是个人见解,如果不对,万望指出。(持续更新中)问题0001:51单片机下载失败常见原因1.查看单片机是否插反了;2.下载软件选择正确的单片机型号(注意STC89C52和STC89C52RC是不同的) ;3.检测是否连接了晶振 ,时候有晶振接触
很多时候我们需要实现设备的开关机,而比较常用的方法有硬件开关的开关机和纯粹的软件开关机。硬件开关机一般都是用拨码式的硬件开关实现,缺点是占用空间比较大,外观不美观。而单纯的软件开关无法实现真正的关机,只是单片机进入睡眠或者休眠状态,存在耗电等问题。为了解决这些问题,有时候我们不得不进行软