MSP430单片机的应用现状和展望

MSP430单片机的应用现状和展望
MSP430单片机的应用现状和展望

MSP430单片机的应用现状和展望

摘要

MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。

MSP430 系列单片机的发展

开始阶段从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、 32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。

MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。

2000 年推出了 11X/11X1 系列。这个系列采用 20 脚封装,内

存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。

这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有 33X 系列才具备。33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时, 33X 并不一定是最适合的。而片内高精度A/D 转换器又只有 32X 系列才有。

寻找突破,引入Flash技术随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在2000 年7 月推出F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、F43X 、 F44X 这些全部是 Flash 型单片机。

F41X 单片机是目前应用比较广的单片机,它有 48 个 I/O 口,96 段 LCD 驱动。 F43X 、 F44X 系列是在 13X 、 14X 的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。

MSP430 系列由于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具 MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入 MSP430 。

这种以 Flash 技术与 FET 开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。

另外, 2001 年 TI 公司又公布了 BOOTSTRAP 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可达到 32 个字节的长度。

蓬勃发展阶段在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。

在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了 I 2 C 、 DMA 、DAC12 和 SVS 等模块。

在2003 年中,TI 公司还推出了专门用于电量计量的MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。

MSP430单片机的特点

处理能力强

MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处

理指令。这些特点保证了可编制出高效率的源程序。

运算速度快

MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT 等)。

超低功耗

MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165μA 左右,RAM 保持模式下的最低功耗只有0.1μA。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在实时时钟模式下,可达2.5μA ,在RAM 保持模式下,最低可达0.1μA 。

MSP430单片机的应用

工业控制

MSP430 的结构特点决定了它特别适用于各种控制系统,如数据采集系统、工业机器人系统、机电一体化产品等。在混合动力汽车上,峰值功率跟踪器已经用于单个的高性能三接面太阳能电池。为了获得好的峰值功率跟踪性能,文献提出了一种高分散的MPPT 方案。文献对不同类型的太阳能电池包括三接面、两接面、硅接面电池的峰值功率跟踪器设计进行了基本的研究。四种设计都采用了MSP430 单片机,可以提供的电压输入范围都为O.3~3.0V。详细讨论了四个电路的设计并比较了四种设计在应用、拓扑和成本方面的优缺点。文献设计了一种低功耗的多MCU 结构的水下声波记录仪,改变了原来使用工控机或PC 的现状,又使系统体积小、数据处理能力强、耗能少,更加适合水下环境和长期作业。在电力方面,文献采用MSP430单片机加nRF905 无线收发芯片设计了一种高压输变电节点温度测量系统,采用无线传输和电池供电方式,解决了传统高压线节点只能通过红外枪检测的问题,而文献则以MSP430 单片机为中心设计了一种可以从自适应光学电流互感器收集数字信号,并在符合IEC61850 规约的情况下,实现了将这些数字信号传送给保护设备的功能,推动了数字化变电站的发展。

智能化仪器仪表

MSP430 系列超低功耗单片机已经越来越多地应用于各种仪器仪表中,使仪器仪表的智能化程度得到了提高,硬件结构得到了简化,从而提高了仪器仪表的精度和准确度,减小了体积,提高了性价比。

超低功耗单片机在该领域的应用,不仅使仪器仪表发生了根本的变化,也给传统仪器仪表行业的改造带来了曙光。文献使用MSP430 单片机设计了一种用于酒精测试的电子鼻系统,用于识别和检测酒后驾车的司机呼吸的气体中酒精的浓度。针对目前国内外许多测量天然气的场合还在大量应用机械式罗茨流量计的现状,文献研制了一种基于零功耗脉冲传感器的智能流量计算仪,在低功耗和高精度两个方面都取得很好的效果。文献详细介绍了一种使用MSP430 作为主控制器的温控器的软硬件设计方法。

计算机网络与通信

MSP430 系列超低功耗单片机中集成了通信接口,因而使其在计算机网络及通信设备中得以广泛应用。文献使用MSP430 设计了一种无线牧羊犬声像监控与命令系统,使用者可以在较为复杂的环境下实时地监控牧羊犬的活动,并对其进行有效的控制,此系统经实际使用,具有很好的应用前景。文献结合MSP430和802.15.4 无线传感节点实现了小型网络服务的传感器设备的互操作性问题,解决了网络层和应用层的互操作性问题,使各种应用设备得到更有效的控制,开发出新的功能,降低了开支。

