搜档网
当前位置:搜档网 › S.D.Lu的MSP430入门学习笔记

S.D.Lu的MSP430入门学习笔记

S.D.Lu的MSP430入门学习笔记(1):

IAR for430建立工程

1.打开IAR for430,生成一个新工程。

2.选择生成一个带main.c文件的工程。

3.选择或新建工程保存路径,并给工程命名。

点击“保存”后,IAR就会生成一个只有几行代码的main.c文件。

4.设置工程。

选择芯片

选择调试器

FET Debugger是硬件调试器,Simulator是软件模拟仿真器。

Texas Instrument USB-IF是TI的USB接口调试仿真器,Texas Instrument LPT-IF是TI的并口调试仿真器。

5.编译工程。

点击“Make”按钮,在弹出的对话框输入任意的Workspace名称,点“保存”即可。

编译完成后,最下方的信息窗口会显示编译情况。

至此,用IAR for430建立工程的步骤完成。

代码解释:

#include"io430.h"

将MSP430的头文件包含进来,该头文件又包含了MSP430全系列的头文件。

包含了io430.h文件后,在IAR for430的编译环境下,软件会根据工程所选择的芯片型号,自动连接相应的头文件进行编译。也经常使用#include,文件msp430.h中包含的头文件更加全面。

WDTCTL=WDTPW+WDTHOLD;

这是一句的功能是关闭内部看门狗定时器。

因为MSP430默认看门狗定时器是开启的,所以在不使用看门狗定时器的应用中,一般main 函数的第一句就是关闭看门狗定时器。

作者:S.D.Lu

深圳

2014-3-21

S.D.Lu的MSP430入门学习笔记(2):GPIO 本实验所用的硬件是TI的MSP-EXP430G2LaunchPad试验板。

原理图如下。

软件在一篇的基础上进行修改。

将main函数改为如下内容:

编译完成后,点击下载调试按钮,将代码下载到实验板上。

P1.0和P1.6上的LED轮流点亮和熄灭。

代码解释:

9~11行,对IO端口进行设置时,用到了BITx。这是头文件中定义的,用于位操作的宏定义,比较方便的操作各个IO端口。

因为MSP430的IO是双向的,所以在使用之前需设置其方向。

15行,定义了一个变量i,在IAR环境下允许用户在程序段中间定义变量。

17行,将P1.0和P1.6的输出和(BIT0+BIT6)进行异或,其结果相当于将P1.0和P1.6输出进行取反。

GPIO的一般操作

如果不涉及片内外设,对GPIO的操作只涉及4个寄存器:PxDIR、PxOUT、PxIN、PxREN。PxDIR用于设置GPIO的方向,PxOUT用于设置输出值,PxIN用于读取输入值。PxREN用于GPIO内置的上拉/下拉电阻。当PxREN.bit=1,上拉/下拉电阻被使能,PxOUT.bit=0为下拉,=1为上拉。

具体如何操作,可参考TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c”

两个程序运行的结果都是:P1.0的输出跟随P1.4的输入电平变化。

对于不使用的IO应避免设置成悬空输入。

P1、P2口的中断

MSP430的P1、P2口每一个引脚都有中断的功能,P1的所有引脚的中断共用一个中断向量,P2口与P1口类似。P1、P2口中断功能相关的寄存器有3个,PxIFG、PxIE和PxIES。PxIFG是中断标志寄存器,用于指示哪一个IO上产生了中断。PxIE是中断使能寄存器,PxIES 是中断边沿选择寄存器。各个寄存器取值所对应的功能请参考《用户指南》。

P1、P2口中断功能的使用可参考TI官方例程“msp430g2xx2_P1_02.c”、“msp430g2xx2_P1_04.c”,这两个例程分别是在TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c”基础上修改的,将IO输入识别功能用中断功能来实现。

msp430g2xx2_P1_02.c的代码如下:

该程序运行结果是,P1.4口每出现一个下降沿,P1.0口电平改变一次。

代码分析:

75行,使能P1.4口中断。

76行,P1.4口中断边沿选择为下降沿。

77行,清除P1.4口中断标志位。

79行,使能全局中断,并进入低功耗模式LPM4。至此主函数停止运行。

_BIS_SR();是一个本征函数,由IAR开发环境提供,没有公开代码。作用是将状态寄存器SR中的指定位置1。SR的各位定义可在用户指南的CPU寄存器章节中找到:

_BIC_SR();的作用和_BIS_SR();相反,用于将SR中的指定位清0。

_BIS_SR_IRQ()、_BIC_SR_IRQ()和上述两个函数的作用相同,只是它们在中断函数返回时使用。

83~88行是中断函数,87行是清除P1.4口中断标志位后退出中断函数,如果没有清除相应中断标志位,则退出后又会立即产生。

在IAR for430环境下中断函数的编写格式如下:

其中,中断向量偏移地址在芯片相应的头文件中已经定义。如在msp430g2452.h中定义了MSP430G2452的所有中断向量偏移地址,其基地址为0xFFE0。

另外需要注意的是,改变PxOUT或PxDIR时,可导致PxIFG的相应位置1从而产生中断。

GPIO的外设功能选择

端口引脚通常与其它外设模块功能复用,引脚的功能可以通过功能选择寄存器PxSEL 和PxSEL2来进行设定。具体选择的是什么功能,可参考器件对应的数据手册,找到TERMINAL FUNCTIONS章节,查看其引脚的功能分配真值表,如下图。需要使用某个引脚的特定功能,就将相应寄存器的值设置成表格中对应的值即可。

作者:S.D.Lu

深圳

2014-3-23

S.D.Lu的MSP430入门学习笔记(3):

时钟选择(1)数控振荡器DCO

MSP430的时钟系统比较完善,它提供了一个内置的数字控制振荡器,对降低成本非常有价值。DCO的频率可通过软件使用DCOx,MODx,和RSELx位来调节。在一般的应用中,使用内部数控振荡器DCO作为时钟,就能够满足设计需求。

MSP430的时钟模块比较复杂,框图如下,其中DCO在左下角部分。

MSP430默认使用DCO,在《MSP430x2xx系列用户指南》(中文版)中可以查到。

在TI官方例程MSP430G2xx2_Code_Examples中,“msp430g2xx2_clks.c”代码如下:

按要求,其硬件上需连接一个32K晶振。

