//基于msp430F149单片机的flash读写,记录430的运行状态,
//实现在复位和掉电的情况下,恢复原始运行状态。
#include
#include "function.h"
unsigned char value1=0; // 待写入段A的值
unsigned char *data =(unsigned char *)0x4080; // 段A的头指针
void write_SegA (unsigned char value1)
{
char *Flash_ptr; // Flash pointer
Flash_ptr = (char *) 0x4080; // Initialize Flash pointer
FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY; // Clear Lock bit
*Flash_ptr = 0; // Dummy write to erase Flash segment
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
*Flash_ptr = value1; // Write value1 to flash
_NOP(); // SET BREAKPOINT HERE 至关重要!!需要此等待
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P3DIR |= 0x23;
P2DIR |= 0xFF;
XT2_open();
uart1_init((8000000/115200)%6,(8000000/115200)/256);
FCTL2 = FWKEY + FSSEL0 + FN2 + FN4; // MCLK/20 for Flash Timing Generator
while(1){
P2OUT =*data; //led灯指示
yanshi_1ms(1000); //延时1s
write_SegA(*data+1); // 读出段A第一个值,增加1,并赋给value1,写入flash
sendi(i);sends(" : ");
sendi(*data);sends("
"); // 串口发送信息
}
}
关键字:msp430F149 单片机
引用地址:
msp430F149单片机的flash读写程序
推荐阅读最新更新时间:2024-03-16 14:41
SAM4E单片机之旅——12、USART
清楚了UART的用法之后,现在来研究一下USART的用法。和上一次差不多,这次也通过USART的串口来实现和PC的通信。和上一次不同的是,USART本身就有接收超时的功能,所以这次就不用TC了。 USART和UART相比,功能多了许多,可以配置的选项也更多。虽然最主要的差别是USART可以实现同步通信,但PC的串口没有这个功能,所以我们就先不拿这个功能开刀了。 一、 思路 实现思路和上一次使用UART的PDC差不多,区别只是这次直接使用USART的接收超时功能,而不用TC。 二、 电路图 使用的USART口为USART1,这个串口在上次使用的DBGU口的旁边。 有个使能引脚连在PA23上。使用时需要将PA23拉为低电平才
[单片机]
基于SPCE061A单片机设计的语音电子门锁系统
生物识别技术是利用人体生物特征进行身份认证的一种技术,是目前公认的最为方便与安全的识别技术。由于每个人的生物特征具有与其他人不同的唯一和在一定时期内不变的稳定性,不易伪造和假冒,所以利用牲识别和技术进行身份认证,安全、准确、可靠。 在生物识别领域中,声纹识别,也称为说话人识别,以其独特的方便性、经济性和准确性等优势受到世人瞩目,并且益成为人们日常生活和工作中重要且普遍的安全认证方式。声纹识别是一种根据说话人语音波形中反映说话人生理和行为特征的语音参数,自动识别说明人身份的技术。 声纹识技术可分为两类,即说话人辨认和说话人确认。前者用以判断某段语音是若干人中的哪一个所说的,是多选一的问题;而后者用以确认某段语音是若干人中的哪一个所说的
[单片机]
采用MSP430F单片机设计超低功耗电子温度计
引言 本文设计的超低功耗电子温度计能够通过温度传感器测量和显示被测量点的温度,并可进行扩展控制。该温度计带电子时钟,其检测范围为l0℃~30℃,检测分辨率为1℃,采用LCD液晶显示,整机静态功耗为0.5μA。其系统设计思想对其它类型的超低功耗微型便携式智能化检测仪表的研究和开发,也具有一定的参考价值。 1元器件选择 本系统的温度传感器可选用热敏电阻。在10~30℃的测量范围内,该器件的阻值随温度变化比较大,电路简单,功耗低,安装尺寸小,同时其价格也很低,但其热敏电阻精度、重复性、可靠性相对稍差,因此,这种传感器对于检测在1℃以下,特别是分辨率要求更高的温度信号不太适用。 显示部分可以采用笔段式LCD液晶显示。特别是黑白笔段
[单片机]
利用单片机PWM信号对舵机进行驱动控制
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 图1 舵机的控制要求 舵机的控制
[单片机]
74ls164与单片机的串并转换(串转并\串进并出)
74LS164串转并实验 本实验是用74LS164把输入的串行数转换成并行数输出,74LS164为串行输入并行输出移位寄存器,其引脚图及功能如下: A、B:串行输入端; QA~QH:并行输出端; CLR:清零端,低电平有效; CLK:时钟脉冲输入端,上升沿有效。 实验采用单片机串行工作方式0和P1端口两种方式串行输出数据。串行口工作方式0时,数据为8位,从RXD端输出,TXD端输出移位信号,其波特率固定为Fosc/12。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。 串行口工作方式0数据/时钟是自动移位输出,用P1端口输出数据时,要编程位移数据,每输出一个
[单片机]
51单片机的GPIO配置
导语 通过单片机控制外围器件(LED,蜂鸣器,数码管,按键),本质上是对于单片机IO口的操作,相对于STM32,51单片机IO口模式较少,但了解IO的内部对于学习了解51单片机也由很大的帮助。 GPIO GPIO(General Purpose Input Output),通用输入输出。既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。可以通过软件去控制。 在大多数的时候,我们将IO口可以看为一个电子开关,通过向IO寄存器中写入相应的值,其输出的电平就随着寄存器的变化而变化,这是IO口的输出,在大多数的单片机中,需要去配置单片机的IO模式,是输入还是输出。 即需要预先初始化,配置GPIO的参数,再去使用
[单片机]
如何用51单片机接收鼠标的“三轴位移”与按键信息
这里所用的鼠标是PS/2协议的鼠标,测试鼠标为电脑普通光电鼠标(以下简称从机),有一个滚轮,三个按键等。所用编程语言为单片机C语言。用AT89S52作为接收方(以下简称主机),主要负责:接收从机送给主机的信息包并处理、用LCD1602作为显示屏并实时显示位移计数和按键信息,最初无论如何也无法驱动滚轮,经过努力终于完成了这一任务。如下图所示: 相对来说,主机的程序比较易写,但是,主机(AT89S52)处理这些信息还是相当吃力,这时代码的执行效率就非常值得注意,如果设置鼠标工作在stream模式,即使AT89S52用24Mhz的晶振也会经常出现数据处理失常。所以最好还是让鼠标工作在remote模式,祥细请参考《
[单片机]
在进行单片机设计时需要注意哪些事项
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排。 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压
[单片机]