MSP430单片机入门基础例程1
MSP430单片机入门基础例程1
作者:DC 微控技术论坛原创 MSP430单片机入门基础例程
若想了解MSP430单片机常用模块应用原理,请下载<
由于IO应用原理比较简单,所以我主要以MC430F14开发板的实例来讲解。新手用户可以
参与其应用思路。
计划推出几个有价值的参考例程:
[1]直接IO按键检测处理程序(非低功耗方式)
[2]IO口中断演示程序
[3]利用IO中断方式实现按键检测程序(低功耗方式)
实验制作如下图,新手用户轻松地在MC430F14开发板上实现。
例程[1]:
//MSP430F14-直接IO口按键检处理程序
/******************************************************************* ******/
//以下是结合MC430F14开发板来实现的按键检处理程序实验.
//分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转.
//例程中,按键采用不断查询方式,以得到键值.并没有使用到低功耗.此程序结构比较适合 //用在非手持设备或非电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改. //应用目标板:https://www.360docs.net/doc/9d4031788.html, MC430F14开发板/******************************************************************* ******/
#include
//初级用户要习惯采用宏定义,以方便的编写和修改
#define keyio 0xf8 //定义按键IO口,Px0-Px2 IO口.
#define key_1 0xfe //定义返回键值1
#define key_2 0xfd //定义返回键值2
#define key_3 0xfb //定义返回键值3
//声明子程序
unsigned char key_chcek(void); void display_update(unsigned char dta); void key_process_0(void);
void key_process_1(void);
void key_process_2(void);
//****************************************************************** *******
//将单片机初始化程序放在main()前面是方便查看单片机的初始化状态情况. void MCU_int(void)
{//默认MCLK主时钟频率为DCO=~800K
P1OUT |= BIT1; //设置LED,上电为灭.电路可以查看MC430F14电路图.
P1DIR |= BIT1; //P1.1设置为输出.
//MSP430单片机IO口上电默认方向为输入,所以接按键的IO无需再设为输入. }
//****************************************************************** *******
void main (void)
{ unsigned char key_value; //定义键值全局变是
WDTCTL = WDTPW + WDTHOLD; //关狗
MCU_int(); //初始化单片机
while(1) //主程序主循环
{
key_value=key_chcek(); //检测,有键按下并松开,返回一个键值.
switch (key_value) //对键值进行处理.采switch语法结构查询
{
case key_1: key_process_0(); //调用键处理程序1
break;
case key_2: key_process_1(); //调用键处理程序2
break;
case key_3: key_process_2(); //调用键处理程序2
break;
default: ; //调用键处理程序4
break;
}
display_update(key_value); //如果有需要可以在这里加上显示更新程序.
key_value=0x00; //最后清除键值.将继续主循环.
}
}
//****************************************************************** *******
//按键检测程序
//返回值: 无符号字符型键值
unsigned char key_chcek(void) {
unsigned int i;
unsigned char timp,active;
active=0;
while(!active)
{
while(0xff ==( P2IN | keyio)); //一直等待有键按下
timp = P2IN | 0xf8; //若有键接下了,则读入IO状态.
for(i=0;i<7000;i++); //延时,是为了去按键抖动.
if (timp ==(P2IN | 0xf8)) //经延时后,还是那键吗?
{ active = 1; //是,则按键有效.
while(0xff !=( P2IN | keyio)); //一直等待按键松开
}
else
{ //去按键抖动后读入的键值与之前不同.则先效.
active = 0; //再循环检测.
}
}
return timp; //返回一个键值. }
//****************************************************************** *******
void key_process_0(void) //值处理,用户可以自己修改... {
P1OUT ^= BIT1;
}
//****************************************************************** *******
void key_process_1(void) //值处理,用户可以自己修改...
{
P1OUT ^= BIT1;
}
//****************************************************************** ******* void key_process_2(void) //值处理,用户可以自己修改...
{
P1OUT ^= BIT1;
}
//****************************************************************** ******* void display_update(unsigned char dta)
{
; //用户可以根据需要来放置显示程序,如LCD,LED,Digital-LED....
//灵活应用,
}
//****************************************************************** *******
例程[2]:
//MSP430F14-IO口中断演示程序
/******************************************************************* ******/ //以下是结合MC430F14开发板来实现的按键检处理程序实验.
//设置P2.0为中断口,通过对IO的下边沿触发,使其中断,并将板上的D2 LED 取反.
//应用目标板:https://www.360docs.net/doc/9d4031788.html, MC430F14开发板
/******************************************************************* ******/ #include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗
P1DIR |= BIT1; // 设P1.1为输出
P2IE |= BIT0; // P2.0中断使能
P2IES |= BIT0; // P2.0 IO口边沿中断触发模式,下边沿有效
P2IFG &= ~BIT0; // P2.0 清IO中断标志位
_EINT(); //开总中断允许
LPM4; //进入低功耗模式4,此时单片机功耗最低. }
//****************************************************************** *******
// P2口中断服务程序
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
P1OUT ^= BIT1; // P1.1取反
P2IFG &= ~0x01; // P2.0清除相应中断标志位 }
//****************************************************************** *******
//使IO中断时新手们要了解以下几点:
//1- MSP430的IO中,只有P1,P2才有IO中断功能.
//2- P1,P2每组IO是多源中断源,P1IG0-P1IG7或P2IG0-P2IG7是共一个中断源的,用户可以
//通过查房方式来得到是那个IO产生了中断.
//3- 改变P1IES或P2IES中的位可能会引起相应中断标志位置位,与引脚电平有关. // PxIES.x PxIN.x PxIFG.x // 0->1 0 不变
// 0->1 1 可能置位
// 1->0 0 可能置位
// 1->0 1 不变
//所以,改变P1IES或P2IES后,根据需要清除相关的PxIG.x位.
//4- PxIFG.x所有中断标志位在置位后是需要人为清除的.硬件不会自动清除
该标位.
DC,2007-01-27 02:47:12
例程[3]:
//MSP430F14-利用IO中断方式实现按键检测程序
/******************************************************************* ******/
//以下是结合MC430F14开发板来实现的按键检处理程序实验.
//分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使
板上的LED反转.
//例程中,单片机一直处于最低功耗状态,用户可以通过按下按键后唤醒单片机.单片机唤醒 //后再进行去抖动动作.同时执行键处理程序.处理完后再次进入LPM4低功耗模式. //在本程序中用户可以灵活地修改程序来实现你相关的功能.
//本程序适用在手持设备或电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改.
//应用目标板:https://www.360docs.net/doc/9d4031788.html, MC430F14开发板
/******************************************************************* ******/
#include
#define key1 0x01
#define key2 0x02
#define key3 0x04
#define delay_small 200
#define key_1 0xfe //定义返回键值1
#define key_2 0xfd //定义返回键值2
#define key_3 0xfb //定义返回键值3
void key_process_0(void);
void key_process_1(void);
void key_process_2(void);
void key_check (void);
unsigned char key_value; //定义键值全局变是
//****************************************************************** *******
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗
P1OUT |= BIT1; //关LED
P1DIR |= BIT1; // 设置P1.1为输出
//以下设置是采用不同的编写方式,新手可以参考使用
P2IE |= BIT0+BIT1+BIT2; // P2.0-P2.2 IO口中断使能
P2IES |= 0x07; // P2.0-P2.2 IO口边沿触发中断方式设置
P2IFG &= ~(key1+key2+key3); // P2.0-P2.2 IO口中断标志位清除_EINT(); //中断允许
// 或直接写成 _BIS_SR(LPM4_bits + GIE);
LPM4; // 进入低功耗LPM4,此时单片机功耗最低
while(1)
{
P2IE &= ~(BIT0+BIT1+BIT2); // P2.0-P2.2 IO口关闭中断允许
P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除
key_check ();
switch (key_value) //对键值进行处理.采switch语法结构查询{
case key_1: key_process_0(); //调用键处理程序1
break;
case key_2: key_process_1(); //调用键处理程序2
break;
case key_3: key_process_2(); //调用键处理程序2
break;
default: break;
}
key_value=0x00; //键值清除
P2IE |= BIT0+BIT1+BIT2; // P2.0-P2.2 IO口中断使能
P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除
LPM4;
}
}
//****************************************************************** *******
//P2中断服务程序
#pragma vector=PORT2_VECTOR __interrupt void Port_2(void) {
switch (P2IFG)
{
case 0x01: key_value=0xfe;
break;
case 0x02: key_value=0xfd;
break;
case 0x04: key_value=0xfb;
break;
default: P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除
break;
}
P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除
LPM4_EXIT;
}
//****************************************************************** *******
void key_process_0(void) //值处理,用户可以自己修改... {
P1OUT ^= BIT1;
}
//****************************************************************** *******
void key_process_1(void) //值处理,用户可以自己修改... {
P1OUT ^= BIT1;
}
//****************************************************************** *******
void key_process_2(void) //值处理,用户可以自己修改...
{
P1OUT ^= BIT1;
}
//****************************************************************** ********
void key_check (void)
{ unsigned int i;
for(i=0;i if(0xff !=(P2IN & 0xf8)) //是否有键存在? { while(0xff !=( P2IN | 0xf8)); //一直等待按键松开 } else key_value = 0x00; //延时去抖动无键按下,则清除键变量. } //****************************************************************** ******** //如果在按键电路中加RC滤波电路,实现按键去抖动的效果会更显著此. DC,2007-01-30 00:37:31 已更新! jdgxcu,2007-02-04 22:03:10 顶,对初学很实用,不知怎么加入RC去抖 DC,2007-02-04 22:39:45 按键与IO之间加一个RC电路:IO口与按键之前加一个电阻,在IO口那端并一 个电容下地。 RC具体是多大我还没试,有兴趣的网友可以自己试试或参考一下一 些其它资料。 mdz_hit,2007-02-10 15:45:19 ;ID=9030 mdz_hit,2007-02-10 15:46:08 P2IE &= ~(BIT0+BIT1+BIT2); // P2.0-P2.2 IO口关闭中断允许 P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除为什么要把中断关掉,,, 多谢回复 我是新手! DC,2007-02-10 15:52:21 如果按键执行功能服务程序时还没处理完,又再次发生中断怎么办。所以要将IO中断暂时 关闭。待处理完功能服务程序后再次才允许。 mdz_hit,2007-02-10 16:52:11 嗯 谢谢阿DC~~ 以后还有很多问题请教多多帮助~ mdz_hit,2007-02-12 09:35:31 请问执行完LPM4后 while(1)程序还会跑么, 贝壳与海,2007-02-12 13:08:10 非常使用的程序例子。谢谢~ 58544378,2007-03-09 15:25:54 顶起正在被迷惑 第一个例程:while(0xff ==( P2IN | keyio)); //一直等待有键按下为什么满足该判断条件时可以确定有按键安下呢, mengzhu,2008-01-25 10:42:31 if(0xff !=(P2IN & 0xf8)) //是否有键存在? { while(0xff !=( P2IN | 0xf8)); //一直等待按键松开 } else key_value = 0x00; //延时去抖动无键按下,则清除键变量. } 我对这几句十分的费解,有人给指点一下吗,先谢了 cpworld,2008-01-25 15:54:20 if(0xff !=(P2IN & 0xf8)) -----当3个键都没有按下时,三个口都为高电平,当有任何一个键按下后,为低,P2IN与0xF8后不会等于0xFF。 while(0xff !=( P2IN | 0xf8)); ---- 同上,有任意键按下后执行此条语句,一直等待三个按键全部抬起为止。 mengzhu,2008-01-25 18:08:03 楼上的谢谢了, 我还有点疑问,要是三个按键全部抬起的话,第二条语句不是应该为 while(0xff ==( P2IN | 0xf8)); 才正确吗, 第一章 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.汇编语言程序的分析与理解。 第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。 3、当使用8751且EA=1,程序存储器地址小于1000H 时,访问的是片内ROM。 4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。 5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。 6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。 7、PSW中RS1 RS0=10时,R2的地址为 12H 。 8、PSW中RS1 RS0=11时,R2的地址为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。 10、PC复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。 12、PC的内容为将要执行的的指令地址。 13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。 14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。 15、若A中的内容为63H,那么,P标志位的值为 0 。 16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。这时当前的工作寄存器区是第 0 工作寄存器区。 17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。 18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区 和用户RAM区。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到 PC 。 20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS -51的PC是16位的,因此其寻址的范围为 64 KB。 21、MCS-51单片机片内RAM的寄存器共有 32 个单元,分为 4 组寄存器,每组 8 个单元,以R0~R7作为寄存器名称。 22、但单片机的型号为8031/8032时,其芯片引线EA一定要接低电平。 二、选择题: 1、当MCS-51复位时,下面说法正确的是( A )。 A、 PC=0000H B、 SP=00H C、 SBUF=00H D、 P0=00H 2、PSW=18H时,则当前工作寄存器是( D )。 A、 0组 B、 1组 C、 2组 D、 3组 3、MCS-51上电复位后,SP的内容应是( B )。 A、 00H B、 07H C、 60H D、 70H 4、当ALE信号有效时,表示( B )。 A、从ROM中读取数据 B、从P0口可靠地送出低8位地址 C、从P0口送出数据 D、从RAM中读取数据 5、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 何谓单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。天!PC中的CPU 一块就要卖几千块钱,这么多东西做在一起,还不得买个天价!再说这块芯片也得非常大了。不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。为什么会这样呢?功能有强弱,打个比方,市场上面有的组合音响一套才卖几百块钱,可是有的一台功放机就要卖好几千。另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。既然如此,单片机的功能肯定不强,干吗要学它呢?话不能这样说,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出来十多年,依然没有被淘汰,还在不断的发展中。2、MCS51单片机和8051、8031、89C51等的关系我们平常老是讲8051,又有什么8031,现在又有89C51,它们之间究竟是什么关系? MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国A TMEL公司开发生产的。一、单片机的外部结构拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。3、复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。4、EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。存储器的工作原理:1、存储器构造存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗到它的工作位置,就不能随便改写了。2、存储器译码那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到集成电路的外面不就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。我们有一种方法称这为译码,简单介绍一下:一根线可以代表2种状态,2根线可以代表4种状态,3根线可以代表几种,256种状态又需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就可以代表了。3、存储器的选片及总线的概念至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图4所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高 如何学习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系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下: 概述: 所谓单片机就是能在一个芯片上完成计算机处理功能的设备,在芯片的内部有计算单元、数据处理单元、程序存储以及常用的外部接口管理单元。在软件程序的管理控制下可实现设计者所需要的功能。 最初的单片机受芯片设计密度的限制,功能和性能不强,随着技术的发展,目前的单片机可实现大多数的常用接口功能,软件的存储空间也越来越大,处理能力大幅增加。 单片机常用功能: 普通端口功能:单片机都带有多个逻辑端口,可作为逻辑状态的输入输出使用,可用于控制或读取外部状态。 定时功能:单片机内部包含有定时器,通过对定时时钟进行计数来产生需要的延时,延时的长短可通过设置定时器的计数值来设置。 中断功能:单片机内部设定有多个中断入口,每当产生中断条件后,程序自动跳入到中断入口,通过中断入口的跳转指令转到中断处理程序,执行完后返回到产生中断跳转程序处的下一个指令地址。在单片机接口上,有专用的中断管脚,可设置为电平中断或边沿中断,当管脚出现条件时,设置对应的中断标志,触发相应中断。除了管脚中断,串口、定时、A/D等几乎都可产生中断。同时,中断的响应还需要设置对应的寄存器到要求的状态才可。 串口功能:串口相对于并口来说,数据是通过一个管脚送出或读入,数据长度一般为8位,按顺序移位送出。串口特点具有实用管脚少,应用方式灵活的特点,通过RS232电平转换可直接和计算机的串 口进行通讯。 A/D功能:可直接输入模拟信号,软件发出转换信号后,信号的幅值可通过转换变换为数值信号送对应的寄存器上。 D/A功能:可直接输出模拟信号,信号的幅值可通过D/A端口的设置数值来设定。 以上为常用功能,有些单片机还有SPI、USB、CAN等多种接口外部常用设备: 显示和输入:单片机的处理信息一般通过液晶屏或数码管来显示处理内容,液晶屏或数码管可直接连接到单片机管脚上,按照显示需求设置软件即可,输入多用按键输入,也可直接连接到单片机管脚上,软件通过监测管脚状态可获得按键信息。 串口应用:单片机串口信号一般为TTL电平,外部常用RS232或RS485,在应用中需要加对用的转换芯片或模块。 开发环境: 单片机储存的程序为二进制格式,把程序写入到单片机需要专用的设备,早期完成这个功能采用编程器来完成,编程器通过打印机口或串口以及USB口和计算机连接,单片机则通过可锁插座装入到编程器上,通过计算机上的软件选择好单片机型号,读入要下载的二进制软件,然后运行编程,则完成下载。目前,则是通过仿真器(下载线)来完成,一般是通过USB口连接计算机,计算机上下载功能和仿真功能集合到一起。通过编译软件把软件编译成二进制文件,然后直接下载即可。下载后的软件可通过仿真运行进行调试。 单片机基础知识点总结 单片机基础知识点总结 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令 并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊 的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序 和数据;输入输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和IO端口引脚具有复用功能;软件上,采用面向控制的 指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机 还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性 高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、IO口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。 4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统;输入输 出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用 性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水 塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与 +5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到 水位上限或下降到水位下限。 第2章 1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时计数器、多功能IO口和中断控制等基本功能部件。1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。3) 单片机MCU基础知识,初学者必看 1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。 2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。 3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。 4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。 5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。 6.如何区分有源蜂鸣器和无源蜂鸣器? 从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。 有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。 7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。 8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。因此在进入低功耗模式之前,必须配置莫个片内外设的中断,并允许其在低功耗模式下继续工作。如果不这样,只有复 1.一个完整的微机系统由硬件和软件两大部分组成 2.微型计算机的性能指标: 字长、运算速度、存储容量、软件配置、外设扩展能力 字:一组二进制数,字长:该二进制数的位数,字长越大,计算机处理数据越快运算速度:表达方式:cpu主频,越高,运算速度越快 存储容量:内存储容量(cpu直接访问存储器)、外存储容量(硬盘容量) 2.计算机系统:硬件系统(冯.诺依曼结构)(运算器、存储器、控制器、输入输出设备)、软件系统(运行程序和相应文档) 3.CPU主要组成部分:运算器、控制器 ALU运算器核心、累加器A、标志寄存器FR(C进、借位,OF溢出标志)、(不影响标志位CY的指令:INC A) 寄存器组RS、控制器CU(pc程序计算器、ir指令寄存器、id指令译码器) 4.存储器:RAM、ROM,其中RAM 具有易失性,常用于存储临时性数据 存储器的地址范围是0000H~0FFFH,它的容量为4KB(16*16*16=4*1024) 5.总线bus:传递信息的公共通信公道 片总线、内总线、外总线 地址总线(AB)、控制总线(CB)、数据总线(DB) 6.单片机(芯片)包括五部分:运算器、存储器、控制器、输入部分、输出部分8051:8位单片机 8031:复位后,PC和SP为:0000H、07H 7.二进制B、八进制O、十进制D、十六进制H 8.原码、反码、补码、压缩BCD码 9.单片机引脚: P1.0VCC(40引脚)P1.1P0.0 P1.2P0.1 P1.3P0.2 P1.4P0.3 P1.5P0.4 P1.6P0.5 P1.7P0.6 RST P0.7 RXD EA/VPP TXD ALE/PROG ITR0PSDE ITR1P2.7 T0P2.6 T1P2.5 WR P2.4 RD P2.3 XTAL2P2.2 XTAL1P2.1 GND P2.0(21引脚) 如何学习 学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。 下面以系列为例,解释一下学习的过程。 (1)获取资料 购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET 使用指导、F1xx系列、F4xx系列的使用说明和具体芯片的数据说明,可以找到FET的、实验板、知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。 (2)购买FET和实验电路板 如果经济条件不错,可以直接购买。 (3)自制FET和实验电路板 自制仿真器FET,首先要到网上找到FET,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。FET电常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画,画完后,就学习认识,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。 自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个的功能,还需要、按钮、、三端、、散热器、、普通电容、电阻、等元件的知识,对于初学者,可以做一个只有3个、8个按钮、8个的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。由于系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上,在未干的情况下,将芯片放在焊盘上,注意芯片第一的位置,并使与焊盘对齐,将擦干净的(不能有任何)接触引脚,引脚只要一热,焊盘上的就自动将引脚焊住了,千万注意上不能有,焊接时最好配备一个。焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。 (4)从网上获得IA 到利尔达公司或的网站下载IA,并安装到计算机上。 (5)调试FET和实验板 复位 1.POR信号只在两种情况下产生: 微处理器上电。 RST/NMI管脚被设置为复位功能,在此管脚上产生低电平时系统复位。 2.PUC信号产生的条件为: POR信号产生。 看门狗有效时,看门狗定时器溢出。 写看门狗定时器安全健值出现错误。 写FLASH存储器安全键值出现错误。 3.POR信号的出现会导致系统复位,并产生PUC信号。而PUC信号不会引起POR信号的产生。系统复位后(POR之后)的状态为: RST/MIN管脚功能被设置为复位功能。 所有I/O管脚被设置为输入。 外围模块被初始化,其寄存器值为相关手册上注明的默认值。 状态寄存器(SR)复位。 看门狗激活,进入工作模式。 程序计数器(PC)载入0xFFFE(0xFFFE为复位中断向量)处的地址,微处理器从此地址开始执行程序。 4.典型的复位电路有以下3种: (1)由于MSP430具有上电复位功能, 因此,上电后只要保持RST/NMI(设置 为复位功能)为高电平即可。通 常的做法为,在RST/NMI管脚接100k? 的上拉电阻,如图1-5(a)所示。 (2)除了在RST/NMI管脚接100k?的 上拉电阻外,还可以再接0.1μF的电 容,电容的另一端接地,可以使复位 更加可靠。如图1-5(b)所示。 (3)由于MSP430具有极低的功耗,如 果系统断电后立即上电,则系统中电 容所存储的电荷来不及释放,此时系 统电压不会下降到最低复位电压以下, 因而MSP430不会产生上电复位,同时 RST/NMI管脚上也没有足够低的电平 使MSP430复位。这样,系统断电后立 即上电,MSP430并没有被复位。为了 解决这个问题,可增加一个二极管, 这样断电后储存在复位电容中的电荷 就可以通过二极管释放,从而加速电 容的放电。二极管的型号可取1N4008。 如图1-5(c)所示。 单片机基础课后答案 第三版(就是它了) 第一章 一、填空题 1.1110 0EH 10011100 01100100 2. 4 3. 255 -51 4. 输入设备 5. 84 6. 630 * 8 * 1024 7. 位字节字bit btype word 8. 1111 1111 00100100 11011011 9. 110 89 -115 -50 二、单选: DBCAB BBCB 第二章 一、填空 1.PC PC 2.反向器晶振两只电容短 3.加电手动0000H 07H 第0 00H 07H 4. 6 2 1 12 5.DPTR DPH DPL 6.64KB 单选题 DCCAC AD 第三章 一、填空题: 1.1031 2.34H 1 1 1 3.略 4.1100H 5. 2 6.30H 71H 0A5H 0A5H 75H 0A7H 0AAH 0 1 IFH 1 1 0AAH 0 1 20H 1 0 0D5H 1 1 49H 0 0 二、单选题 CCBDCA 三、其它类型题 错错对 错错错 对错错 错错对 对对对 错对对 错对错 错对 (三)其它类型题 3.编写程序将RAM20H-23H 单元的高4 位写1,低4 位写0。 分析:就是把这四个单元写入F0H。用一个DJNZ 的循环。 ORG 0000H MOV R0,#1FH ;R0 指向20H 单元 MOV R5,#04H; 四个数 LOOP: INC R0 MOV @R0,#0F0H ; 写入 DJNZ R5,LOOP ; 循环4 次 END 4.把m 和m+1 单元存有两个BCD 数,将它们合并到m 单元中,编写程序完成。 (设m=30H, 高位在30H,低数在31H) ORG 0000H MOV A,30H ANL A,#0FH ;把它的高四位清零 SWAP A MOV 30H ,A ;高低四位调一下,放回原处 MOV A,31H ANL A,#0FH ORL A,30H ;合并起来 MOV 30H,A END 5.将内部RAM 中从data 单元开始的10 个无符号数相加,其和送sum 单元多,假定相加结果小于255。编写程序完成。 (设data=30H, sun =50H) ORG 0000H MOV R0,#2FH ; 指向前一个单元 MOV R5,#0AH ;循环10 次 CLR A ;先加到A 中 LOOP: INC R0 ADD A,@R0 第 2 章MSP430 单片机原理与 C 语言基础MSP430系列超低功耗单片机有200多种型号,TI公司用3~ 4位数字表示其型号。其中第一位数字表示大系列,如MSP430F1xx系列、MSP430F2xx系列、MSP430F4xx系列、MSP430F5xx系列等。在每个大系列中,又分若干子系列,单片机型号中的第二位数字表示子系列号,一般子系列越大,所包含的功能模块越多。最后1~2 位数字表示存储容量,数字越大表示RAM 和ROM 容量越大。430 家族中还有针对热门应用而设计的一系列专用单片机。如SP430FW4xx 系列水表专用单片机、MSP430FG4xx 系列医疗仪器专用单片机、MSP430FE4xx 系列电能计量专用单片机等。这些专用单片机都是在同型号的通用单片机上增加专用模块而构成的。最新的MSP430型号列表可以通过TI公司网站下载。 在开发单片机应用系统时,第一步就是单片机的选型,选择合适的单片机型号往往就能事半功倍。单片机选型基本方法是选择功能模块最接近项目需求的系列,然后根据程序复杂程度估算存储器和RAM 空间,并留有适当的余量,最终决定选用的单片机型号。 本章节以MSP430F249单片机为学习目标,介绍单片机的基本结构和工作原理,读者可以举一反三、触类旁通,而不必每种型号都去学习却无法深入掌握。 2.1 MSP430F249单片机基本结构与原理 2.1.1MSP430F249的主要结构特点 供电电压范围1.8V~3.6V 。 超低功耗:活动状态270uA(1MHz,2.2V);待机模式0.3uA;关机模式0.1uA。 16位RISC精简指令集处理器。 时钟系统:多种时钟源,可灵活使用。时钟频率达到16MHz ;具有内部振荡器;可外接32kHz 低频晶振;外接时钟输入。 12位A/D转换器,内部参考电压,采用保持电路。 16位定时器A,3个捕获/比较寄存器。 16 位定时器B,7 个捕获/比较寄存器。 4个通用串口:USCI_A0 和USCI_A1、USCI_B0 和USCI_B1(I2C、SPI)。 60kB+256B的flash程序存储器,2kB的RAM数据存储器。 64引脚QFP封装。 MSP430F249单片机的芯片封装形式如图2.1所示,各引脚的功能描述如表2-1 所列。 2.1.2 MSP430F249单片机的基本结构 MSP430F24x系列单片机功能结构示意图如图2.2所示。 (1)CPU简介 MSP430单片机的CPU为16位RISC精简指令集的处理器,只有27条正交汇编指令和7 种寻址方式。RISC 处理器基本上是为高级语言所设计的,编译程序对正交指令系统很容易做到最优化,利于产生高效紧凑的代码。MSP430CPU 中集成了16个16位通用寄存器 R0~R15,其中R0~R3分别复用为程序指针PC、堆栈指针SP、状态寄存器SR和常数发生器CG1/CG2。这些寄存器之间的操作只需要一个CPU 周期。 单片机基础知识点总结 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入 /输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严 格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储 器)、I/O 口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。 4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统; 输入/输出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与+5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电, 而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到水位上限或下降到水位下限。 第2章 51单片机简答题部分(经典) 1、什么叫堆栈? 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 2、进位和溢出? 答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 答:单片机片内程序存储器的配置形式主要有以下几种形式: (1)掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。掩膜ROM单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。 (2)EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。 (3)无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。 无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。 (4)E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。该类型目前比较常用 (5)OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。这种芯片的价格也较低。 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件? 答:51单片机通常由下列部件组成:一个8位CPU、一个片内振荡器及时钟电路、内部Flash Rom 程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。 6、MCS-51单片机的存储器从物理结构上可划分几个空间? 答:MCS-51系列单片机的存储器配置从物理结构上可分为:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上可分为:片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。 单片机初学者快速学习的四大步骤及方法 目前单片机对于工科学生而言就会象电路基础原理一样成为基础课。 其实不是单片机难学,而是不知道怎么入门。请大家记住一句话“单片机不是学出来的,而是玩出来的”。下面结合自己自学单片机的体会,和大家一起来“玩”单片机。准备好了吗?我现在开始教大家如何学习单片机。 第一步:先读通一本教材 唉!?太没创意了吧,还要看书?不错,第一步还是要通读一遍教材,这样我们才能站在巨人的肩膀上。读了一遍什么感觉,一个字晕。着很正常,不然你就看不到这篇文章。很多人在晕了之后就泄气了,或者换教材,接着晕,直至晕倒。不过,现在告诉大家我们要向酒鬼学习,晕了不要紧,嘴上一直说“没醉”,至少有可以多喝半斤。所以信心很重要。第二:晕着脑袋实践 第一步我们已经晕了,其实,我们是在似醉非醉,似醒非醒的最高境界。趁着这么好的感觉(这种感觉是多少武林高手梦寐以求的),赶快练上几路拳脚。 首先要选好兵器。现在学校实验室都有单片机实验箱,把握好实验的时间,或者和老师搞好关系,有时间就玩两把。不过最好还是有自己的独家装备,一开始装备不要太华丽,能用就行。软件建议用Keil c51,硬件要有pc机和开发板,开发板要求有流水灯、数码管、独立按键、矩阵键盘、ad转换、液晶屏、蜂鸣器,这就差不多了。软件网上有的是,下一个,还是免费的。pc机没有可以先用下同学的。开发板大概在200元左右,这比请朋友吃饭便宜多了。在想想将来我们要靠他来闯荡江湖,这又算得了什么呢? 好!兵器选好了,那就练把!提醒大家一句,降龙十八掌也是从扎马步练起的。即便我们比郭靖聪明,也要先练马步,想想黄蓉就知道了。现在就从最基本的流水灯开始,试着先控制一个发光管,慢慢的变换花样,做出自己的个性来。是不是特有成就感,是不是不吃饭都不知道饿。现在已经有点着迷了吧(个别人除外)。 第三:带着问题解决问题 在实践中我们有很多现象解释不了,怎么办?是自己慢慢参悟呢,还是向高手请教?建议 MSP430单片机入门基础例程1 作者:DC 微控技术论坛原创 MSP430单片机入门基础例程 若想了解MSP430单片机常用模块应用原理,请下载< //MSP430F14-直接IO口按键检处理程序 /******************************************************************* ******/ //以下是结合MC430F14开发板来实现的按键检处理程序实验. //分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转. //例程中,按键采用不断查询方式,以得到键值.并没有使用到低功耗.此程序结构比较适合 //用在非手持设备或非电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改. //应用目标板:https://www.360docs.net/doc/9d4031788.html, MC430F14开发板/******************************************************************* ******/ #include 单片机基础知识选择题 1.在MCS-51单片机中,当采用4MHZ晶振频率时,一个机器周期等于()微秒。 A.1 B.2 C.3 D.4 答案:C 2.如果某51单片机系统的定时/计数器0的中断服务程序放在程序存储区的3000H地址开始的一段空间内,此时跳转到定时/计数器0的中断服务程序的指令LJMP 3000H应放在()开始的中断地址区。 A.0003H B.0013H C.0023H D.000BH 答案:D 3.MCS-51单片机的字长是()。 A.2位 B.4位 C.8位 D.16位 答案:C 4.单片机复位时,程序计数器PC的值为()。 A.0000H B.0030H C.4000H D.4100H 答案:A 5.某存储器芯片有12根地址线,8根数据线,该芯片有()个存储单元。 A.1 KB B.2 KB C.3 KB D.4 KB 答案:D 6.MCS-5l单片机的堆栈区是设置在( )中。 A.片内ROM区 B.片外ROM区 C.片内RAM区 D.片外RAM区 答案:C 7.在单片机中,()是数据存储器,()是程序存储器。 A.ROM B.EPROM C.RAM D.EEPROM 答案:C; A、B、D 8.单片机在与外部I/O口进行数据传送时,将使用()线。 A.ALE INT0 B.PSEN ALE C.WR RD ALE D.ALE INT1 答案:C 9.下列计算机语言中,CPU能直接识别的是()。 A.自然语言 B.高级语言 C.汇编语言 D.机器语言 答案:D 10.MCS-5l单片机的堆栈区是设置在( )中。 A.片内ROM区 B.片外ROM区 C.片内RAM区 D.片外RAM区 答案:C 11.当MCS-51单片机接有外部存储器,P2口可作为 ( )。 A.数据输入口 B.数据的输出口 C.准双向输入/输出口 D.输出高8位地址 答案:C 12.下列关于栈的描述中错误的是()。 A.栈是先进后出的先性表 B.栈只能顺序存储 C.栈具有记忆作用 D.对栈的插入和删除操作中,不需要改变栈底指针 答案:C 13.调用子程序、中断响应过程及转移指令的共同特点是()。 A.都能返回 B.都通过改变PC实现转移 C.都将返回地址压入堆栈 D.都必须保护现场 答案:B 14.下面哪一个器件是同相OC门电路。() A.74LS04 B.74LS14 C.74LS07 D.74LS06 答案:C 15.14根地址的寻址范围可达()KB。 A.8 B.16 文华学院学生课程考查报告 考查课程:MSP430单片机应用设计 设计题目:基于MSP430单片机的温度测量仪设计 专业班级:** 学号:**** 姓名: ** 指导教师:** 实验日期:2016年5月8日 基于MSP430单片机的温度测量仪设计 文华学院 摘要 MSP430单片机是德州公司最新开发的具有16位总线带FLASH的单片机,由于它的性价比和集成度高,受到广大技术开发人员的青睐。它的可靠性能比较好,加强电干扰运行不受影响,适应工业级的运行环境,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为显示终端的数字化控制设备,通过单片机对被控制对象进行智能控制。 MSP430单片机将会在工程技术应用中得到广泛的应用。而且,它是通向DSP 系列的桥梁,随着自动控制的低功耗化和高速化,MSP430系列单片机将会得到越来越多人的喜爱。 通过这次毕业设计,我对MSP430单片机有了完整的了解,并且着重了解了MSP430F149芯片的原理图以及它的工作原理,对内部的硬件资源和自身的汇编语法进行了实验,把它和DS18B20温度传感器联系在一起实现了温度的测量以及报警。 关键词:MSP430;超低功耗;单片机;DS18B20 Abstract Texas MSP430 microcontroller is the latest development of a 16-bit bus with FLASH MCU, due to its cost-effective and highly integrated, by the majority of technology developers of all ages. Its reliability is better, enhancing electrical interference unaffected, adapt industrial-grade operating environment, in a variety of industry occupies an important position in both, applied to more and more areas to microcontroller core, with LCD as a digital control display terminal equipment, through the controlled object MCU intelligent control. MSP430 microcontroller applications engineering technology will be widely used. And, it is a bridge leading DSP family, with automatic control, low power consumption and high speed, MSP430 MCU will get more and more people's favorite.MSP430单片机题目答案整理(大部分)
51单片机基础知识试题题库(含答案)
学习单片机需要哪些知识
如何学习并使用MSP430单片机(入门)
单片机入门常用知识
单片机基础知识点总结
单片机MCU基础知识,初学者必看
单片机基础知识
MSP430初学者教程(最详细)
MSP430单片机深入学习笔记
单片机基础(第三版)课后答案李广弟
MSP430单片机原理解读
单片机基础知识点总结.doc
51单片机基础知识及期末复习
单片机初学者快速学习的四大步骤及方法
MSP430单片机入门基础例程1
c51单片机基础知识选择题
(完整版)MSP430单片机课程设计