编译下载运行之后,用示波器可以测到在P1.4脚有约1.1MHz的方波信号,P1.0脚有32K 信号,P1.1脚有110K信号。

代码解释:

75行,P1SEL|=0x11;//P1.0,4ACLK,SMCLK output

选择了P1.0,P1.4的外设功能,分别输出ACLK和SMCLK。引脚的外设功能设置可参考《MSP430G2x52,MSP430G2x12系列参考手册》(英文版)。

在TI官方另一个例程“msp430g2xx2_dco_calib.c”中,介绍了如何选择DCO的频率。该例程在“msp430g2xx2_clks.c”的基础上增加了选择DCO频率的代码。

MSP430在出厂时,对DCO进行了校准,并把其中1MHZ、8MHZ、12MHZ、16MHZ 这几个频率的校准值写入了特定的信息代码段中。所以在应用中,可以很方便的选择相应的DCO频率,如上述代码操作即可。上述程序中,选择不同的DCO频率,在P1.1和P1.4上得到不同的频率输出。

另一个和DCO相关的官方例程是“msp430g2xx2_dco_flashcal.c”。该例程的作用是重写DCO的校准值。在硬件上需要提供一个外部32768Hz时钟。

函数void Set_DCO(unsigned int Delta);的作用就是设定DCO输出指定频率。应该注意的是,参数Delta的单位是4069Hz。其基本原理是用TimerA定时器的捕获/比较功能,进行两个频率的比较,然后根据比较结果调整DCO的输出,直到得到指定频率。程序操作涉及TimerA定时器的操作,在此不作展开。

以下代码的作用是擦除并重写DCO校准值,非必要情况下,建议不要重写这些校准值,可将这些代码屏蔽。

因为DCO是RC振荡器,其精度和稳定度是有限的,在时间要求比较严格的应用中建议使用外部晶体振荡器。应该注意的是,不是所有的MSP430都支持外部高频时钟,请查看相应器件的用户指南中关于时钟模块的介绍。

作者:S.D.Lu

深圳

2014-3-24

S.D.Lu的MSP430入门学习笔记(4):

时钟选择(2)VLO、LFXT1和XT2

MSP430最多可提供4种时钟源:DCO、VLO、LFXT1和XT2,有些器件不包含XT2或LFXT1。

VLO是一个内部超低功耗、低频率振荡器,上图中的时钟源1,其频率为12KHz。其使用方法请参考TI官方例程“msp430g2xx2_1_vlo.c”,在此不作赘述。

LFXT1是外部时钟源,它有LF和HF两种模式,分别支持外部低频和高频时钟。

XT2是外部高频时钟源,支持0.4~16MHz高频时钟。

(注:G2xx2系列没有XT2,G2xx2系列LFXT1不支持HF模式。)

MSP430的主时钟、子时钟和辅助时钟,可以分别通过相应的寄存器控制位选择4种时钟源中的一种作为其来源。之后还可以通过分频器分频,得到想要的时钟频率。

主时钟是CPU运行的时钟源,子时钟和辅助时钟是各个片内外设的时钟源。在MSP430系统中,有时为了降低功耗会关闭CPU和一些外设,同时要求一些外设继续工作。

和时钟模块相关的寄存器只有6个,时钟配置的过程就是设置这些寄存器。具体各寄存器的各个位的功能请查看《MSP430x2xx系列用户指南》(中文版)第五章。

时钟的切换

一次PUC之后,基本时钟模块将DCOCLK用于MCLK。如果需要将MCLK时钟源改为LFXT1或XT2。

把MCLK的源从DCO时钟转换成晶振时钟(LFXT1CLK或XT2CLK)的顺序是:

1.打开晶体振荡器并选择合适的模式

2.清零OFIFG标志

3.等待至少50uS

4.测试OFIFG,并重复2至4的步骤,直到OFIFG保持被清零。

作者:S.D.Lu

深圳

2014-3-25

S.D.Lu的MSP430入门学习笔记(5):

看门狗定时器和低功耗模式

看门狗定时器WDT最简单的应用例程是“msp430g2xx2_wdt_04.c”

程序运行结果是P1.0口输出约33.6Hz的方波信号。为什么是33.6Hz呢?

即上电清零(PUC)后,WDT的时钟来源是DCOCLK,约1.1MHz,其复位间隔为32768个时钟周期,所以P1.0口的芯片频率=1.1MHz/32768≈33.569Hz。

代码分析:

78行,程序运行到这来之后进入低功耗模式LPM4,所有时钟均停止,振荡器被禁止。但DCO除外,因为禁用DCO是有条件的。

在本例中,DCOCLK被用作MCLK和SMCLK,所以不能被关闭。

程序运行到78行时,CPU停止运行,但是WDT依然由DCOCLK驱动着,每经过32768个DCOCLK周期就产生一个上电清零PUC,退出LPM4低功耗模式,CPU被唤醒,程序会调到main函数入口重新运行。所以每32768个DCOCLK周期,76~78行代码被执行一次,从而在P1.0口输出约33.6Hz的方波信号。

低功耗模式:

MSP430有5种运行模式,使用状态寄存器SR内的CPUOFF,OSCOFF,SCG0和SCG1位来配置低功耗模式0到4。

在程序中,进入低功耗模式的操作很简单,调用相应的宏定义即可。

本例中78行调用的是本征函数_BIS_SR();,更直观和简单的写法的调用上图中的宏。

如:_BIS_SR(LPM4_bits);

可以写成:LPM4;。

在实际应用中,经常会在进入低功耗模式时打开全局中断,以便中断能够唤醒CPU处理各种事件。所以经常用_BIS_SR(LPMx_bits+GIE);语句进入低功耗模式。当然也可以单独打开和关闭全局中断,分别使用_BIS_SR(GIE);和_BIC_SR(GIE);语句。

低功耗模式的退出

TI官方例程“msp430g2xx2_wdt_01.c”的代码如下。

其运行结果是,P1.0口输出频率约为16Hz的方波。

如果将程序内容改为

其运行结果是,P1.0口输出频率约为16Hz的方波,P1.6口输出频率约为78KHz的方波。

如果将87行的LPM0_EXIT;屏蔽掉,则P1.0口输出频率约为16Hz的方波,P1.6口无方波输出。这说明在本例中,如果在WDT中断函数中没有执行LPM0_EXIT;语句,则76~79行无法被执行,程序会在执行完75行的代码后进入LPM0模式。

