-
1.实验任务用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始。下面我就开始介绍如何制作这款单片机记时器,硬件电路如下图所示2.电路原理图3.系统板上硬件连线(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0...[详细]
-
平台:CodeComposerStudio10.4.0MSP-EXP430G2LaunchPad试验板MSP430G2553LaunchPad™DevelopmentKit(MSP‑EXP430G2ET)contiki下载:contiki-osGithub本文参考自二、Contiki移植——一根线本工程示例新建工程移植过程新建contik...[详细]
-
PWM是一种常用的电子控制技术PWM本意为脉冲宽度调制,可以简单理解为对占空比的控制。下图就是占空比图例,一个周期内高电平时间与周期时间的比值。现在的一些MCU自带PWM控制功能,但是51/52单片机还是没有这个功能。可以用程序自己实现。用到的51单片机资源如下:1.双定时器及定时器中断2.串口和串口中断下面看下程序:PWM.H#ifnde...[详细]
-
这次讲的是将程序、图片或其他文件下载到SPIFlash中。我使用的是W25X16的SPIFlash,他共有2MB空间,2个Block,512geSector,8096个Page。由于SPIFlash不能直接跑程序,我们从接口就知道了。接下去我们就来讲讲怎么编写SPIflash的升级功能。这次的工程是基于之前的InternalFlash修改而来的。修改的部分主要在USB_User组里...[详细]
-
1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本ARM有不同的想法。比如为高速度设计的CortexA8、A9都是ARMv7a架构;CortexM3、M4是ARMv7m架构;前者是内核,后者是指令集的架构。2.ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,T...[详细]
-
项目需求在制作一个使用全向轮的机器人底盘,对于全向轮,电机的精度是影响效果的重要因素。所以使用了步进电机,使用步进电机的优点是可以不使用编码器,开环控制即可达到高精度的效果。调整占空比或者调整周期众所周知,PWM有两个重要参数,周期与占空比。步进电机的运动方式是,每收到一个脉冲,就旋转指定的角度。因此影响电机速度的唯一参数就是PWM的频率。以下附图两张来说明调整占空比与调整周期的区别...[详细]
-
1.程序在RAM中运行要点:(1)程序的下载地址改到RAM空间中(2)程序的debug之前要设定SP,PC指针到Ram空间新建工程,选择STM32的具体型号,我买的万利的开发板,选择stm32f103Vb。设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20...[详细]
-
为了从外部时钟源驱动芯片,CLKI必须如Figure12所示的进行连接。同时,ATtiny13熔丝位CKSEL必须编程为“00”。选择了这个振荡器之后,启动时间由熔丝位SUT确定,如Table7所示。为了保证MCU能够稳定工作,不能突然改变外部时钟源的振荡频率。工作频率突变超过2%将会产生异常现象。应该在MCU保持复位状态时改变外部时钟的振荡频率。...[详细]
-
1.RTC简介实时时钟(RTC)是一个独立的BCD定时器/计数器。RTC提供具有可编程闹钟中断功能的日历时钟/日历。RTC还包含具有中断功能的周期性可编程唤醒标志。两个32位寄存器包含二进码十进数格式(BCD)的秒、分钟、小时(12或24小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为28、29(闰年)...[详细]
-
单片机的特殊功能寄存器SFR,是SRAM地址已经确定的SRAM单元,在C语言环境下对其访问归纳起来有两种方法。1、采用标准C的强制类型转换和指针来实现采用标准C的强制转换和指针的概念来实现访问MCU的寄存器,例如:#defineDDRB(*(volatileunsignedchar*)0x25)分析如下:A:(unsignedchar*)0x25中的0x25只是个值,...[详细]
-
SD卡是一种基于半导体快闪记忆器开发的新一代记忆设备,目前SD卡被广泛应用于各种便携式装置上,一般重量约为2g,拥有较好的安全性、移动灵活性、快速数据传输率和高记忆容量。许多嵌入式设备都选择使用SD卡以提高系统的稳定性、降低成本。 1嵌入式系统的特点 因为嵌入式系统是一种特殊的计算机系统,所以它和计算机系统一样,由软件和硬件构成。以PC为代表的通用计算机系统和嵌入式系统相比,...[详细]
-
最近写了几个程序,一个是用51单片机读取模数传感器adc0832的电压值,一个是读取ds1302的时间值,结果都出现了读数一直为0的情况。我调试了近一个星期,修改了一个我认为不可能会错的句子,程序运行成功了,这才发现了一个极其隐蔽的错误。(我用的是xp系统,用keil4软件编译)先上代码:第一个为错误代码,第二个为正确代码。这是用来向ds1302芯片写入命令或数据的函数。实现把8位的数据d...[详细]
-
1.创建工程并设置所选型号的启动文件选择相对应MCU型号的启动文件:*startup_stm32l1xx_md.s:适用于STM32LUltraLowPowerMediumdensitydevices*startup_stm32l1xx_mdp.s:适用于STM32LUltraLowPowerMediumdensityPlusdevices*...[详细]
-
前面将流程搞清楚后,下面就开始进行按照顺序来编写程序了。第一步就是进行中断向量表的设置。在ARM11中,中断向量表叫做异常向量表。ARM11共有10种异常,这个在ARM11的datasheet中有。这里说明一下:异常说明详细说明Reset复位异常当系统刚上电,或者按下复位键时候,触发这个异常,这个时候,程序跳...[详细]
-
1引言随着电力负荷的急剧增长和供电企业“一户一表”、“直供到户”等营销举措的不断深人,供电企业电量抄录的工作量急剧增加。目前的抄表方式主要有4种:人工抄表、IC卡表、有线远程自动抄表、无线远程自动抄表。人工人户抄表工作量大,而且容易出现错钞、漏抄、估抄等现象。IC卡表是预付费形式,数据集中比较方便,但IC卡的安全性较差。有线远程自动抄表,主要有485等一些专用通信线路、电力线载波以及...[详细]