




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1 课程设计目的12 课程设计正文12.1系统分析12.1.1 设计的任务及步骤12.1.2 技术要求22.1.3设计思路22.2 总体设计22.2.1硬件设计22.2.2 系统框图设计32.3 元器件的选择32.3.1 单元电路设计32.3.2 单元模块分析42.4 程序流程图与源程序52.4.1 软件系统流程图53 运行结果54 课程设计总结65 参考文献7附录71 课程设计目的通过我们对dsp控制器及其应用课程的学习和理解,综合运用课本中所学到的理论知识完成一个温度采集与显示的课程设计。通过这次实践锻炼我们查阅资料、方案比较、团结合作的能力。在这个过程我们必须掌握温度采集技术的硬件
2、设计、熟悉a/d转换技术和dsp液晶显示功能的软件设计。学会采用简单电路的实验调试和整机指标测试方法,增强我们的动手能力,为以后学习和工作打下坚实基础。2 课程设计正文2.1系统分析 2.1.1 设计的任务及步骤 (1)熟悉mc1403(低压基准芯片)芯片的应用; (2)根据实验测得热敏电阻和温度的一些数据,设计温度电阻公式; (3)设计外部硬件电路; (4)软件完成程序流程图设计和编程,其中包括a/d转换和液晶显示部分; (5)软硬件联合调试; (6)书写设计说明书。2.1.2 技术要求 此系统利用热敏电阻测得电阻温度之间的关系,找到电阻和温度之间的代数关系,从而检测温度,设计硬件外扩电路,
3、同时设计软件程序,包括a/d程序设计,进行软硬件联系调试,能在液晶显示屏上显示温度。2.1.3设计思路 系统首先设计温度采集硬件电路,在多次实验运算拟合出热敏电阻输出电压值与温度之间的函数关系,热敏电阻的输出的电压值随温度的上升而下降,呈现出负系数,从而运用于实验中检测温度;然后将采集的温度送入dsp tms320f2812模数转换模块将电压信号变为数字信号,再编写函数来控制lcd来显示相应的温度及相关文字。2.2 总体设计 2.2.1硬件设计tms320f2812作为使用的dsp芯片。它包含33个电源引脚(为使器件正常运行,所有电源引脚必须正确连接且不能悬空)时钟源模块,dsp有六种信号可以
4、使dsp控制器复位,即电源复位、复位引脚rs、软件复位、非法地址复位、看门狗定时器溢出、欠压复位六种复位信号。所以在设计的初期,把它分成了五个模块。其中复位采用电源复位的方式,由引脚pcreset引起。为了可靠复位,其中低电平的有效时间至少6个cpu时钟周期。dsp最小系统组成框图如图1所示。 图1 dsp最小系统其中:开关sw-pb、电容c1、两个反相器及其电阻电源构成了复位电路,晶振与两个并联电容接xtal1与xtal2构成振荡电路,pwm1与pwm7构成了调制信号的输入与输出,旁路引脚接地,请求控制信号mp/mc与gnd接地。2.2.2 系统框图设计该系统包括温度采集电路模块、dspf2
5、812芯片、a/d转换部分和lcd液晶显示,首先要初始化a/d转换模块,然后等待中断,当产生中断后对采集到的模拟信号进行处理,为确保转换精度要进行多次取值求平均,转换结果放在结果寄存器的高12位上,通过编程将处理后的温度值送到lcd上进行显示。温度采集电路dspf2812a/d转换电路液晶显示模块 图2 系统设计流程图2.3 元器件的选择2.3.1 单元电路设计(1)设计方案mc1403芯片为数模转换提供基准电压,且输入端接+5v电源后再并联一个去噪声的电容,利用热敏电阻进行温度采集,采集后的输出电压(不得大于3.3v)与dsp的p2端口23引脚相连。(2)外扩电路设计图图3 温度采集电路原理
6、图2.3.2 单元模块分析(1)mc1403芯片的引脚结构如下图所示。图4 mc1403芯片vin端口输入一个4.55.0v的模拟电压值(接p2口的1引脚),在输入端接一个电容滤除其他频率分量,在vout端输出了一个稳定的电压值(接p2口的23引脚),该电压值不得大于3.3v,gnd端接模拟地(接p2口的33引脚)。(2) a/d转换模块当模/数转换完成后,读取结果寄存器前,最好先读取模/数转换控制寄存器adcrl2的adcfif01或adcfif02,以确定当前结果寄存器的状态,保证读取的结果是正确。另外,要注意12位的转换结果放在结果寄存器中的高12位上,该12位数据与外部模拟输入电压的关
7、系为:12位数字结果=4095*(输入电压/基准电压)2.4 程序流程图与源程序2.4.1 软件系统流程图软件系统流程图如图5所示。 开 始初始化dsp时钟初始化ctr初始化ad采样时钟中断采集数据存入voltagel中数据处理后的温度值送到lcd显示清楚并显示相关文字启动ad0通道采集 图5 程序流程图3 运行结果(1)运行描述m1403芯片作为模数转换提供基准电压,利用热敏电阻进行采集,采集后的输出电压与dsp的p2口23引脚相连。将采集到的电压送入a/d转换模块,编写程序实现a/d转换,转换结果放在结果寄存器的高12位上,编写函数获取a/d转换结果,将处理的温度值的各个对应显示到lcd上
8、。(2)系统调试 mc1403 芯片vin 端输入一个+5v的模拟电压值;在输入端接一个电容滤除其它频率分量;在 vout 端输出了一个稳定的电压值;gnd端直接接模拟地;给试验箱供电,打开 setup ccs2(c2000), 在弹出的对话框中选择icetek-5100 usb emulator for tms320f2812 导入,进行配置设置然后进入 ccs2(c2000),打开工程文件进行编译生成 .out 文件下载到硬盘中然后调试,观察液晶显示屏,第一行显示“温度显示”,第二行显示“ 温度值 ”,当用手触摸时,温度显示不断变化,实现了温度的采集与现实。4 课程设计总结通过学习dsp课
9、程我们都知道,dsp实际上也是一种单片机,它同样是将中央处理单元、控制单元和外围设备集成到一块芯片上。但dsp有别于普通的单片机,它采用了多组总线技术实现并行运行机制,从而极大地提高了运算速度,也提供了非常灵活的指令系统。通过这次课程设计,不仅是我进一步加深对课本知识的理解,更让我学会了团结合作的精神,不但锻炼了我们动手动脑的能力,还提高了我们分析问题、解决问题的能力,在这次设计中我也学会了遇事要冷静,团结合作,虚心请教,没有任何事情解决不了,最后衷心的感谢始终支持我们的老师们,你们辛苦了!5 参考文献1 万山明.tms320f281x dsp原理及应用实例.北京航空航天大学出版社,20072
10、 郑红,王鹏,董云凤,吴冠.dsp应用系统设计实践.北京航空航天大学出版社,20063 徐科军,张瀚,陈智渊.tms320f281xdsp 原理与应用.北京航空航天大学出版社,2006附录#include dsp281x_device.h / dsp281x headerfile include file#include dsp281x_examples.h / dsp281x examples include file/ prototype statements for functions found within this errupt void adc_isr(void)
11、;/ global variables used in this example:#define lcddelay 1#define lcdcmdturnon 0x3f#define lcdcmdturnoff 0x3e#define lcdcmdstartline 0xc0#define lcdcmdpage 0xb8#define lcdcmdveraddress 0x40#define adc_usdelay 8000l#define adc_usdelay2 20luint16 zhengshut,xiaoshut,zhongjian1,zhongjian2;float temp1=0
12、;unsigned char lcdkey532;unsigned char ledkey128;uint16 loopcount;uint16 conversioncount;float temp;uint16 i,j;uint16 voltage11024;uint16 voltage21024;void delay(int ndelay);void turnonlcd();void lcdcls();void lcdwrite(unsigned int x,unsigned int y,unsigned int lr,unsigned int n);void main(void) ini
13、tsysctrl(); eallow; gpiomuxregs.gpfmux.all=0x0000; /i/o:0 特殊功能:1 gpiomuxregs.gpfdir.all=0x000f;/ output edis; dint; initpiectrl(); ier = 0x0000; /cpu中断允许寄存器 ifr = 0x0000;/cpu中断标志寄存器 initpievecttable(); eallow; sysctrlregs.hispcp.all = 0x3; / hspclk = sysclkout/6给ad转换时钟提供一个6分频 edis; eallow; / this is
14、 needed to write to eallow protected register pievecttable.adcint = &adc_isr; edis; / this is needed to disable write to eallow protected registers initadc(); / 初始化ad piectrlregs.pieier1.bit.intx6 = 1; ier |= m_int1; / enable cpu interrupt 1 eint; / enable global interrupt intm ertm; / enable global
15、 realtime interrupt dbgm loopcount = 0; conversioncount = 0; / configure adc adcregs.adcmaxconv.all = 0x0001; / setup 2 convs on seq1 adcregs.adcchselseq1.bit.conv00 = 0x0; / setup adcina3 as 1st seq1 conv. adcregs.adcchselseq1.bit.conv01 = 0x1; / setup adcina2 as 2nd seq1 conv. adcregs.adctrl2.bit.
16、eva_soc_seq1 = 1; / enable evasoc to start seq1 adcregs.adctrl2.bit.int_ena_seq1 = 1; / enable seq1 interrupt (every eos)/ configure eva/ assumes eva clock is already enabled in initsysctrl(); evaregs.t1cmpr = 0x0080; / setup t1 compare value evaregs.t1pr = 0x0fff; / setup period register evaregs.gp
17、tcona.bit.t1toadc = 1; / enable evasoc in eva evaregs.t1con.all = 0x1042; / enable timer 1 compare (up turnonlcd(); /打开显示 lcdcls(); /清除显示内存 *(int *)0x108000=0x80;/ 初始化icetek-ctrdelay(lcddelay);*(int *)0x108000=0x0;delay(lcddelay);*(int *)0x108000=0x80;delay(lcddelay);*(int *)0x108001=lcdcmdstartline
18、;/ 设置显示起始行delay(lcddelay);*(int *)0x108002=0;delay(lcddelay); for(;) wendu(temp); lcdwrite(2,0,0,0); lcdwrite(2,16,0,1); lcdwrite(2,32,1,2); lcdwrite(2,48,1,3); lcdwrite(6,48,1,4);/在液晶屏上显示相应的汉字及符号 writenb(6,6,ledkeyzhengshut&0x000f,0,0); writenb(6,5,ledkey(zhengshut&0x00f0)4,0,0); writenb(6,2,ledkey
19、xiaoshut&0x000f,0,1); writenb(6,1,ledkey(xiaoshut&0x00f0)4,0,1); writenb(6,7,ledkey11,0,0);/在液晶屏上显示温度值 void delay( int ndelay)int ii,jj,kk=0;for ( ii=0;iindelay;ii+ )for ( jj=0;jj1024;jj+ )kk+;/打开显示子程序void lcdcls()int i,j;*(int *)0x108001=lcdcmdstartline;delay(lcddelay);*(int *)0x108002=0;delay(lcdd
20、elay);for ( i=0;i8;i+ )*(int *)0x108001=lcdcmdpage+i;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay);*(int *)0x108001=lcdcmdveraddress;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay);for ( j=0;j64;j+ )*(int *)0x108003=0;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay); *(int *)0x108001=lcdcm
21、dpage+i;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay);*(int *)0x108001=lcdcmdveraddress;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay);for ( j=0;j64;j+ )*(int *)0x108004=0;delay(lcddelay);*(int *)0x108002=0;delay(lcddelay);if(lr=0) int j; int k=n; *(int *)0x108001=lcdcmdpage+x; delay(1); *(int *)0x108002=0; delay(1); *(int *)0x108001=lcdcmdveraddress+y; delay(1); *(int *)0x108002=0; delay(1); for(j=0;j16;j+) *(int *)0x108003=lcdkeykj; dela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 种草经济在电商平台内容营销中的策略优化报告
- 2025年全球政府体验趋势报告 Government Experience Trends Report
- XX县XX局一次性告知制度
- 三类人员安全员b证考试题库及答案
- 数列大题题目及答案
- 贪吃蛇试题及答案大全
- 提供因式法测试题及答案
- 养护项目管理办法
- 养蚕基地管理办法
- 冀中能源管理办法
- 教育心理学2025年考试试题及答案
- 湖南土建中级职称-建筑工程《法律法规及技术标准》考试题(附答案)
- 2025-2030全球及中国石油、天然气和化学品软件行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 水泵保养操作规程
- 2025年国家粮食和物资储备局科学研究院招聘1人历年自考难、易点模拟试卷(共500题附带答案详解)
- 2024年江苏省扬州市中考数学试卷(附答案)
- 民法典继承篇课件
- 《铁路技术管理规程》(普速铁路部分)
- 喷漆车间火灾应急预案
- 路灯设施维修工程施工组织设计方案
- T-CTSS 3-2024 茶艺职业技能竞赛技术规程
评论
0/150
提交评论