在低功耗模式下,一个被启用的中断事件将MSP430从任一低功耗模式中唤醒。如果在中断服务函数中没有退出低功耗模式,即没有执行LPMx_EXIT;语句,则执行完中断服务函数后,CPU会重新进入低功耗模式。

看门狗定时器:

MSP430的看门狗定时器WDT有两种工作模式:看门狗模式和定时器模式。

WDT的计数器WDTCNT是一个16位的不能直接用软件访问递增计数器。WDTCNT 通过安全装置定时器+控制寄存器WDTCTL来控制WDTCNT和选择时间间隔。WDTCNT 可以来源于ACLK或SMCLK。用WDTSSEL位时钟源选择。

看门狗模式下,WDT的作用是在程序运行出现异常时复位CPU,保障系统安全。定时器模式下,WDT用于产生一个定时时间,也可以用于产生一个定时中断。

因为WDT的计数器WDTCNT不能直接用软件访问,这能选择几个定时时间。

例程“msp430g2xx2_wdt_07.c”代码如下。

73~81行,用于选择不同的定时间隔,产生PUC的频率不同,程序运行的结果是,在P1.0输出不同频率的方波。

例程“msp430g2xx2_wdt_01.c”代码如下。

71行,WDT_MDLY_32可以换成下面宏定义中的其他值,可以得到不同的WDT中断频率,程序运行的结果是,在P1.0输出不同频率的方波。

注意,注释中所标示的时间间隔是有前提条件,那就是SMCLK=1MHz,

ACLK=32768Hz。

72行,使能WDT中断。75行,使能全局中断,并进入LPM0模式。

“msp430g2xx2_wdt_07.c”和“msp430g2xx2_wdt_01.c”两个例程使用了WDT的不同模式,前者使用看门狗模式,后者使用的是定时器模式。每种模式只有8种时间间隔可以选择。

WDT相关的寄存器有三个,WDTCTL、IE1、IFG1,其各个位的功能定义请查看用户指南。应该注意的是,WDTCTL是一个16位寄存器,其高8位为操作密码。每次写入WDTCTL时,高8为必须写入0x5A,即操作密码,否则就会产生一个PUC。读WDTCTL 时,其高8位总是0x69。

作者:S.D.Lu

深圳

2014-3-26

S.D.Lu的MSP430入门学习笔记(6):

定时器TimerA(1)总述

定时器_A是具有3个捕捉/比较寄存器的16位定时器/计数器。定时器_A能支持多个捕捉/比较,PWM输出,和反相时序。定时器_A还有广泛的中断功能。中断可由计数器在溢出条件上产生也可以由每一个捕捉/比较寄存器产生。

定时器有四种运行模式,如表12-1所描述的:停止,增,连续,和增/减。运行模式由MCx位选择。

向上模式

如果定时器周期一定要和0FFFFh计数不同,那么就要用到向上模式了。定时器重复计数增加至比较寄存器TACCR0的值,该值定义了周期。当定时器的值等于TACCR0的值时,定时器重新从0开始计数。

当定时器计数到TACCR0的值时,TACCR0CCIFG中断标志被置位。当定时器从TACCR0计数到0时,TAIFG中断标志位被置位。图12-3显示了标志置位周期。CCIFG会比TAIFG提前一个定时器时钟周期置位。

连续模式

在连续模式中,定时器重复计数增加至0FFFFh并且从0重新开始,如图12-4所示。捕捉/比较寄存器TACCR0和其他的捕捉/比较寄存器一样以相同的方式工作。

当定时器从0FFFFh开始计数到0时,TAIFG中断标志被置位。图12-5显示了标志置

位周期。

连续模式可以用于产生独立的时间间隔和输出频率。当每个时间间隔完成时,就会产生一个中断。在中断服务程序中,下一个时间间隔被添加到TACCRx寄存器中。图12-6显示了两个独立的时间间隔t0和t1被添加到捕捉/比较寄存器。在该应用中,时间间隔被硬件控,而不是软件,对中断延迟无影响。使用所有的3个捕捉/比较寄存器可以产生高达3个独立的时间间隔或输出频率。

增加/减少模式

增加/减少模式是在定时器周期不同于0FFFFH计数,且需要产生一个对称的脉冲时使用的。定时器重复计数增加至比较寄存器TACCR0的值并且减少到0,如图12-7所示。周期是TACCR0中值的两倍。

在上数/下数模式中,TACCR0CCIFG中断标志和TAIFG中断标志在一个周期中只置位一次,由1/2定时器周期隔开。当定时器计数由TACCR0?1到TACCR0时,TACCR0CCIFG 中断标志被置位;而定时器完成计数从0001h下降到0000h时,TAIFG被置位。图12-8显示了标志置位周期。

软件破解入门教程

先教大家一些基础知识,学习破解其实是要和程序打交道的,汇编是破解程序的必备知识,但有可能部分朋友都没有学习过汇编语言,所以我就在这里叫大家一些简单实用的破解语句吧! ---------------------------------------------------------------------------------------------------------------- 语句:cmp a,b //cmp是比较的意思!在这里假如a=1,b=2 那么就是a与b比较大小. mov a,b //mov是赋值语句,把b的值赋给a. je/jz //就是相等就到指定位置(也叫跳转). jne/jnz //不相等就到指定位置. jmp //无条件跳转. jl/jb //若小于就跳. ja/jg //若大于就跳. jge //若大于等于就跳. 这里以一款LRC傻瓜编辑器为例,讲解一下软件的初步破解过程。大家只要认真看我的操作一定会!假如还是不明白的话提出难点帮你解决,还不行的话直接找我!有时间给你补节课!呵呵! 目标:LRC傻瓜编辑器杀杀杀~~~~~~~~~ 简介:本软件可以让你听完一首MP3歌曲,便可编辑完成一首LRC歌词。并且本软件自身还带有MP3音乐播放和LRC歌词播放功能,没注册的软件只能使用15天。 工具/原料 我们破解或给软件脱壳最常用的软件就是OD全名叫Ollydbg,界面如图: 它是一个功能很强大的工具,左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值. 右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色突出显示. cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态. 左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息. 右下角的是当前堆栈情况,还有注释啊. 步骤/方法 1. 我们要想破解一个软件就是修改它的代码,我们要想在这代码的海洋里找到我们破解关键的代码确实很棘 手,所以我们必须找到一定的线索,一便我们顺藤摸瓜的找到我们想要的东东,现在的关键问题就是什么