日常生活方面

MSP430 单片机不但具有普通单片机的各种优良性能,而且功耗很低,能够省电节能,可采用电池供电,非常适合家用产品的开发。文献以MSP430 单片机作为控制中心设计了一种嵌入在手机的新型便携式血糖仪。通过它获得血糖的水平价格低、使用方便、速度快。另

外,糖尿病人在任何时候任何地点测量他们的血糖浓度,使用者可以通过手机及时地将测量结果发给医生并获得反馈。文献将MSP430 与GPRS 技术结合实现了心电图的无线监控系统,文献则将MSP430 与Zigbee 协议相结合应用到无线传感网络(WSN)中,实现了家庭健康平台系统。

参考文献

[1] 《MSP430系列16位超低功耗单片机原理与实践》沈建华、杨艳琴编北京航空航天大学出版社

[2] 《MSP430系列16位超低功耗单片机原理与应用》沈建华、杨艳琴编清华大学出版社

[3] 《MSP430单片机基础与实践》谢兴红林凡强吴雄英编北京航空航天大学出版社

[4] 《MSP430系列单片机C语言程序设计与开发》胡大可编北京航空航天大学出版社

MSP430单片机实验报告v3.0

MSP430单片机课程设计 一.设计要求 数字温度计 (1)用数码管(或LCD)显示温度和提示信息; (2)通过内部温度传感器芯片测量环境温度; (3)有手动测量(按测量键单次测量)和自动测量(实时测量)两种工作模式; (4)通过按键设置工作模式和自动测量的采样时间(1秒~1小时); (5)具备温度报警功能,温度过高或过低报警。 二.系统组成 系统由G2Launch Pad及其拓展板构成,单片机为MSP430G2553。 I2的通信方式对IO进行拓展,芯片为TCA6416A; 使用C 使用HT1621控制LCD; 三.系统流程 拓展的四个按键key1、key2、key3、key4分别对应单次测量、定时测量、定时时间的增、减。定时时间分别为1s,5s,15s,30s,60s。在自动测量模式下,当温度超过设定温度上限

即报警,报警时在LCD屏幕显示ERROR同时LED2闪烁,在5s后显示0℃。此时可重新开始手动或自动测量温度。 系统示意图: 四.演示 a)手动测量温度 b)自动测量温度 c)报警

显示ERROR同时LED闪烁d)设置时间界面 五.代码部分 #include "MSP430G2553.h" #include "TCA6416A.h" #include "LCD_128.h" #include "HT1621.h" #include "DAC8411.h" #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) static int t=0; long temp; long IntDeg; void ADC10_ISR(void); void ADC10_init(void); void LCD_Init(); void LCD_Display(); void GPIO_init(); void I2C_IODect(); void Error_Display(); void WDT_Ontime(void); void LCD_Init_AUTO(); void LCD1S_Display();

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.汇编语言程序的分析与理解。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

51单片机学习笔记(六)_串口中断通信+定时器2串口中断

