《2022年集成电路设计.docx》由会员分享,可在线阅读,更多相关《2022年集成电路设计.docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 摘 要数字电压表是采纳数字化测量技术,把连续的模拟量 直流输入电压 转换成不连续、 离散的数字形式并加以显示的外表,它是诸多数字化外表的核心与基础;以数字电压表为核心扩展成的各种数字化外表几乎掩盖了电子电工测量、工业测量、自动化系统等各个领域; 本文介绍了一种基于TI 公司生产的 16 位超低功耗单片机 MSP430F149的数字电压表系统,系统利用单片机内嵌的 12 位 A/D模块采集测量的电压信号, 经过 A/D 转换、软件滤波和标度转换处理后,将测量的电压值实时显示在 LCD显示器上;文中具体介绍了系统软件模块的程序设计,包括 A/D 转
2、换模块,数据处理模块及显示模块的设计;统可以测量 0-3V 的 1 路模拟直流输入电压值,并通过本文设计的数字电压表系 LCD显示器实时显示;系统具有体积小、成本低,电路简洁,安全性好,可扩展性强等特点;关键字 : 数字电压表; MSP430F149;LCD 显示器; A/D 转换I 名师归纳总结 - - - - - - -第 1 页,共 21 页精选学习资料 - - - - - - - - - 基于 MSP430F149的数字电压表系统软件设计1 绪论 在电量的测量中, 电压、电流和频率是最基本的三个被测量,其中电压量的 测量最为常常; 而且随着电子技术的进展, 更是常常需要测量高精度的电压
3、,所 以数字电压表就成为一种必不行少的测量仪器;数字电压表简称 DVM,它是采纳 数字化测量技术, 把连续的模拟量转换成不连续、 离散的数字形式并加以显示的 外表;由于数字式仪器具有读数精确便利、精度高、误差小、测量速度快等特而得到广泛应用 ;传统的指针式刻度电压表功能单一,进度低, 简洁引起视差和视觉疲惫, 因而不能满意数字化时代的需要; 采纳单片机的数字电压表, 将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰才能强,可扩展性强、集成便利,仍可与 PC实时通信;数字电压表是诸多数字化外表的核心与基础 ;以数字电压表为核心,可以扩展成各种通用数字外表、专用数
4、字外表及各种非电量的数字化外表;目前,由各种单片机和A/D 转换器构成的数字电压表作全面深化的明白是很有必要的;最近的几十年来, 随着半导体技术、 集成电路IC和微处理器技术的进展,数字电路和数字化测量技术也有了庞大的进步,从而促使了数字电压表的快速发展,并不断显现新的类型;数字电压表从 1952 年问世以来,经受了不断改良的过程,从最早采纳继电器、电子管和形式进展到了现在的全固态化、集成化IC化,另一方面,精度也从 0.01%-0.005%;目前,数字电压表的内部核心部件是A/D 转换器,转换的精度很大程度上影响着数字电压表的精确度, 因而,以后数字电压表的进展就着眼在高精度和低成 本这两个
5、方面 ;本文介绍了一种基于TI 公司生产的 16 位超低功耗单片机MSP430F149的数字电压表系统,系统利用单片机内嵌的12 位 A/D 模块采集测量的电压信号,经过 A/D 转换、软件滤波和标度转换处理后, 将测量的电压值实时显示在 LCD显示器上;文中具体介绍了系统软件模块的程序设计,包括 A/D 转换模块, 数据处理模块及显示模块的设计;本文设计的数字电压表系统可以测量 0-3V 的 1 路模拟直流输入电压值,并通过LCD显示器实时显示;系统具有体积小、成本低,电路1 名师归纳总结 - - - - - - -第 2 页,共 21 页精选学习资料 - - - - - - - - - 简
6、洁,安全性好,可扩展性强等特点;1.1 数字电压表技术进呈现状与前景传统的模拟式 即指针式 电压表已有 100 多年的进展史, 虽然不断改良与完善,仍无法满意现代电子测量的需要,数字电压表自1952 年问世以来,显示强大的生命力, 现已成为在电子测量领域中应用最广泛的一种外表;数字电压表简称 DVMDigital Voltmeter ,它是采纳数字化测量技术, 把连续的模拟量 直流输入电压 转换成不连续、 离散的数字形式并加以显示的外表;智能化数字电压表就是最大规模集成电路LSI、数显技术、电脑技术、自动测试技术ATE的结晶;一台典型的直流数字电压表主要由输入电路、A/D 转换器、掌握规律电路
7、、显示器,以及电源电路等级部分组成;1 与传统的指针式电压表相比数字电压表具有以下特点:1. 显示清楚、直观、读数精确传统的模拟式电压表必需借助指针和刻度盘进行读数;在读书过程中不行避免地会引入人为的测量误差例如视差 ,并且仍简洁造成视觉疲惫,数字电压 表就采纳了先进的数显技术,使显示结果一目了然,只要外表不发生跳数现象,测量结果就是唯独的, 不仅保证了读书的客观性与精确性,仍符合人们的读数习 惯,能够缩短读书和记录的时间;数字电压表的精确度是测量结果中系统误差与随机误差的综合;它便是测量 结果与真值的一样程度, 也反映测量误差的大小, 一般讲精确度愈高, 测量误差 愈小,反之亦然;数字电压表
8、的精确度远优于模拟式电压表,后者的精确度只有 7 个等级:0.1 、0.2 、0.5 、1.0 、1.5 、2.5 、5.0 ;而一般的数字电压表的精确度就已经超 过这几个等级 2 ;辨论率是数字电压表能够显示的被测电压的最小变化值,也就是使显示器末 位跳一个字所需的输入电压值, 通常用百分数表示;12位 DVM的辨论率为 1/4096 ,这是符合要求的精确度;2 名师归纳总结 - - - - - - -第 3 页,共 21 页精选学习资料 - - - - - - - - - 在数字电压表的基础上, 仍可以扩展成各种专用及通用数字外表、数字多用表;数字电压表在每秒内对被测量电压的测量次数,叫测
9、量速率,单位是“ 次 /S” ;它主要取决于 A/D 转换器的转换速率; 目前,数字电压表的最高测量速率已到达 10 万次 /S3 ;数字电压表具有很高的输入阻抗,通常为10- 10000, 最高可到4 10;这样在测量时从测量点路上吸取的电流微小,不会影响被测信号源的工作状态,由此可减小由信号源内阻带来的附加误差;7. 集成度高,微功耗新型的数字电压表普遍采纳CMOS大规模集成电路,整机功耗很低;数字电压表的内部干扰有漂移及噪声,外部干扰有串模干扰及共模干扰;经过数字滤波和浮地爱护等技术,数字电压表具有很高的抗干扰才能;由于数字电压表具有以上诸多优点优点,所以在国内外已得到很广泛的应 用,具
10、有很好的进展前景;本课题讨论目的和意义 MSP430F149是德州仪器公司 TI 新推出的高性能的超低功耗 16 位微掌握 器,在测量系统、工业掌握、数据采集和智能仪器外表领域有着广泛的应用,MSP430F149内嵌 12 位高精度 A/D 转换器 4 ;采纳 MSP430F149的数字电压表精 度高、抗干扰才能强,可扩展性强、集成便利,价格低廉,目前在国内外得到了 广泛的应用,有很好的进展前景;本课题的设计任务及要求 1. 基于 MSP430F149 数字电压表系统软件设计的设计任务 设计由 MSP430F149为掌握器的直流数字电压表模块, 对输入的直流电压进行 测量,并通过 12864C
11、-1 液晶显示器显示测量电压值;学习并把握 MSP430F149工 作原理及应用系统的开发, 学习并把握 IAR公司的 IAR Embedded Workbench EW430开发平台使用和操作;在EW430 设计平台上完成数字电压表模块系统初始化及3 名师归纳总结 - - - - - - -第 4 页,共 21 页精选学习资料 - - - - - - - - - A/D 转换、 LCD显示等程序的设计、编写和调试工作;2. 基于 MSP430F149 数字电压表系统软件设计的设计要求 要求直流电压测量范畴: 0V3V,01 V;完成数字电压表模块软件程序的 设计工作;本章小结随着电子技术的进
12、展,需要高精度的测量工具,而基于 MSP430F149 数字 电压表度高、抗干扰才能强,可扩展性强、集成便利,价格低廉,目前在国内外得到了广泛的应用,前景可观,具有极其深远的讨论意义;2 基于 MSP430F149的数字电压表系统数字电压表设计主要部分有电源部分、程序下载接口;AD转换部分、 LCD显示部分、 JTAG1. 电源采纳 USB电源加分压电路为整个系统供电;430F149单片机,单片机自带ADC12高精度 12 位模数转换电路;12864C-1液晶做显示器,实现测量的 4 位电压显示;4. 单片机自带程序下载接口可用 器直接下载程;14 脚 JTAG接口连接,之后就可以通过下载5.
13、 除以上主要部分仍有 32.768 的单片机外接晶振电路,连接在单片机复位端脚的复位电路;以上是主要部分介绍具体连接电路在下面介绍;图4 2.1 是系统总体结构图:名师归纳总结 - - - - - - -第 5 页,共 21 页精选学习资料 - - - - - - - - - YJD12864c-1液晶电源电路为液晶提系统电源:USB接口和分压电供 5V电压路部分测量电压输入电路为单片机提 供 3V电压P6.0 口模拟电压输入端JTAG程序下载口晶振电路MSP430F149 单片机万能板12*18cm复位电路单片机测试电路 MSP430F149单片机介绍2.2.1 简洁概述MSP430F149
14、芯片是美国 TI 公司推出的超低功耗微处理器,有 60KB+256字节 FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带 3 个捕捉比较寄存器和 PWM 输出的 16 位定时器、带 7 个捕捉比较寄存器和 PWM 输出的 l6 位定时器、 2 个具有中断功能的 8 位并行端口、 4 个 8 位并行端口、模拟比较器、12位 AD转换器、 2 个串行通信接口等模块;5 MSP430F149主要特点1. 低功耗 : 电压 1.8 3.6V 低电压, RAM数据保持方式下耗电仅 0.1pA ,活动模式下耗电 250pA/MIPSMIPS: 每秒百万条指令数 ,I/O 输入端口的漏电流最大仅
15、 50nA;2. 强大的处理才能 :MSP430 系列单片机采纳了目前流行的精简指令集 RISC结构,一个时钟周期可以执行一条指令,因此在 到达 8MIPS;8MHz晶振工作时,指令速度可3. 丰富的片上外围模块 :MSP430系列单片机结合 TI 的高性能模拟技术,各成员都集成了较丰富的片内外设,具体到MSP430F149单片机有以下功能模块 :看门狗 WDT,模拟比较器 A,定时器 ATimer A ,定时器 BTimer B ,串口,5 名师归纳总结 - - - - - - -第 6 页,共 21 页精选学习资料 - - - - - - - - - 1USART0,1 ,硬件乘法器,液晶
16、驱动器,口 l-6P1 P6,基本定时器; 6 12 位 ADC,直接数据存取 DMA,端4. 系统工作稳固 :MSP430系列单片机均为工业级器件,运行环境温度为-40 一+85,运行稳固、牢靠性高,所设计的产品适用于各种民用和工业环境;5. 便利高效的开发环境 : 由于器件片内有 JTAG调试接口,仍有可电擦写的FLASH储备器,因此采纳先通过JTAG接口下载程序到 FLASH内,再由 JTAG接口掌握程序运行、 读取片内 CPU状态,以及储备器内容等信息供设计者调试,整个开发 编译、调试 都可以在同一个软件集成环境中进行;7 MSP430F149 芯片引脚功能介绍MSP430F149芯片
17、设计时的封装方式为贴片式封装,64 个引脚,引脚间距为,单片机面积很小很难手工焊接, 所以够买的是带有转接板的单片机,贴片式的单片机转接成 4 列 2*8 排针的引脚,排针脚间距约为,能与万能板匹配 8 ;MSP430F149单片机引脚如图 2.2 所示:图 2.2 MSP430F149 单片机引脚图6 名师归纳总结 - - - - - - -第 7 页,共 21 页精选学习资料 - - - - - - - - - MSP430F149单片机各端口功能;端口表2.1 MSP430端口功能功能P1、P2 I/O 、中断功能、其他片内外设功能P3、P4、P5、P6 I/O 、其他片内外设功能S、C
18、OM I/O 、驱动液晶端口使用特性:1. 全部端口都可以单独进行编程;2. 可以进行输入输出和中断条件的任意组合;3. 对具有中断功能的引脚输入沿可进行挑选;4. 具有第 2 功能挑选,以适合不同 I/O 口操作;5. 全部指令支持端口掌握寄存器的读写操作;2.3 本章小结本章主要介绍本课题的总体设计方案以及对于单片机 芯片的特点及引脚功能进行了介绍;4 系统软件设计 MSP430F149的核心本系统设计中采纳 IAR Embedded Workbench forMSP430 6.0软件,这是一款 特别优秀的 LED开发环境具有强大的编译才能和调试功能;4.2 软件设计总体流程图依据模块划分
19、原就,将改程序划分为初始化模块、A/D 转换子程序、 LCD显示子程序,这三个程序模块构成了整个系统软件的主程序,软件设计总体流程图如图 4.1 所示:7 名师归纳总结 - - - - - - -第 8 页,共 21 页精选学习资料 - - - - - - - - - 开头初始化调用 A/D 转换子程序调用 LCD显示子程序终止图 4.1 总体流程图4.3 程序设计 初始化程序 所谓初始化, 是对将要用到的 MSP430 系列单片机内部部件或扩展芯片进行初始工作状 态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开 定时器等; 9 初始化程序如下:#include u
20、nsigned char flag=1;/* void uart_orgvoid ME1 |= UTXE0 + URXE0; 初始化程序 */ / Enable USART0 TXD/RXD UCTL0 |= CHAR; / 8-bit character UTCTL0 |= SSEL0; / UCLK = ACLK UBR00= 0x03; / 32768/9600 UBR10= 0x00; UMCTL0= 0x4a; P3SEL |= 0x30; P3DIR |= 0x10; / P3.4,5 = USART0 TXD/RXD 8 名师归纳总结 - - - - - - -第 9 页,共 2
21、1 页精选学习资料 - - - - - - - - - UCTL0 &= SWRST; / Initialize USART state machine IE1 |= URXIE0; / Enable USART0 RX interrupt 4.3.2 A/D 转换程序A/D 转换子程序用来掌握对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图 4.2 所示:待测电压ADC12 模块从 ADC12MEMO中读取数字值均值滤波标度转换数字切割调用显示程序在液晶上显示LCD显示函数A/D 转换程序如下:/* 将模拟电压值显示在 12864c-1 液晶上;- */ #
22、include / 9 名师归纳总结 - - - - - - -第 10 页,共 21 页精选学习资料 - - - - - - - - - #define E BIT2 #define Number_of_Results 200 void uart_orgvoid; void UartStrunsigned char *p; void delayunsigned int i; / void delayunsigned int t ; void write_comunsigned char cmdcode; void write_dataunsigned char Dispdata; void
23、lcdreset ; void hzkdis char *s ; void ceshi ; void clrscreen; unsigned char shuzi = 0123456789.; static unsigned int resultsNum_of_Results; / void Trans_valunsigned int Hex_Val; void InitADC12; 储存 ADC转换结果的数组/* 主函数 */ void mainvoid WDTCTL = WDTPW+WDTHOLD; P3DIR|=0x47; P3OUT&=RES; P3DIR|=0x47; P3OUT=0
24、x00; 10 名师归纳总结 - - - - - - -第 11 页,共 21 页精选学习资料 - - - - - - - - - P1DIR|=0X20; P1OUT=0x00; P1OUT&=PSB; delay300; P1OUT|=PSB; / PSB=1; P3OUT|=RES; P3OUT&=RW; / RW=0; LCD reset; / 初始化 LCD屏 ceshi; delay25000; Clrscreen; delay5000; uartorg ; UartStr开头上传数据请稍候 -rtn; delay5000; UartStr 电压测量开头: rtn; P6SEL|=
25、0x01; / 使能 ADC通道 A0 ADC12IE = 0x01; ADC12CTL0 = ADC12ON+MSC ; /开 ADC12内核, 设 SHT0=2 N=4 / 应当加上 MSC和 SHT ADC12CTL1 = SHP+CONSEQ_2 ; /SAMPCON信号选为采样定时器输出 / 应当加上CONSEQ_2 挑选单通道多次转化 /ADC12内部参考电压设置 ADC12CTL0 |= REFON; /内部参考电压打开 delay5000; ADC12MCTL0 |= SREF_1; /R+=3.3V R-=VSS / 转换答应 ADC12CTL0 |= ENC ; / 转换答
26、应 上升沿 11 名师归纳总结 - - - - - - -第 12 页,共 21 页精选学习资料 - - - - - - - - - _EINT;/ 使能转换 ADC12CTL0 |= ADC12SC; / /* 函数名称: ADC12ISR 功 能: ADC中断服务函数,在这里用多次平均的参 数:无返回值:无 */ #pragma vector=ADC_VECTOR _interrupt void ADC12ISR void static unsigned int index = 0; resultsindex+ = ADC12MEM0; / Move results ifindex = N
27、umber_of_Results unsigned char i; unsigned long sum = 0; index = 0; fori = 0; i Number_of_Results; i+ sum += resultsi; sum =sum/200; / 除以 200 sum=sum*3000/4095;/ 程再除以最大数字值,转换结果,将 AD12中数据线性平均后的结果,乘以量12 名师归纳总结 - - - - - - -第 13 页,共 21 页精选学习资料 - - - - - - - - - /转换为可以在 LCD上显示的模拟电压值,量程扩大1000 倍,是在后面的数字切割
28、算法中使用便利;Trans_valsum; /* 函数名称: Trans_val 功 能:将 16 进制 ADC转换数据变换成 4 位 10 进制 真实的模拟电压数据,并在液晶上显示返回值:无 */ void Trans_valunsigned int Hex_Val int m,n,j=0; unsigned char p5; p0=shuziHex_Val/1000; m=Hex_Val%1000; p2=shuzim/100; n=Hex_Val%100; p3=shuzin/10; j=Hex_Val%10; p4=shuzij; write_com0x80; hzkdis 测量电压:
29、 ; write_com0x89; forint i=0;i=4;i+ unsigned int l=pi; ifi=1 13 名师归纳总结 - - - - - - -第 14 页,共 21 页精选学习资料 - - - - - - - - - hzkdis.; UartStr.; goto llb; switchl case 0: UartStr0; delay1000; break; case 1: UartStr1; delay1000; break; case 2: UartStr2; delay1000; break; case 3: UartStr3; delay1000; brea
30、k; case 4: UartStr4; delay1000; break; case 5: UartStr5; 14 名师归纳总结 - - - - - - -第 15 页,共 21 页精选学习资料 - - - - - - - - - delay1000; break; case 6: UartStr6; delay1000; break; case 7: UartStr7; delay1000; break; case 8: UartStr8; delay1000; break; case 9: UartStr9; delay1000; break; llb: ifi.=1 write_da
31、tapi; hzkdisV; UartStrVrtn; delay5000; delay5000; 15 名师归纳总结 - - - - - - -第 16 页,共 21 页精选学习资料 - - - - - - - - - delay5000; lcdreset; LCD 显示子程序 LCD程序几乎没有算法只是按寄存器送掌握字,就可以实现数据接收显示,所以只 要把握 12864 的掌握命令字就可以自由的实现显示功能;LCD 显示子程序如下:#include #define E BIT2 #define FIRST_ADDR 0 /*-延时子程序 -*/ void delayunsigned in
32、t t unsigned int i,j; fori=0;it;i+ forj=0;j0 write_data*s; s+; delay50; /*- 首屏显示 -*/ void ceshi write_com0x01;/清除显示,并且设定地址指针为 00H delay5; write_com0x80;/第一行假如是地址是:hzkdisMSP430 数字电压表 ; delay5000; 80H,即 LCD 的第一行的第一个位置显示18 名师归纳总结 - - - - - - -第 19 页,共 21 页精选学习资料 - - - - - - - - - write_com0x90;/其次行假如是地
33、址是:示hzkdis设计人: ; delay5000; write_com0x88;/第三行假如是地址是:示hzkdis10 电子信息工程专升本 ; delay5000; write_com0x98;/第四行假如是地址是:示hzkdis许小陪 2022; delay5000; 90H,即 LCD 的其次行的第一个位置显A0H,即 LCD 的第三行的第一个位置显B0H,即 LCD 的第四行的第一个位置显/*- 清屏命令 -*/ void clrscreen write_com0x01; delay10; 4.4 软件调试 软件调试的主要任务是排查错误,错误主要包括规律和功能错误,这些错误有些是 显性的,而有些是隐形的, 可以通过仿真开发系统发觉逐步改正;本系统设计中采纳 IAR Embedded Workbench forMSP430 6.0软件,这是一款特别优秀的 LED开发环境具有强大 的编译才能和调试功能;本章小结本章主要介绍基于MSP430F149 的数字电压表系统的软件设计,并在IAR EW430 设计平台上完成了软件程序设计,并进行了软件调试;5 结论19 名师归纳总结 - - - - - - -第 20 页,共 21 页精选学习资料 - - - - - - - - - 软件设计程序可以实现03V 电压测