新手photoshop知识归纳总结 笔记一(初学者的宝典)

一、快捷键 全部快捷键 Ctl+鼠标左键移动选定区域 Ctl+A选择整体图片 Ctl+B 色彩平衡 Ctl+D 取消选择 Ctl+E 向下合并一个图层 Ctl+F 重复使用上一个滤镜 Ctl+J 复制图层 Ctl+L 色阶 Ctl+N 新建文件 Ctl+O 打开 Ctl+T 自由变换 Ctl+shfit+I 反选 Ctl+shfit+D 反选 Ctl+shfit+N 新建透明图层 Ctl+shfit+E 合并可见图层 Ctl+Shift+T 复制一个选区内容并变换选区 Ctl+U 色相/饱和度 Ctl+R 调出标尺 Ctl+I 反向 Ctl+“+”放大屏幕图像(等同于Ctl+空格,配合鼠标)Ctl+“-”缩小屏幕图像(等同于Alt+空格,配合鼠标)Ctl+【当前图层上翻一页 Ctl+】当前图层上翻一页 Ctl+Enter 将路径变为选区 Ctl+shift+Alt+B 调整为黑白模式 Alt+Delete 填充前景色 Ctl +Delete 填充背景色 Ctl+Alt+A羽化 Ctl+Alt+Z 多步返回 Ctl+Alt+W 关闭全部窗口 Ctl+shift+M 进入IR中编辑 Shift+E 向下合并一个图层 Shift+Tab 隐藏出工具栏外的所有调板 Ctl+1 红通道 Ctl+2 绿通道 Ctl+3 蓝通道 快捷键整理

选择:Ctl+A选择整体图片 Ctl+D 取消选择 Ctl+shfit+I 反选 Ctl+Alt+~ 选择高光区域 Ctl+Alt+0 显示照片的实际尺寸 Ctl+Alt+鼠标拖动复制当前层或选取内容 Ctl+shfit+ Alt+E 实现印盖命令 单键键整理 Home 定位图片左上角 End 定位图片右下角 Pg up/dn 将定位上翻和下翻 A路径选择 B 画笔 C 剪裁 D 默认前景和背景 E 画笔 F 窗口放大和缩小 G 油漆桶 H 抓手工具 I 取样点 J 橡皮擦 K 切片 L 套索 M 羽化 N 注释工具 O 加深或减淡 P 钢笔(caps lock 可以出现十字定位光标) Q 快速进入/退出模板 R 模糊和锐化 S 图章 T 文字 U 度量 V 移动 W 魔术棒 X 前景和背景互换 Y历史画笔 Z 放大或缩小 二、概念论述 图像的模式? 灰度模式:扔掉颜色信息的一种模式,是有损的。

MSP430单片机题目答案整理(大部分)

第一章 1. MCU(微控制器单元)与MPU(微处理器单元)的区别 MCU集成了片上外围器件,而MPU不带外围器件,是高度集成的通用结构的处理器。是去除了集成外设的MCU。 2. MSC430单片机的不同系列的差别 MSP430系列单片机具有超低功耗、处理能力强大、片内外设丰富、系统工作稳定、开发环境便捷等显着优势,和其他类型单片机相比具有更好的使用效果、更广泛的应用前景。 3. MSC430单片机主要特点 1.超低功耗 2. 强大的处理能力 3. 高性能模拟技术及丰富的片上外围模块 4. 系统工作稳定 5. 方便高效的开发环境 4. MSC430单片机选型依据 选择最容易实现设计目标且性能价格比高的机型。 在研制任务重,时间紧的情况下,首先选择熟悉的机型。 欲选的机型在市场上要有稳定充足的货源。 第二章 1. 从计算机存储器体系结构上看,MSP430单片机属于什么结构 冯·诺依曼结构,是一种程序存储器和数据存储器合并在一起的存储器体系结构。 2. RISC与CISC体系结构的主要特征是什么MSP430单片机属于哪种结构 CISC----是复杂指令系统计算机Complex Instruction Set Computer的缩写,MCS-51单片机属于CISC。具有8位数据总线、7种寻址模式,111条指令。 RISC----是精简指令系统计算机Reduced Instruction Set Computer的缩写,MSP430单片机属于RISC。具有16位数据总线、7种寻址模式,27条指令。 3. 对MSP430单片机的内存访问时,可以有哪几种方式读写字数据有什么具体要求 字,字节,常字。字访问地址必须是偶数地址单元。 4. MSP430单片机的中断向量表位于什么位置其中存放的是什么内容 中断向量表:存放中断向量的存储空间。430单片机中断向量表地址空间:32字节,映射到存储器空间的最高端区域 5. MSP430单片机的指令系统物理指令和仿真指令各有多少条。 27种物理指令-内核指令和24种仿真指令 6. MSP430单片机的指令系统有哪些寻址方式各举一例说明。 有7种寻址方式:寄存器寻址,变址寻址,符号寻址,绝对寻址, 间接寻址,间接增量寻址,立即数寻址 7. MSP430单片机的CPU中有多少个寄存器其中专用寄存器有哪几个 4个专用寄存器(R0、R1、R2、R3)和12个通用寄存器(R4~R15) R0:程序计数器(PC) R1:堆栈指针(SP)—总是指向当前栈顶 R2:状态寄存器(SR)只用到16位中的低9位 R2/R3:常数发生器(CG1/CG2) 8. 按要求写出指令或指令序列。 9. 写出给定指令或指令序列的执行结果。 10.汇编语言程序的分析与理解。

MSP430f5438初学者笔记

