欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年数字频率计的设计_电子系统设计综合实验设计报告.docx

    • 资源ID:57925430       资源大小:658.87KB        全文页数:34页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年数字频率计的设计_电子系统设计综合实验设计报告.docx

    精选学习资料 - - - - - - - - - 杭州电子科技高校电子系统设计综合试验设计报告实验名称1数字频率计设计大组号徐志朗111192127小组号49姓名学号指导教师2022 年 5 月 15 日摘要在电子技术中,频率是最基本地参数之一,数字频率计具有精度高、使用便利、测量快速、以及便于实现测量过程自动化等优点,是近代电子技术领域地重要工具之一,在很多领域得到广泛应用 .本系统以超低功耗 MSP430G2553 单片机为核心处理芯片来测量信号地频率,通过定时器 A 采纳计数法完成信号频率测量,并将被测频率值通过 LCD12864 液晶串行显示 .频率可测量范畴在 1Hz到60KHz 之间 .关键字:频率 430单片机 液晶显示 串口1方案论证与比较1.1测频基本方法和原理比较名师归纳总结 方案一:使用测频法进行频率测量,测频法即在限定地时间内(如1s)检测脉冲地个数.当被测频第 1 页,共 20 页率地范畴比较高时,使用测频法比较合适.方案二:使用测周法进行频率测量,测周法即测试限定地脉冲个数之间地时间.当被测频率地范畴- - - - - - -精选学习资料 - - - - - - - - - 比较低时,使用测周法比较合适 .考虑到较高地测试频率,在此使用方案二,即测频法进行测量 . 1.2 处理器地方案挑选论证本设计使用 TI 公司地 MSP430G2553 低功耗单片机为主控芯片,该单片机地 I/O 接口较少,但内部资源丰富,如含有 10位AD 转换、 16位定时器 /计数器、 USART 接口等,处理功能强大,足以胜任此次设计任务 .1.3 滞回比较电路放大器地挑选方案一:使用 TI 公司地 OP37放大器,该放大器对信号转换速率快且稳固,适用于对高频信号地转换,但价格较高 .方案二:使用一般地 LM324 放大器,该放大器对信号转换速率慢,适用于对低频信号地转换,价格廉价 . 考虑到三角波和正弦波在频率较高时转化为方波时对放大器地转化速率要求较高,在此使用方案一,即使用 TI 公司地 OP37放大器作为滞回比较电路地核心转换芯片 .2系统设计2.1总体设计系统硬件设计方案如图 2.1-1所示:图2.1-1 硬件设计方框图名师归纳总结 - - - - - - -第 2 页,共 20 页精选学习资料 - - - - - - - - - 电源系统由LM7805 和 200V 转 ±18V 中心变压器组成,实现对MSP430G2553 核心处理芯片、LCD12864 液晶显示供应所需电源 .显示部分由 12864液晶对频率值进行实时显示 . 软件设计部分包括单片机地 I/O 中断和定时中断,以及液晶地驱动和显示 . 该设计由硬件和软件共同实现了频率计地功能,整体设计过程可概括为:被测信号通过滞回比较电路整形为适合单片机接收地脉冲信号(方波)输入单片机,单片机通过 测信号地频率并通过液晶对频率进行实时显示 .2.2单元电路设计 2.2.1 MSP430G2553 和12864液晶引脚功能说明 2.2.1.1 MSP430G2553 引脚功能说明I/O中断和定时器共同获得被本次设计需要用到 430单片机地 1脚电源、 16脚复位端、 20脚接地端、配置 P1.0口为待测信号输入端, P2.0为LCD 片选信号端,P2.1为LCD 串行数据输入 输出端, P2.2为LCD 串行时钟输入 输出端,P2.3为LCD 串并模式挑选端,如表 2.2.1.1-1所示 .表2.2.1.1-1 MSP430G2553 引脚及功能说明引脚序号引脚名称功能说明1VCC电源正2P1.0频率信号输入端3P1.11KHz 方波产生引脚5P2.0LCD 片选信号端6P2.1LCD 串行数据输入输出端7P2.2LCD 串行时钟输入输出端8P2.3LCD 串并模式挑选端16RST复位脚20GND电源地2.2.1.2 LCD12864 引脚功能说明LCD12864 液晶显示屏用到 1、2脚,电源接口线,19、20脚背光电源接口线,15脚并行 /串行接口选择, 5脚串行数据口,6脚串行地同步时钟 .LCD12864 引脚功能如表 2.2.1.2-2所示 .表2.2.1.2-2 LCD12864 引脚功能说明名师归纳总结 引脚序号引脚名称功能说明第 3 页,共 20 页- - - - - - -精选学习资料 - - - - - - - - - 1VSS模块地电源地2VDD模块地电源正端4RSCS并行指令 /数据挑选信号、串行片选信号5R/WSID并行读写挑选信号、串行地数据口6ECLK并行使能信号、串行地同步时钟15PSBPSB并/串行接口挑选:H-并行, L-串行19LED_A背光源正极20LED_K背光源负极( 0V )2.2.2滞回比较电路设计滞回比较电路将输入信号波形转化为脉冲信号,另外波形变换和波形整形电路实现把正弦波样地正负交替地信号波形变换成可被单片机接收地 地数据通过 12864液晶显示 .TTL 信号,以便单片机对其进行频率测量,最终将测得滞回比较器是一个具有迟滞回环传输特性地比较器 .在反相输入单门限电压比较器地基础上引入正反馈网络,就组成了具有双门限值地反相输入滞回比较器.由于反馈地作用这种比较器地门限电压是随输出电压地变化而变化地 .它地灵敏度低一些,但抗干扰才能却大大提高 .反相滞回比较器地电路组成如图2.2.2-1所示,假如把 VI 和VREF 位置互换,就可以构成同相输入迟滞比较器 .图2.2.2-1 反相滞回比较器电路组成滞回比较器又可懂得为加正反馈地单限比较器.对于单限比较器,假如输入信号在门限值邻近有微名师归纳总结 小地干扰,就输出电压就会产生相应地抖动(起伏),而在此电路中引入正反馈可以克服这一缺点.第 4 页,共 20 页整个滞回比较电路原理图如图2.2.2-2 所示 . - - - - - - -精选学习资料 - - - - - - - - - 图 2.2.2-2 滞回比较电路图OP37和R4、R8组成滞回比较器,对被测信号转化为脉冲信号,二极管实现对脉冲信号进行整形,滤去负电平部分,变成可被单片机接收地TTL 信号,输入到单片机,以实现频率测量.2.2.3 显示电路设计该频率计采纳 12864液晶进行显示12864液晶显示器是一种具有 4 位/8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库地点阵图形液晶显示模块;其显示辨论率为 128 ×64, 内置 8192 个 16*16 点汉字,和128个16*8点 ASCII 字符集 .利用该模块敏捷地接口方式和简洁、便利地操作指令,可构成全中文人机交互图形界面 .可以显示 8 ×4 行 16 ×16 点阵地汉字 . 也可完成图形显示.低电压低功耗是其又一显著特点.由该模块构成地液晶显示方案与同类型地图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块地价格也略低于相同点阵地图形液晶模块 .液晶地掌握管脚与 430单片机地连接如下图 2.2.3-2所示 . 图2.2.3-2 液晶掌握管脚连接图名师归纳总结 - - - - - - -第 5 页,共 20 页精选学习资料 - - - - - - - - - 3软件设计3.1 总体设计流程图系统软件设计包括测量初始化模块、显示模块、定时器中断服务模块、I/O中断模块 .系统软件整体流程图如图 3.1-1所示 .图3.1-1 系统软件整体设计流程图3.2 各功能子模块介绍3.2.1 初始化模块设备初始化包括关闭看门狗,I/O口输入 /输出功能地配置,时钟初始化,端口初始化以及液晶初名师归纳总结 - - - - - - -第 6 页,共 20 页精选学习资料 - - - - - - - - - 始化,开总中断,其流程图如图 3.2.1-1所示 .3.2.1-1 系统初始化流程图3.2.2 中断模块名师归纳总结 第一开启定时溢出中断和I/O 中断,再打开总中断,计数器开头计数,当计数溢出时进入溢出中第 7 页,共 20 页断,且溢出次数加1,当有上升沿到来时,进入I/O中断,运算两次中断之间(一个周期内)地计数值,并转化为频率值.TA中断流程图如图3.2.2-1所示 .- - - - - - -精选学习资料 - - - - - - - - - 图3.2.2-1 TA 中断流程图 I/O 中断流程图如图 3.2.2-2所示 . 图3.2.2-2 I/O 中断流程图 3.2.3 显示模块 第一依据 12864液晶地时序图写出液晶驱动函数,并调用驱动函数完成在指定位置处显示字符地功 能函数,这样通过定时刷新液晶屏就可以显示频率值了,而且显示位置可以依据需要任意指定 .3.2.4 串口模块第一将出口进行初始化,然后当定时器达到1S时,串口定时向PC机发送当前测到地频率值,串口流程图如图 3.2.4-1所示 .图3.2.4-1 串口流程图名师归纳总结 - - - - - - -第 8 页,共 20 页精选学习资料 - - - - - - - - - 4 系统测试4.1 测试 430单片机自身产生1KHz 方波地频率1KHz 地方波接入被测信号接口,测试结果如表4.1-1. 将模拟开关闭合,使430单片机自身产生地表 4.1-1 430单片机自身产生方波测试结果次数实际频率测试频率串口发送频率(ASCII 码)11KHz991Hz39 39 31 21KHz992Hz39 39 3231KHz992Hz39 39 314.2 测试由信号发生仪产生地频率将模拟开关断开,使信号发生仪产生方波接入被测信号接口,测试结果如表 4.2-1. 表4.2-1 外部接入方波测试结果:次数 实际频率 测试频率 串口发送频率(ASCII 码)1 100Hz 98 Hz 39 382 1KHz 991 Hz 39 39 313 20KHz 19526 Hz 31 39 35 32 364 35 KHz 34125Hz 33 34 31 32 35 5 55 KHz 54655 Hz 35 34 36 35 35将模拟开关断开,使信号发生仪产生正弦波接入被测信号接口,测试结果如表 4.2-2.表4.2-2 外部接入正弦波测试结果:次数实际频率测试频率串口发送频率(ASCII 码)1100Hz97Hz39 3721 KHz992Hz39 39 32320 KHz19498Hz31 39 34 39 38435 KHz34268Hz33 34 32 36 38555 KHz54623Hz35 34 36 32 33表4.2-2 外部接入正弦波测试结果将模拟开关断开,使信号发生仪产生三角波接入被测信号接口,测试结果如表 4.2-3. 表 4.2-3 外部接入三角波测试结果名师归纳总结 次数实际频率测试频率串口发送频率(ASCII 码)第 9 页,共 20 页1100Hz97Hz39 3721 KHz991 Hz39 39 31- - - - - - -精选学习资料 - - - - - - - - - 320 KHz19544Hz31 39 35 34 34435 KHz34368Hz33 34 33 36 38555 KHz54645Hz35 34 36 34 35从以上实测数据看,本设计很好地完成了设计题目中地各项要求,具有优良地性能,且实物做工精致,这说明本设计是比较胜利地 .附录附一:参考文献1. 胡大可 ,MSP430超低功耗 16位单片机原理与应用 ,北京航空航天高校出版社 . 2. 童诗白,华成英,模拟电子技术基础(第四版),清华高校出版社 ,2006.01. 3. MSP430G2553DataSheet. 4. X2XXUserGuide. 5. Op37DataSheet. 附二:元器件及仪器明细表LanchPad430开发板 1块电源模块 1个12864液晶屏 1个MSP430G2553 处理器 1个USB线 1根焊接板 3块OP37放大器 1个模拟开关 1个杜邦线 如干电阻 如干电容 如干附三:设计原理图图附三 -1为单片机最小系统 . 附三 -1 单片机最小系统:名师归纳总结 - - - - - - -第 10 页,共 20 页精选学习资料 - - - - - - - - - 图附三 -3为滞回比较电路 . 附三 -3 滞回比较电路名师归纳总结 - - - - - - -第 11 页,共 20 页精选学习资料 - - - - - - - - - 附五:试验设计程序/* * 头文件 */ #include<msp430g2553.h> #include "stdio.h" /* * 全局变量地定义和宏定义 */ unsigned int start,end;unsigned long int F = 0 ;unsigned char TA_overflow ;unsigned int TA_i = 0 ;unsigned int port_i ;unsigned char tab="0123456789";unsigned char a8 ;unsigned char int_to_string10 ;unsigned char int_array10 ;#define uchar unsigned char #define uint unsigned int #define CS_0 P2OUT &= BIT0 / 片选为低电平 /片选为高电平 #define CS_1 P2OUT |= BIT0 #define SID_0 P2OUT &= BIT1 /串行数据输入为 0 #define SID_1 P2OUT |= BIT1 /串行数据输入为 1 /时钟线拉低 #define SCLK_0 P2OUT &= BIT2 #define SCLK_1 P2OUT |= BIT2 /时钟线拉高 #define PSB_0 P2OUT &= BIT3 /出行输入#define LCD_DIR_OUT P2DIR |= BIT0 + BIT1 + BIT2 + BIT3 /* * 名称 : SendByte * 功能 : 发送数据 * 输入 : Dbyte * 输出 : 无/4个端口设置为输出*/void SendByteuchar Dbyte uchar i;LCD_DIR_OUT ;fori = 0 ;i < 8;i+ ifDbyte << i & 0x80 名师归纳总结 - - - - - - -第 12 页,共 20 页精选学习资料 - - - - - - - - - SID_1 ; else SID_0 ; SCLK_0 ;_delay_cycles2 ;SCLK_1 ; /* * 名称 : Write_Instruction * 功能 : 向LCD 写指令 * 输入 : data * 输出 : 无 */ void Write_Instructionuchar data LCD_DIR_OUT ;CS_1;SendByte0xf8 ;SendBytedata & 0xf0 ;SendBytedata << 4 & 0xf0 ;_delay_cycles20 ; /* * 名称 : Write_Data * 功能 :向LCD 写入数据 * 输入 : data * 输出 : 无 */ void Write_Datauchar data LCD_DIR_OUT ;CS_1;SendByte0xfa ;SendBytedata & 0xf0 ;SendBytedata << 4 & 0xf0 ;_delay_cycles20 ; 名师归纳总结 - - - - - - -第 13 页,共 20 页精选学习资料 - - - - - - - - - /* * 名称 : LCD12864_Delay * 功能 : 初始化 LCD12864 * 输入 : 无 * 输出 : 无 */ void LCD_Init LCD_DIR_OUT ; /设置输入方向为输出 PSB_0;/LCD 为串行输入方式 Write_Instruction0x30 ;/基本指令集 _delay_cycles10000 ;Write_Instruction0x02 ;/地址归位 _delay_cycles10000 ;Write_Instruction0x0c ;/整体显示打开 ,游标关闭 _delay_cycles10000 ;Write_Instruction0x01 ;/清除显示 _delay_cycles10000 ; /游标右移 Write_Instruction0x06 ;_delay_cycles10000 ;Write_Instruction0x80 ;/设定显示地起始地址 _delay_cycles10000 ; /* * 名称 : Write_Pos * 功能 : 确定输入数据位置置 * 输入 : x,y * 输出 : 无 */ void Write_Posuchar x,uchar y uchar pos; ifx = 1 / 第一行显示 x = 0x80 ; else ifx = 2 / 其次行显示 x = 0x90 ; else ifx = 3 / 第三行显示 x = 0x88 ; else ifx = 4 / 第四行显示 x = 0x98 ; pos = x + y-1 ; Write_Instructionpos ;/显示地址名师归纳总结 - - - - - - -第 14 页,共 20 页精选学习资料 - - - - - - - - - /* * 名称 : Write_Word_To_12864 * 功能 : 在坐标 x,y处写入数据 * 输入 : x,y,*word * 输出 : 无 */ void Write_Word_To_12864uchar x,uchar y,uchar *word uchar i;LCD_Init ;Write_Posx,y ;fori = 0 ;*word+i.='0' ;i+ Write_Datawordi ; void ShowInit Write_Word_To_128641,1," 频率计 :" ;_delay_cycles50000 ;Write_Pos2,7 ;Write_Data'H' ;Write_Data'z' ;_delay_cycles10000 ; void ShowF Write_Pos2,4 ;ifF >= 100000 Write_DatatabF/100000 ;Write_DatatabF%100000/10000 ;Write_DatatabF%10000/1000 ;Write_DatatabF%1000/100 ;Write_DatatabF%100/10 ;Write_DatatabF%10 ;_delay_cycles1000 ; else ifF >= 10000 名师归纳总结 - - - - - - -第 15 页,共 20 页精选学习资料 - - - - - - - - - Write_DatatabF/10000 ;Write_DatatabF%10000/1000 ;Write_DatatabF%1000/100 ;Write_DatatabF%100/10 ;Write_DatatabF%10 ;_delay_cycles1000 ; else ifF >= 1000 Write_DatatabF/1000 ;Write_DatatabF%1000/100 ;Write_DatatabF%100/10 ;Write_DatatabF%10 ;_delay_cycles1000 ; else ifF >= 100 Write_DatatabF/100 ;Write_DatatabF%100/10 ;Write_DatatabF%10 ;_delay_cycles1000 ; else ifF >= 10 Write_DatatabF/10 ;Write_DatatabF%10 ;_delay_cycles1000 ; else Write_DatatabF ;_delay_cycles1000 ; /* * 名称 : Init_uart0 * 功能 : 初始化串口 * 输入 : 无 * 输出 : 无 */ void Init_uart0 名师归纳总结 UCA0CTL1|=UCSWRST; /UCA0 软件复位第 16 页,共 20 页- - - - - - -精选学习资料 - - - - - - - - - /UCA0CTL0&=UC7BIT;/字符长度为 8 UCA0CTL1|=UCSSEL_2 ;/挑选系统时钟 :SMCLK UCA0BR0=0x6D ; /波特率为 9600 UCA0BR1=0 ; UCA0MCTL=0 ; /UCA0MCTL=UCBRS0;/开接收使能 IE2=UCA0RXIE+UCA0TXIE UCA0CTL1&=UCSWRST; P1SEL|=BIT1+BIT2 ; /将P1.1 P1.2设为其次功能 P1SEL2|=BIT1+BIT2 ; /* * 名称 : Uart0Sends * 功能 : 串口发送数据 * 输入 : *s * 输出 : 无 */ void Uart0SendsDatachar *s while*s.='0' UCA0TXBUF=*s; whileIFG2&UCA0TXIFG=0; /查询发送是否终止 IFG2&=UCA0TXIFG; /清除发送一标志位 s+; /* * 名称 : Init_In * 功能 :初始化外部终端 * 输入 : 无 * 输出 : 无 */ void Init_In P1DIR |= BIT6 ;P1DIR &= BIT3;P1IES |= BIT3 ;P1IE |= BIT3 ;P1IFG &= BIT3 ;_EINT ; 名师归纳总结 - - - - - - -第 17 页,共 20 页精选学习资料 - - - - - - - - - void Init_Timer TACCTL0 = CCIE ; / CCR0 interrupt enabled TACCR0 = 1 ; TACTL = TASSEL_1 + MC_1 + TAIE + TACLR; /up mode /* * 名称 : Int_To_String * 功能 :将一个 int型数据转换为 String型 * 输入 : now_f * 输出 : 无 */ void Int_To_Stringunsigned long int now_f int j = 0 ;forj = 0 ; ; j+ int_arrayj = now_f % 10 + 48 ;now_f = now_f / 10 ;ifnow_f = 0 break ; int i = j ;fori = j , j = 0 ; i >= 0 ; i-,j+ int_to_stringj = int_arrayi; void main WDTCTL = WDTPW + WDTHOLD; P1DIR |= BIT7 ; / P1.0 output P1DIR |= BIT0 ; if CALBC1_1MHZ =0xFF | CALDCO_1MHZ = 0xFF while1 ; / If calibration constants erased / do not load, trap CPU. /1Mhz BCSCTL1 = CALBC1_1MHZ; / Set range DCOCTL = CALDCO_1MHZ; / Set DCO step + modulation */名师归纳总结 - - - - - - -第 18 页,共 20 页精选学习资料 - - - - - - - - - LCD_Init ;Init_In ;Init_Timer ;Init_uart0 ;ShowInit ;while1 ShowF ; #pragma vector=PORT1_VECTOR _interrupt void port_1 ifP1IFG & BIT3 P1OUT = BIT6 ;port_i+ ;ifport_i>=100 port_i = 0 ;F =unsigned long int1000000*100.0/TA_overflow*65536+TARTA_overflow = 0 ;TACTL |= TACLR ; P1IFG &= BIT3 ; / Timer A0 interrupt service routine #pragma vector=TIMER0_A0_VECTOR _interrupt void Timer_A void P1OUT = BIT7 ;TA_i+ ;ifTA_i = 2000 P1OUT = BIT0 ;TA_i = 0 ;Int_To_StringF ;unsigned char *s = int_to_string ;Uart0SendsDatas;Uart0SendsData"1000" ;名师归纳总结 - - - - - - -第 19 页,共 20 页精选学习资料 - - - - - - - - - #pragma vector=TIMER0_A1_VECTOR _interrupt void Timer_A1 switchTA0IV case 2:break;case 4:break;case 10:TA_overflow+ ;break; /*

    注意事项

    本文(2022年数字频率计的设计_电子系统设计综合实验设计报告.docx)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开