51单片机学习笔记(六)_串口中断通信+定时器2串口中 断 51 单片机默认使用定时器1 作为串口通信的波特率发生器、定时器1 中断 通信,串口与定时器1 冲突,在遇到定时器不够用的时候可以用定时器2 #include void DelayMs(unsigned int i);void SerialInit();void SendByte(unsigned char sbyte);void SendString(unsigned char *pstr);void main(void){SerialInit();while(1); //注:必需要无限循环}/*//单片机时钟周期: 11.0592MHz 以时钟1 作为波特率发生器void SerialInit(){TMOD=0x20; // 设置T1 工作方式为方式2TH1=0xfd; //给定时器高位装初值TL1=0xfd; //给定时 器低位装初值TR1=1; //开定时器//以上是设置波特率SM0=0; //设置串口通 讯方式为方式1SM1=1; REN=1; //串口是否接收数据的开关EA=1; //总中断 打开,采用查询法时不用打开中断ES=1; //串口中断开关,采用查询法时不用打开 中断}*///单片机时钟周期:11.0592MHz 以时钟T2 作为波特率发生器void SerialInit(){PCON &= 0x7F; //波特率不倍速SMOD=0SCON = 0x50; //方式1,8 位数据,可变波特率,接收允许T2CON = 0x34; RCAP2H = 0xFF; RCAP2L = 0xDC; TH2 = 0xFF; TL2 = 0xDC;EA=1; //总中断打开,采 用查询法时不用打开中断ES = 1; //串口中断开关,采用查询法时不用 打开中断}//串口中断函数:void SerialPortInte(void) interrupt 4 //采用串口中断法 收发数据{unsigned char rbyte;if(RI){ //RI=1,判定为串口接收到了数据,RI 要清零,RI=0;rbyte=SBUF; if(rbyte==0x0A){ SendString(“换行”);}else if(rbyte==0x0D){SendString(“回车”);}else{SendByte(rbyte);}}}//串口发送一个字节:void SendByte(unsigned char sbyte){ SBUF=sbyte; //发送数据while(!TI); //等待发送完成TI=0; //清零发送标志位}//串口发送一个字符串:void

南理工 王宏波 MSP430F6638单片机实验报告

MSP430单片机应用技术 实验报告 学号:XXXXXXXX

实验1 一、实验题目:UCS实验 二、实验目的 设置DCO FLL reference =ACLK=LFXT1 = 32768Hz, MCLK = SMCLK = 8MHz,输出ACLK、SMCLK,用示波器观察并拍照。 UCS,MCLK、 SMCLK 8MHz 的 1 2 六、实验结果 实验2 一、实验题目:FLL+应用实验 二、实验目的

检测P1.4 输入,遇上升沿进端口中断,在中断服务程序内翻转P4.1 状态。 三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; WDT 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.C; 5、编写程序; 6、编译、调试、下载程序到单片机;

7、观察、分析、保存运行结果。 五、实验程序 实验4 一、实验题目:WDT_A实验 二、实验目的 定时模式 1 2 六、实验结果 实验5一、实验题目:Timer_A实验