一、简介 1.1CPU: 16-bit RISC 除program-flow指令外所有指令都在寄存器和7种源操作数寻址方式及4种目的操作数合作下执行 16个寄存器,register-to-register指令执行时间是一个CPU时钟 R0 程序计数器寄存器20-bit R1 堆栈指针20-bit R2 状态寄存器16-bit R3 不变的产生器 R4~R15 通用寄存器 1.2指令集: 51指令3格式7中寻址方式附加指令 1.3操作模式 6个可软件设置的LOW-POWER模式一个中断事件可以唤醒5个模式中的任何一个,响应请求,并从中断程序中返回原模式 Mode ACTIVE DISABLED Active mode (AM) 所有时钟ACTIVE Low-power mode 0 (LPM0) ACLK SMCLK FLL CPU MCLK LPM1 ACLK SMCLK CPU FLL MCLK LPM2 DCO发生器ACLK CPU MCLK FLL DCOCLK LPM3 ACLK CPU MCLK FLL DCOCLK DC发生器LPM4 晶振关闭完整数据保留 LPM5 内部调节器关闭无数据保留通过RST和IO唤醒 1.4中断矢量 地址:FFFF~FF80H 1.5 SFR 处于最低地址空间可以进行字访问和字节访问 1.6存储 256K闪存空间64K程序存储器16KRAM 512BBSL程序装载器用于编程存储器串连接口 1.7外围 时钟:支持统一的时钟系统UCS包括: 32K手表晶振(XT1 低频模式) 内部低频振荡器VLO 内部平衡低频振荡器REFO 内部集成数字控制器DCO 高频晶振(XT1高频模式or XT2) FLL锁频环连同一个数字调节器使得DCO构成一个多倍可编程的手表晶振 时钟信号:ACLK 32K手表晶振、高频晶振、VLO、REFO、DCO MCLK CPU用,来源同ACLK

Linux基本反汇编结构与GDB入门

Linux下的汇编与Windows汇编最大的不同就是第一个操作数是原操作数,第二个是目的操作数,而Windows下却是相反。 1、基本操作指令 简单的操作数类型说明,一般有三种, (1)立即数操作数,也就是常数值。立即数的书写方式是“$”后面跟一个整数,比如$0x1F,这个会在后面的具体分析中见到很多。 (2)寄存器操作数,它表示某个寄存器的内容,用符号Ea来表示任意寄存器a,用引用R[Ea]来表示它的值,这是将寄存器集合看成一个数组R,用寄存器表示符作为索引。 (3)操作数是存储器引用,它会根据计算出来的地址(通常称为有效地址)访问某个存储器位置。用符号Mb[Addr]表示对存储在存储器中从地址Addr开始的b字节值的引用。通常可以省略下标b。 图1表示有多种不同的寻址模式,一个立即数偏移Imm,一个基址寄存器Eb,一个变址或索引寄存器Ei和一个伸缩因子s。有效地址被计算为Imm+R[Eb]+R[Ei]*s,对于这中寻址方式,我们可以在数组或者结构体中进行对元

注:操作数可以是立即数值、寄存器值或是来自存储器的值,伸缩因子必须是1、2、4、或者是8。从上面的图我们就可以大致了解操作数的类型了。 在操作指令中,最频繁使用的指令是执行数据传送的指令。对于传送指令的两个操作数不能都指向存储器位置(我的理解是一般存储器存储的都是地址,不能够对地址和地址进行操作)。将一个值从一个存储器位置拷到另一个存储器位置需要两条指令——第一条指令将源值加载到寄存器中,第二条将该寄存器值写入到目的位置。下面给出源操作数和目的操作数的五种可能组合。 1、movl $0x4050, %eax 立即数——寄存器 2、movl %ebp, %esp 寄存器——寄存器 3、movl (%edi, %ecx), %eax 存储器——寄存器 4、movl $-17, (%esp) 立即数——存储器 5、movl %eax, -12(%ebp) 寄存器——存储器 注意这里的指令mov可能有不同的形式,不同平台的汇编一般是有些不一样的, 结合例子来进行讲解一下指令的具体操作,在这里将会正式接触到Linux下的GCC开发环境和GDB调试器,不过都是比较简单的应用。我的Linux操作系统是Ubuntu9.10,其它版本的差别应该不大, 如果我们要编写一个程序,我们可以用Linux下自带的vi或vim编辑器,studyrush@studyrush-desktop:~/C$ vi exchange.c vi 后面加我们要创建的程序文件的名字,在这里是exchange.c studyrush@studyrush-desktop:~/C$ gcc -o exchange exchange.c gcc -o exchange exchange.c 或gcc exchange –o exchange这两者都可以对源文件进行编译,-o exchange 表示对我们要输出的文件名称,可能表达的不够准确,大家可以先熟悉一下gcc编译器,应该就会明白的了。 studyrush@studyrush-desktop:~/C$ ./exchange 点加斜线再加输出文件名就表示运行程序,下面是运行的结果。 a = 3, b = 4

photoshop学习笔记

photoshop学习笔记

Photoshop学习笔记 这篇笔记的内容是对Photoshop这款软件操作知识的学习整理。目的是使自己系统的掌握Photoshop软件使用,提升软件操作能力。 这篇笔记的内容分为三个部分,即概括介绍部分、软件基础学习部分、软件归纳学习部分。 “概括介绍”部分,概括说明Photoshop软件功能,同时介绍本篇笔记的内容结构,及说明学习软件的方法。 “软件基础学习”部分,系统的、详细的介绍软件的各个功能。 “软件归纳学习”部分,在对有一个基本了解后,根据软件的使用流程,将软件的各个功能分门别类,使用概括归纳的方法学习软件,加深对软件的记忆。 第一部分概括介绍 Photoshop,简称“PS”。是一个由Adobe Systems开发和发行的图像处理软件,

Photoshop主要处理以像素所构成的数字图像。不能直接编辑非位图文件,但是可将非位图文件导入到Photoshop软件内,转换为位图文件后再进行编辑修改。是同类产品中的佼佼者。 我们可以将“ps”软件理解为一个工具,通过这个工具可以得到我们想要的图片文件,拿着这个图片文件就可以制作印刷品或是上传到网络了。 既然是工具,那就会有一个使用方法,这里将这样概括软件的使用流程。 第一步是开启软件,开启软件后还要在软件里建立一个工作区,利用这款软件的众多功能,在工作区里绘制图形。工作区就像是画布,我们在软件这间画室里可以铺开若干张画布。第二步就是在这张画布上绘画了。第三步就是将这张画布保存起来,或是日后继续画,或是拿去制作印刷品、上传网络。 这样概括软件的使用流程看起来很简单,但是很有用,根据这个“流程”,我们可以将“ps”软件众多的、复杂的功能归纳为简单的几种类型。这也是这篇笔记里使用的学习方法,即将

IAR for msp430 学习笔记

IAR for MSP430软件安装使用详解 1、下载安装包,注册机 2、运行安装包,进入安装页面,一直Next,直到出现提示输入注册码的页面; 3、若是Win7系统,以管理员身份运行注册机,选择For MSP430 v5.50 然后Get ID

4、将License number粘贴至安装程序的License#一栏,;

5、将注册机中的License key 粘贴至 Next 6、选择安装全部功能;

7、选择安装路径; 8、等待软件自动安装完成,点击Finish 完成安装; 附录A 关于驱动的安装 下载的IAR for MSP430 软件自带的有针对各种操作系统的驱动程序,都存在安装文件中,只需要找到和自己使用操作系统对应的驱动进行安装就行了。 以本机为例,为Win7 64位操作系统,进入软件安装目录 选择图中阴影文件夹,打开看到驱动程序,双击运行即可自动安装。

附录B 从下面几个方面介绍EW430 的基本使用: 一、创建一个工程,并在工程目录下创建C 语言项目 二、设置项目属性 三、编写源程序 四、编译和连接程序 五、下载程序到目标MCU 中 六、运行程序 一、第一次使用EW430时按如下步骤创建工程。 1.在E盘创建工程文件夹(不要用中文); 2.启动IAR Embedded Workbench; 3.创建一个C语言项目; 1>点击菜单栏中Project/Create New Project,创建一个新的项目

2>在弹出的对话框中选择C语言环境,点击前面的+号,选择main,如图; 3>在出现的“另存为”对话框中找到之前在E盘建立的工程文件夹;在其目录下新建一个项目文件夹Day00;双击进入项目文件夹Day00,将新建的项目命名为Day00.ewp保存;如图 4>进入到IAR 提供的集成工作环境下,其中编辑界面下出现的程序main.c 是EW430 提供的C 语言程序模板;

如何学习并使用MSP430单片机(入门)

如何学习MSP430单片机 如何学习MSP430单片机 。 下面以MSP430系列单片机为例,解释一下学习单片机的过程。 (1)获取资料 购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。 (2)购买仿真器FET和实验电路板 如果经济条件不错,可以直接购买。 (3)自制仿真器FET和实验电路板 自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。 自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。自制实验电路板与自制FET 一样,首先画电路图,然后买元件,再画电路板。由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:

汇编语言入门教程

汇编语言入门教程 2007-04-29 22:04对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃。所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK 出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……)。但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程。大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解) 因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提) CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片。一种汇编语言只能用于特定的CPU。也就是说,不同的CPU其汇编语言的指令语法亦不相同。个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳。本文所提均为8086汇编语言。寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计数寄存器,常用于计数;DH&DL=DX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。除了前面所提的寄存器外,还有一些特殊功能的寄存器:IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS 段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。还有一个标志寄存器FR(Flag Register),有九个有意义的标志,将在下文用到时详细说明。

敬伟PS学习笔记

制作文化衫 填充前景色的快捷键Alt+Delete 填充背景色的快捷键Ctrl+Delete 蚂蚁线内的区域叫做选区按住shift键画椭圆时画出的是正圆 做填充时候也要新建一个图层 简单的合成(抠图换背景) 快速选择工具 放大Ctrl+ 缩小Ctrl- 平移空格键 撤销上一步Ctrl+Alt+z 返撤销上一步shift+Alt+z 先用较小的比例来画,放大了处理一些边缘。 快捷键Alt键可以快速的将添加模式切换为减去模式 调整优化选区调整边缘平滑7 羽化2 对比度12 移动边缘-24 输出到新建图层 调整图片的大小编辑自由变换按住shift来调整图片的大小不会使比例走形 换脸 在图层蒙版里面白色代表显示,黑色代表消失在蒙版里面也可以选定一个区域填充白色或

黑色让它显示或消失编辑》自由变换》可以改变图片的大小与方向把不透明度调低一点来调整图片的大小与角度 擦脸的时候画笔硬度0要选择比较软的画笔 色 RGB颜色模式(红绿蓝) 夏天变秋天图像》调整》色相|饱和度把绿色的色相变为黄色 画优酷图标 描边是从边缘向里面延伸的宽度 画有颜色的三角形圆形矩形用形状工具 居中的时候把所有的全选然后点击两个居中 画圆环的时候用描边工具画实心圆的时候用填充工具 复制:拖拽这个图层到新建图层的图标上 W和H之间的图标是用来锁定长宽比例的 高光+蒙版+黑白渐变工具做出立体的感觉 黑白渐变:从黑到白的渐变就是一个从遮挡到不遮挡的一个过程

渐变工具+shift键可以画一个垂直方向的渐变 画两个同心圆环(小圆环在大圆环里面)的方法:1画出第一个再复制它2改变大小再做两个对齐3改变描边的大小 海报 网页的头图大海报,950x480像素 做彩带的步骤:先缩小文档再用椭圆工具填充,再移动椭圆,按delete键删除重合的那一部分,可以使用自由变换工具调整一下彩带。按住Alt键再复制一条,然后使用填充改变一下他的颜色。填充的时候按一下锁定后面的第一个按钮,就可以只填充这个蓝色条,否则就整块屏幕都被填充了。 使用蒙版填充遮挡较大的区域时可以用椭圆选框工具填充黑色,这样比较快。 扣水杯(绿色的杯子如何变透明)

MSP430G2553学习笔记(数据手册)

MSP430G2553学习笔记(数据手册)

MSP430G2553性能参数(DIP-20) 工作电压范围:1.8~3.6V。 5种低功耗模式。 16位的RISC结构,62.5ns指令周期。 超低功耗: 运行模式-230μA; 待机模式-0.5μA; 关闭模式-0.1μA; 可以在不到1μs的时间里超快速地从待机模式唤醒。 基本时钟模块配置: 具有四种校准频率并高达16MHz的内部频率; 内部超低功耗LF振荡器; 32.768KHz晶体; 外部数字时钟源。 两个16 位Timer_A,分别具有三个捕获/比较寄存器。 用于模拟信号比较功能或者斜率模数(A/D)转换的片载比较器。 带内部基准、采样与保持以及自动扫描功能的10位200-ksps 模数(A/D)转换器。 16KB闪存,512B的RAM。 16个I/O口。

注意:MSP430G2553无P3口!

MSP430G2553的时钟 基本时钟系统的寄存器 DCOCTL-DCO控制寄存器 DCOx DCO频率选择控制1 MODx DCO频率校正选择,通常令MODx=0