二、实验目的 比较模式-Timer_A0,两路PWM 输出,增减计数模式,时钟源SMCLK,输出模式7 TACLK = SMCLK = default DCOCLKDIV。PWM周期CCR0 = 512-1,P1.6 输出PWM占空比CCR1 = 37.5%,P1.7输出PWM占空比CCR1 =12.5%。 要求: (1)用示波器观察两路PWM 输出的波形并拍照,测量周期、正脉宽等参数,与理论值进行对比分析。 (2 (3 1 2 实验6 一、实验题目:ADC12实验 二、实验目的 ADC12 单次采样A0 端口,根据转换结果控制LED 状态。

如何学习并使用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系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:

双机间的串口双向通信2.0

单片机应用课程设计任务书

单片机应用课程设计说明书 学院名称:计算机与信息工程学院 班级名称:网工124 学生姓名:卞可虎 学号:2012211369 题目:双机间的串口双向通信设计指导教师:于红利 起止日期:2014.12.29至2015.1.4

目录 一、绪论 (1) 二、相关知识 (6) 2.1 双机通信介绍 (6) 2.2单片机AT89C51介绍 (6) 2.3 串行通信简介 (8) 2.3.1串行通信的特点 (8) 2.3.2串行通信技术标准 (9) 三、总体设计 (10) 3.1 设计需求 (10) 四、硬件设计 (10) 4.1 系统硬件电路设计 (10) 4.1.1整体电路设计 (10) 4.1.2 控制电路设计 (11) 4.1.3 复位电路 (11) 4.1.4 显示电路 (12) 五、软件设计 (12) 5.1发送端程序流程 (12) 5.2接收端程序流程 (13) 5.3按键程序 (14) 5.4串口通信程序 (15) 5.5数码管显示程序 (16)

六、Proteus软件仿真 (16) 七、结束语 (19) 参考文献 (20) 指导教师评语 (21) 成绩评定 (21) 附录:源程序 (22) 一、绪论 电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。 对于一些类似复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。这就对单片机通

430单片机点亮LED实验报告

430单片机点亮LED实验报告 一.安装实验软件IAR 二.编写点亮LED灯程序 1.使P1.0口LED灯会不停的闪烁着,程序 #include typedef unsigned int uint; typedef unsigned char uchar; /*延时函数*/ void Delay_Ms(uint x) { uint i; while(x--)for(i=0;i<250;i++); } /*主函数*/ int main( void ) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset P2DIR|=BIT0;//定义P1口为输出 while(1)//死循环 { P2OUT^=BIT0;//P1.0口输出取反

Delay_Ms(600);//稍作延时 } } 下载进去看到了P1.0口LED灯会不停的闪烁着。 2.实验目的让两盏灯交换闪烁程序 #include"msp430g2553.h" void main(void) { void Blink_LED(); WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 P1DIR=BIT6; P2DIR=BIT0; while(1) { Blink_LED(); } } void Blink_LED() { _delay_cycles(1000000); //控制第二个LED P1OUT^=BIT6; _delay_cycles(1000000); //控制第一个LED P2OUT^=BIT0;

第3课 HJ-2G AVR单片机学习笔记 程序编写编译环境

第3课ICC程序编写编译环境 基于HJ-2G AVR学习板 学习AVR单片机必需要安装的第二个软件:程序编写编译环境ICC AVR 1、下面说一说安装方法,在配套资料(网上下载)找到ICC AVR直接点击按装,装好后输入正版注册码,这样就可以正常使用ICCAVR软件编写编译。 2、在桌面上打开ICCAVR软件,出现如下图片:请点开工程,并新建一个工程。 3、下图为新建一个工程,请保存在C盘目录下,输入工程名称(只能是中文),点击保存。

4、新建立一个C文件,在下图空白处输入你的C源码,输完后请保存C文件。 5、加入刚才建好的C文件到工程当中,方法如下图。

6、设置一下编译器,如下图。 7、芯片用ATmega16

8、最后一步了,只要你按上面的一步一步做,最后点一下编译键,就可以正常编译成功,如果不成功,请查一查你的C源码是否正确,还有工程是不是在中文目录下。 9、总结:本课主要学习了程序编写编译环境ICC AVR的安装,设置,还有编译方法,开始学单片机时,新手不会写C源码,可以复制慧净写好的C源码到项目中,练习多次,ICCAVR 软件你就会使用了,以后学习中,每一课都会用到本软件,只要你认真跟着《慧净1天入门AVR单片机学习笔记》学习,多多练习,相信你很快速学会AVR单片机。 慧净AVR单片机免费共享学习笔记目录(配有视频教程,请在慧净空间下载) 第一部1天入门AVR单片机学习笔记 第1课:AVR单片机学习基本流程 第2课:AVR单片机程序烧写方法 第3课:程序编写编译环境 第4课:简单C语言基础知识 第二部10天学会AVR单片机学习笔记 第1课:IO端口操作 第2课:流水灯 第3课:单个数码管显示 第4课:多个数码管同时显示 第5课:独立按键 第6课:定时器 第7课:外部中断

MSP430单片机实验报告

MSP430单片机实验报告 专业: 姓名: 学号:

MSP430单片机实验报告 设计目标:使8位数码管显示“5201314.”,深入了解串行数据接口。 实现过程:主要分为主函数、驱动8位数码管函数、驱动1位数码管函数及延时函数。 延时函数:采用for循环。 驱动1位数码管子函数:设置74HC164的时钟传输和数传输,声明变量,使数据表中每一个要表示的字符的每一位都与shift做与运算从而进行传输,上升沿将传输数据传送出去。驱动1位数码管子函数的流程图如图1所示。 图1 驱动1位数码管子函数流程图 驱动8位数码管子函数:调用8次驱动1位数码管子函数。驱动8位数码管子函数流程图如图2所示。 图2 驱动8位数码管流程图

while 图3 主函数流程图 实验结果:供电后,数码管显示“5201314.”字样。 源程序: /************* 程序名称:5201314.*************/ /***程序功能:通过模拟同步串口控制8个共阳数码管***/ /*******P5.1 数据管脚,P5.3 同步时钟管脚*******/ #include // 头文件 void delay(void); // 声明延迟函数void seg7_1 (unsigned char seg7_data); // 声明驱动1 位数码管函数void seg7_8 ( unsigned char seg7_data7, unsigned char seg7_data6, unsigned char seg7_data5, unsigned char seg7_data4, unsigned char seg7_data3, unsigned char seg7_data2,

单片机读书笔记

单片机的分类 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。 众多的单片机可以从不同角度进行分类。 Ⅰ按生产厂家分 1.INTEL公司的单片机(MCS-48系列单片机:MCS-48单片机是美国INTEL公司于1976年推出,它是现代单片机的雏形,包含了数字处理的全部功能,外接一定的附加外围芯片即构成完整的微型计算机;MCS-51系列:MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品) 2.ATMEL公司的单片机(AT89系列单片机:AT89系列单片机是ATMEL 公司的8位Flash单片机系列。这个系列单片机的最大特点是在片内含有Flash存储器。因此,在应用中有着十分广泛的前途特别是在便携式、省电及特殊信息保存的仪器和系统中显得更为有用;A VR单片机:A VR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片

机。A VR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。) 3.Motorola公司的单片机(MC68300系列单片机:MC68300系列微控制器采用模块化设计,可以根据用户的要求,选择不同的模块,以适应不同的应用场合) 4. MicroChip单片机的单片机(PIC12CXXX系列单片机、PIC16CXXX系列单片机) 5.PHILIPS公司的单片机(通用型单片机:PHILIPS公司的P80C31基于80C51内核采用高密度CMOS技术设计制造,包含中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、3个16位定时/计数器和6个中断源,4层优先级中断嵌套结构,可用于多机通信的串行I/O口,I/O扩展或全双工UART,片内时钟振荡电路;Flash 单片机、低功耗OTP单片机) 6.TI公司的单片机(TI单片机MSP430:德州仪器(TI)超低功率16位RISC混合信号处理器的MSP430产品系列为电池供电测量应用提供了最终解决方案。德州仪器作为混合信号和数字技术的领导者,TI 创新生产的MSP430,使系统设计人员能够在保持独一无二的低功率的同时同步连接至模拟信号、传感器和数字组件。) 7.其他公司的单片机(美国SST公司的SST89系列、美国CYGNAL公司的C8051FXXX系列单片机、东芝TLCS-870系列单片机) Ⅱ按单片机数据总线的位数,可将单片机分为4位、8位、16位、32位

史上最通俗易懂的单片机自学有笔记1

单片机关键知识点一览: 系列一 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第一个单片机小程序 5:单片机延时程序分析 6:单片机并行口结构 7:单片机的特殊功能寄存器 系列二 8:单片机寻址方式与指令系统 9:单片机数据传递类指令 10:单片机数据传送类指令 11:单片机算术运算指令 12:单片机逻辑运算类指令 13:单片机逻辑与或异或指令祥解 14:单片机条件转移指令 系列三 15:单片机位操作指令 16:单片机定时器与计数器 17:单片机定时器/计数器的方式

18:单片机的中断系统 19:单片机定时器、中断试验 20:单片机定时/计数器实验 21:单片机串行口介绍 系列四 22:单片机串行口通信程序设计 23:LED数码管静态显示接口与编 24:动态扫描显示接口电路及程序 25:单片机键盘接口程序设计 26:单片机矩阵式键盘接口技术及 27:关于单片机的一些基本概念 28:实际案例实践——单片机音乐程序设计 1:单片机简叙 什么是单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。 单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。 2:单片机引脚介绍

MSP430 按键程序范例(附原理图)

#i nclude void Init_Port(void) { //将P1口所有的管脚在初始化的时候设置为输入方式 P1DIR = 0; //将P1口所有的管脚设置为一般I/O口 P1SEL = 0; // 将P1.4 P1.5 P1.6 P1.7设置为输出方向 P1DIR |= BIT4; P1DIR |= BIT5; P1DIR |= BIT6; P1DIR |= BIT7; //先输出低电平 P1OUT = 0x00; // 将中断寄存器清零 P1IE = 0; P1IES = 0; P1IFG = 0; //打开管脚的中断功能 //对应的管脚由高到低电平跳变使相应的标志置位 P1IE |= BIT0; P1IES |= BIT0; P1IE |= BIT1; P1IES |= BIT1; P1IE |= BIT2; P1IES |= BIT2; P1IE |= BIT3; P1IES |= BIT3; _EINT();//打开中断 return; } void Delay(void) { int i; for(i = 100;i--;i > 0) ;//延时一点时间 } int KeyProcess(void) { int nP10,nP11,nP12,nP13; int nRes = 0;

//P1.4输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 13; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 14; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 15; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 16; //P1.5输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 9; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 10; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 11; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 12; //P1.6输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 5; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 6; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 7; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 8; //P1.7输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 1; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 2; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 3; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 4; P1OUT = 0x00;//恢复以前值。

MSP430初学者教程(最详细)

如何学习 学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。 下面以系列为例,解释一下学习的过程。 (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和实验板

单片机学习笔记

MC51单片机学习笔记 一准备知识: 1.内部结构:4K Rom 程序存储器(硬件)128节Ram随机存储器(软件) 8位cpu,4个8位并口,1个全双串行口,2个16位定时器/计数器; 寻址范围64k 布尔处理器 CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; I/O口:四个8位并行I/O口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。 2.分类:arm(快)凌阳(处理声音较好) 3.型号说明:STC (公司名) 89(系列)C(CMOS;CAD:自带

AD转换;S:串行下载无需专门的编程器;lv:工作电压为3v)51(1*4=4K) RC 40(晶振最高频率) C(商业级:温度0--85,I工业级温度-40--125)----PDIP (双列直插式)0721(07年第21周)......... 4.电平:TTL:高:+5v--低0v; RS232:计算机串口:+12v--低-12v,故计算机和单片机通信需要电平转换芯片 5.二进制与十六进制之间的转换:每4位转变一次 6.二进制转换逻辑符号:&与,//或,---非,异或 7. P3第二功能各引脚功能定义: P3.0:RXD串行口输入 P3.1:TXD串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR外部写控制(计数) P3.7:RD外部读控制 RST :复位管脚,高电平有效,时间大于两个机器周期 VPD:备用电源 注:机器周期和指令周期 (1)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉

MSP430单片机定时器实验报告

实验四定时器实验 实验目的: MPS430F5529片内集成的定时器A的使用,学习计数器的补捕获比较模块的使用。实验内容: 定时器采用辅助时钟ACLK作为计数脉冲,fACLK=32768Hz,实现以下功能: 1.定时器TA0延时1s,点亮或熄灭LED6,即灯亮1s灭1s,如此循环,采用中断服务程序实现。 2.定时器TA0延时1s,点亮或熄灭LED4,采用捕获比较器CCR0的比较模式,设定输出方式,输出方波,不用中断服务程序 3.采用捕获比较器CCR1的比较模式LED5,设定输出方式,输出PWM波形,使LED 亮2s,灭1s。 4.用定时器实现30s倒计时,在液晶模块上显示,每过一秒显示数字变化一次。 5.使用TA1的捕获比较器CCR0捕获按键的间隔时间,在液晶模块上显示。 程序代码: 程序1: #include void main() {WDTCTL = WDTPW + WDTHOLD; //关看门狗 P1DIR |= BIT3; //设置P1.0口方向为输出。 TA0CCTL0 = CCIE; //设置捕获/比较控制寄存器中CCIE位为1, //CCR0捕获/比较功能中断为允许。 TA0CCR0 = 32767; //捕获/比较控制寄存器CCR0初值为32767 TA0CTL = TASSEL_1 + MC_1+TACLR; //设置定时器A控制寄存器TACTL, //使时钟源选择为SMCLK辅助时钟。 //进入低功耗模式LPM0和开总中断 _BIS_SR(LPM0_bits +GIE); } //定时器A 中断服务程序区 #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A (void) {

MSP430单片机深入学习笔记

复位 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)所示。

MSP430时钟配置及ad模块等学习笔记

MSP430收集资料笔记 问: 个刚从51转到msp430这块的学生,我想知道,分频其实到底可以干什么,具体什么时候才会需要我们去分频? 能举些详细的例子告诉我分频什么时候改用,什么时候不该用吗?不需要代码,例子就好 答: 51也要分频啊,一个系统CPU(中央处理单元)的频率最高的,其他的外设都是低速的,都要通过主时钟分频产生低速的时钟来工作;比如8Mhz的单片机是说CPU的时钟是工作在8mhz,但gpio、串口,定时器等它们的工作频率很低的,这个时钟就需要分频来产生;当你想要改变一个外设的工作频率时就需要重新设置分频系数,比如串口波特率,定时时间,IIC时钟,spi时钟等等; 问: MSP430单片机的定时器,看门狗等东西的时钟来源于于各个时钟 (SMCLK,ACLK,MCLK,DCO等)有什么区别呢?还有这些问什么要分频呢,不分频好像程序也可以写啊! 有这三种时钟我也知道,我只是想知道。我是想知道这些时钟给外设使用的时候到底到底选择哪个,为什么要选择这个? 答: 不知道楼主用的是那个型号!我用的149,就用这个给你说吧!msp430F149 不分频具体的根据系统需要决定,楼主应该是初学吧!有些问题你不必深究,慢慢的在学习和使用中你就明白了,刚开始你知道怎么用就可以了! CTRL_C+CTRL_V,就算是抄别人的,也自己敲一遍,加深理解,加深印象!

话有说回来,学编程本来就是这么个过程,一看二抄三写四调试!我就是这么过来的,网上资源很多,多看看别人是怎么学的,怎么做的! || || 信号源---分频输出---------》时钟----------------》输出信号源----------外围模块|| (DCO)//************不设置即被MCLK默认***********************// || (LFXTI)→MCLK==→信号源分频输出=→信号源供给外围模块,CPU || (LFXT2) 1)MCLK系统主时钟。除了CPU运算使用此时钟以外,外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。 (2)SMCLK系统子时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。 ||(DCO)//************不设置即被MCLK默认***********************// ||(LFXTI)→信号源分频输出=→SMCLK==→信号源供给外围模块 ||(LFXT2) (3)ACLK辅助时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。 PUC复位后,MCLK和SMCLK的信号源为DCO,DCO的振荡频率默认为800KHZ。ACLK的信号源为LFXT1。 || ||LFXI1=→信号源分频====》ACLK========→外围模块 MCLK,SMCLK ||PUC复位===|=======》 DCO=800KHZ |ACLK | |LFXTI

单片机原理及应用_第十讲_MSP430单片机的ADC实验报告

单片机原理及应用 第十讲 MSP430单片机的ADC 实验报告 报告人:学号:同组人员: 实验内容 实验1 AD采集输入电压并比较 实验2 AD内部温度采集实验 实验3 验收实验:温度采集与显示 把实验2中的实测温度值以摄氏度数值显示在段码LCD上。 实验步骤 步骤: (1) 将PC 和板载仿真器通过USB 线相连; (2) 打开CCS 集成开发工具,选择样例工程或自己新建一个工程,修改代码; (3) 选择对该工程进行编译链接,生成.out 文件。然后选择,将程序下载到实验板中。程序下载完毕之后,可以选择全速运行程序,也可以选择

单步调试程序,选择F3 查看具体函数。也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面。再按下实验板的复位键,运 行程序。(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议 上电运行程序)。 关键代码: 实验1 AD采集输入电压并比较 #include int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on ADC12CTL1 = ADC12SHP; // Use sampling timer ADC12IE = 0x01; // Enable interrupt ADC12CTL0 |= ADC12ENC; P6SEL |= 0x01; // P6.0 ADC option select P4DIR |= BIT1; // P4.1 output while (1) { ADC12CTL0 |= ADC12SC; // Start sampling/conversion __bis_SR_register(LPM0_bits + GIE); // LPM0, ADC12_ISR will force exit __no_operation(); // For debugger } } #pragma vector = ADC12_VECTOR __interrupt void ADC12_ISR(void) { switch(__even_in_range(ADC12IV,34)) { case 0: break; // Vector 0: No interrupt case 2: break; // Vector 2: ADC overflow case 4: break; // Vector 4: ADC timing overflow

相关文档
最新文档