注意:在MSP430G2553上电复位后,默认RSEL=7,DCO=3,通过数据手册查得DCO频率大概在0.8~1.5MHz之间。 BCSCTL1-基本时钟控制寄存器1 XT2OFF 不用管,因为MSP430G2553内部没有XT2提供的HF时钟 XTS 不用管,默认复位后的0值即可 DIV Ax 设置ACLK的分频数 00 /1 01 /2 10 /4 11 /8 RSELx DCO频率选择控制2 BCSCTL2-基本时钟控制寄存器2

OllyDBG完美教程

关键词:OD、OllyDBG、破解入门、调试专用工具、反汇编 一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助: 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签寄存器 (FPU) 可以切换显示寄存器的方式。 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。 堆栈窗口:显示当前线程的堆栈。 要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。 启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签: 因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个 UDD 目录

ps课堂笔记总结

一、Photoshop 1、由美国Adobe公司生产的专业图像处理及图像合成软件 二、基本术语 1、图像与图形 -图像:由像素点组成 分辨率:表示像素的密度 (网页,显示器)72像素/英寸,300像素/英寸(平面设计、打印)-图形:由数学公式表示的线条 特点:放大后清楚 矢量图制作软件:illustrator 2、颜色模式 -一种模式对应一种媒介 -HSB:基于人眼 H:表示色向 S:表示饱和度 B:表示明暗度 -RGB:基于显示器、发光体 R:红、G:绿、B:蓝 三原色分别有0~255种级别的强弱 红=绿=蓝0 黑255 白其它不同级别的灰 255最大级的情况下:红+绿=?红+蓝=?绿+蓝=?

-CMYK:基于油墨 洋红、黄、青三种油墨K表示黑色 三、启动软件 四、界面介绍 1、标题栏 2、工具栏(放置常用工具) 3、属性栏(不同工具属性不同) 4、工作区 缩放:Ctrl+加号/减号 抓手:空格+拖动鼠标(移动视图) 5、浮动面板 窗口/工作区/……还原默认工作区 6、常用快捷键 -Tab:显示及隐藏工具栏和浮动面板 -F:全屏切换 五、选区、图层、蒙板?** 1、选区:选框以内,注:所有操作均在选区内实现 2、图层:上下层叠关系的透明纸张 注:有在新层中作图的好习惯 3、蒙板:选区以外为蒙板 ——————————————————————————————————一、文件命令 1、新建

设置对应的纸张大小、颜色模式等 2、打开 直接将文件拖入窗口中即可打开 双击界面空白处选择文件进行打开 3、保存文件 常见格式: PSD:PS源文件,默认格式,信息全,方便于备份 Jpg:通用有损压缩格式 Tif:质量好,信息全,适用于要求高的作品 Png:质量好,支持透明 二、选区的创建* 技巧: 配合Shift定比例、配合Alt定中心、配合空格固化1、规则类 -矩形、椭圆形、单行、单列 拖动即可创建 2、不规则类 -套索工具组 *套索工具:拖动鼠标任意绘制选区 *多边形套索工具:单击定点连直线、双击首尾迸连 Detele:删除最近点、ESC:取消所有 注:配合缩放和抓手工具进行抠图

PHOTOSHOP完美笔记(珍藏版、宝典)

PHOTOSHOP笔记 枫月雅著 一、概述: 1、名称及产品商:(计算机软件名称不允许被汉化) Photoshop 5.0 1996年在美国推出(比较成熟的一个版本) Photoshop 7.0 目前在西安普遍使用的一个版本 2、作用:原创(杜绝手写板,杜绝“画”)、处理、合成 3、原理:多层渲染 4、内容:造型、色彩、调子(明暗)、质感、主题、空间、氛围、版式。 补充:空间指:高度、深度、味觉、时间、宽度、心理、视觉、听力。枫月雅 图的不完整性具备心理空间。 位图是点阵图的一种。 5、性质:点阵图 6、特点:大(PSD格式)可润色软件(润色:一种色调向另一种色调柔和过渡) 二、系统优化: 课外知识补充:a、查看属性(热键):Alt + 双击 b、判断PHOTOSHOP是不是好版本,一个很重要的方法:文件—最近打开文件(R)注意:如果没有后缀“(R)”,表示版本不太好。 c、通道:总量是24个通道,复合通道除外。注意:要在PHOTOSHOP7.0中 一般分为:复合通道(例:CMYK通道、RGB通道) 分色通道(例:R通道、G通道、B通道)枫月雅 专色通道 Alpha通道 d、苹果电脑简称:MAC 一般电脑简称:PC e、选区大小(在图层中任意选择的选区的大小):热键:F8 f、缺省状态:就是指默认状态 1、物理内存的更改:热键:CTRL+K – CTRL+8 更改物理内存用量。注意:更改物理内存使量后,必须重启后,命令才能生枫月雅效。这次更改是在编辑下的预设菜单里。 2、虚拟内存(暂存盘)的更改:热键:CTRL+K – CTRL+7 更改虚拟内存用量。注意:更改虚拟内存使量后,必须重启后,命令才能生效。这次更改是在编辑下的预设菜单里。 3、剪贴版清理:步骤:编辑–清理–历史记录注意:剪贴版占用的是物理内存

单片机学习日志

msp430学习笔记 默认分类2009-10-06 16:18:36 阅读5 评论0 字号:大中小 这只是我在学习TI公司生产的16位超的功耗单片机MSP430的随笔,希望能对其他朋友有所借鉴,不对 之处还请多指教。 下面,开始430之旅。 讲解430的书现在也有很多了,不过大多数都是详细说明底层硬件结构的,看了不免有些空洞和枯燥,我认为了解一个MCU的操作首先要对其基础特性有所了解,然后再仔细研究各模块的功能。 1.首先你要知道msp430的存储器结构。典型微处理器的结构有两种:冯。诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;msp430系列单片机属于前者,而常用的 mcs51系列属于后者。 0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储 剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x1100 2.复位信号是MCU工作的起点,430的复位型号有两种:上电复位信号POR和上电清楚信号PUC。POR 信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误是产生。但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。复位后的状态不写 了,详见参考书,嘿嘿。 3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ -8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。 430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只 能由LFXT1产生,供外围模块。 4.中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430可以在没有任务时进入低功耗状 态,有事件时中断唤醒cpu,处理完毕再次进入低功耗状态。 整个中断的响应过程是这样的,当有中断请求时,如果cpu处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的pc值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位; 然后系统总中断允许位SR.GIE复位,相应的中断向量值装入pc,程序从这个地址继续执行。 这里要注意,中断允许位SR.GIE和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级

OllyICE反汇编教程及汇编命令详解

OllyICE反汇编教程及汇编命令详解[转] 2009-02-11 08:09 OllyICE反汇编教程及汇编命令详解 内容目录 计算机寄存器分类简介 计算机寄存器常用指令 一、常用指令 二、算术运算指令 三、逻辑运算指令 四、串指令 五、程序跳转指令 ------------------------------------------ 计算机寄存器分类简介: 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。 对低16位数据的存取,不会影响高16位的数据。 这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。 程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。 寄存器EAX通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。可用于乘、除、输入/输出等操作,使用频率很高; 寄存器EBX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 寄存器ECX称为计数寄存器(Count Register)。 在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数; 寄存器EDX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。 在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果, 而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。 2、变址寄存器 32位CPU有2个32位通用寄存器ESI和EDI。 其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,

PS经典教程 oeasy教你玩转ps笔记

感谢https://www.sodocs.net/doc/1912543068.html,/shamuobaiyang/blog_151429685.html整理 Oeasy ps 教程1开场白 PS的应用 --------------------------------------- oeasy PS视频教程02 分辨率 新建:打开软件,文件-新建。 分辨率:什么叫分辨率呀?在图像里面有,图像大小,单击。新建可以设置,中途同样可以改, 像素大小,:宽度高度。是显示器对应的。 文档大小:是打印,印刷出来的大小。单位厘米。 分辨率:每个英寸里面有多少个像素。 多少合适:打印照片:PPI:300;网页:72ppi ; 扫描底片,上千。根据不同需求确定ppi大小。

视图里边有一个像素长宽比,可以设置。自定义长宽比,因子是6,变的很款。因子是0.6,图像变的很高。 矢量图形,位图图像。 图像文件的格式:文件-存储为,下拉里面有格式。 怎样才能把图像压的很低,又拉的很大不变形:图层-双击,确定。变成一个普通图型。--在图层里面 -智能对象,就变成了类似矢量图行的。取消————图层-智能对象-删格式化。 智能对象缩放不变形,;普通图层时,可以使用滤镜笔刷等效果。------------------------------------------- oeasy PS视频教程03----查看各种颜 色(人眼的模型)Shi --就是色彩模式,是新建时本质的东西。 颜色:一、H 什么颜色 -色相、色调 -。二、S饱和度、鲜艳不鲜艳。三、I亮度、深浅。(SHI颜色模式)。 可见光-这边是红的-超过了就是红外线。那边是紫的,超过了,就是紫外线。 *色相的改变

S.D.Lu的MSP430入门学习笔记(4):时钟选择(2)VLO、LFXT1和XT2

S.D.Lu的MSP430入门学习笔记(4): 时钟选择(2)VLO、LFXT1和XT2 MSP430最多可提供4种时钟源:DCO、VLO、LFXT1和XT2,有些器件不包含XT2或LFXT1。 VLO是一个内部超低功耗、低频率振荡器,上图中的时钟源1,其频率为12KHz。其使用方法请参考TI官方例程“msp430g2xx2_1_vlo.c”,在此不作赘述。 LFXT1是外部时钟源,它有LF和HF两种模式,分别支持外部低频和高频时钟。 XT2是外部高频时钟源,支持0.4~16MHz高频时钟。 (注:G2xx2系列没有XT2,G2xx2系列LFXT1不支持HF模式。) MSP430的主时钟、子时钟和辅助时钟,可以分别通过相应的寄存器控制位选择4种时钟源中的一种作为其来源。之后还可以通过分频器分频,得到想要的时钟频率。 主时钟是CPU运行的时钟源,子时钟和辅助时钟是各个片内外设的时钟源。在MSP430系统中,有时为了降低功耗会关闭CPU和一些外设,同时要求一些外设继续工作。

和时钟模块相关的寄存器只有6个,时钟配置的过程就是设置这些寄存器。具体各寄存器的各个位的功能请查看《MSP430x2xx系列用户指南》(中文版)第五章。 时钟的切换 一次PUC之后,基本时钟模块将DCOCLK用于MCLK。如果需要将MCLK时钟源改为LFXT1或XT2。 把MCLK的源从DCO时钟转换成晶振时钟(LFXT1CLK 或XT2CLK)的顺序是: 1. 打开晶体振荡器并选择合适的模式 2. 清零OFIFG标志 3. 等待至少50uS 4. 测试OFIFG,并重复2至4的步骤,直到OFIFG保持被清零。 作者:S.D.Lu 深圳 2014-3-25

OllyDbg入门完全教程(完美排版)

OllyDbg完全教程 目录 第一章概述 (1) 第二章组件 (5) 一、一般原理[General prnciples] (5) 二、反汇编器[Disassembler] (8) 三、分析器[Analysis] (9) 四、Object扫描器[Object scanner] (12) 五、Implib扫描器[Implib scanner] (12) 第三章 OllyDbg的使用 (13) 一、如何开始调试[How to start debugging session] (13) 二、CPU 窗口[CPU window] (14) 三、断点[Breakpoints] (14) 四、数据窗口[Dump] (15) 五、可执行模块窗口[Executable modules window] (16) 六、内存映射窗口[Memory map window] (17) 七、监视与监察器[Watches and inspectors] (19) 八、线程[Threads] (19) 九、调用栈[Call stack] (20) 十、调用树[Call tree] (21) 十一、选项[Options] (21) 十二、搜索[Search] (22) 十三、自解压文件[Self—extracting (SFX) files] (22) 十四、单步执行与自动执行[Step—by—step execution and animation] (23) 十五、Hit跟踪[Hit trace] (23) 十六、Run 跟踪[Run trace] (24) 十七、快捷键 (26) 十八、插件[Plugins] (29) 十九、技巧提示[Tips and tricks] (29) 第四章其他功能 (30) 一、调试独立的DLL[Debugging of stand—alone DLLs] (30) 二、解码提示[Decoding hints] (32) 三、表达式赋值[Evaluation of expressions] (32) 四、自定义函数描述[Custom function descriptions] (34)

相关主题