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

    基于DSP的数码管显示课程设计报告(完整资料).doc

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

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

    基于DSP的数码管显示课程设计报告(完整资料).doc

    基于DSP的数码管显示课程设计报告(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)基于DSP数码管显示课程名称 S技术学院名称 电子与信息工程学院 专 业 电子信息工程年级班级 开出学期 03214下期学生 学 号指导教师 成 绩201*年月*日一、课程设计目的如今DS已经成为运用很广泛的嵌入式芯片,它的功能强大,能完成很多一般芯片不能完成的数据处理,大量使用DS已经是全球的潮流。通过课程设计,使我们综合运用DSP 技术课程和其他有关课程的理论和生产实际知识去分析和解决具体问题的能力得到提高,并使其所学知识得到进一步巩固、深化和发展;初步培养学生对工程设计的独立工作能力,学习设计的一般方法;以及锻炼我们查阅资料、方案比较、团结合作的能力。学会简单电路的实验调试和整指标测试方法,增强我们的动手能力,为以后学习和工作打下基础。二、课程设计内容、设计思路 用SP芯片设计一个单个数码管显示电路,数码管由09循环点亮,每1秒钟亮一个数字,每亮一次触发蜂鸣器响一下。另外加输入检测电路,当一旦按下复位键后数码管自动清零。2、 设计流程图开始初始化DSP初始化CD4511(数码管清零)循环显示0-9读取IOPB数据DSP数据处理判断复位键是否按下 是 否3、设计实现程序主程序iclude ma。”inclue sdio。h”icude "f2407_h”unsigned hr fla=0;/vod Delay(int x) vid delay_ms() 延时1s(PU频率10M) nedint k; for(k=0;1000;k+);vid elay_s() /延时1s(CU频率10) unsigd it k,j; fo(k=0;k10;k+) for(j=0;j1000;j+);oid elayu() /延时100us(CU频率10M) usine nt k; for(k=0;<1;k+);vid elay(voi)/任意延时unsignd nt i,j;o(i100;i0;i-) fo(j=20;0;j-);vid nit()am(”setc SXM");a(” clrc OVM");sm(” cr CF”);asm( secIT");SCS1=081FE;WDR=x0E;IMR=0x0000;IR=0x0FFF;MCACRA&0x0FF; /iob设为一般I/OADIR=BATIR0xF0; /124为输出PBATDIR=PBDATDIR&0xEFFF; /23为输出ATDI=PBDADIR&0xFF00; /初始化显示0vid man()int m;unsgned int uLED10xFF00,0F0,0xFF2,0F03,0xF0,FF05,0FF06,xFF0,0xF0,xF0;init(); /初始化fr(m=0;m=10;m+)PBDTR=LEDm;/显示数字dla_s();if(PBDATDI0x00=0x0000) 判断复位键是否按下PBADIR=PBDATIR|0FF00; /清零m=0; dlays();三、硬件电路设计1、外围电路设计外围电路采用一个CD4511进行数据译码,采用输入BCD码输出段码的方式进行显示,外接一个蜂鸣器,一个复位按钮,和一个数码管。电路图如图所示2、DS芯片管脚设定芯片管脚:IOPB C4芯片A输入 IOPB1 C451芯片输入 IOPB2 CD511芯片C输入 IOPB3 D511芯片D输入 IOPB4 复位键信号检测管脚3、 使用元件介绍。1、30F2407A芯片基本介绍TMS320C2x系列DSP中,分为5V供电的TMS32FC4x和3V供电低功耗TMS30LF/LC24xA两类。 这里以TMS320LF240A为主进行介绍.TM30LF2407A是MS30F/24x的改进型,采用低功耗设计,3.V供电,最高运算速度达到40MIS.主要特点如下: 片内具有2k字节的单口AM(SAAM),32K字的Flas程序存储器,54字节的双口RAM(DRAM)。两个事件管理器模块EVA和EVB,每个包括:两个16位通用定时器,个PW通道。高达4个可独立编程或复用的通用I/O引脚。 片内集成:16路10位A/D转换通道;控制局域网络(CAN)2。0模块;串行通信接口引脚功能各引脚按功能可分为以下8个部分(表2.129): 事件管理器(EVA和VB)引脚;DC模数转换器引脚; 通信模块(CNSPII)引脚; 外部中断与时钟引脚; 地址/数据及存储器控制信号引脚; 振荡器PLL/FASH/T引导程序及其他引脚; JTAG仿真测试引脚; 电源引脚。I)模块;串行外设接口(SPI)模块;看门狗定时器(DT)模块。TMS20L2407A的引脚封装图MS320LF247A的引脚结构图32、 C51BD-段译码驱动器411 是常用的七段显示译码驱动器,它的内部除了七段译码电路外,还这有锁存电路和输出驱动器部分,具有输出电流大,最大可达25A,可直接驱动LD数码管。C451 由4 个输入端A/C/D和7个输出端 g,它还具有输入 BCD码锁存、灯测试和熄灭控制功能,它们分别由锁存端 LE、灯测试LT、熄灭控制端 BI 来控制。引脚图如 所示,真值表如图所示四、课程设计元件清单名称型号数量/个编号SP芯片实验板T320L207A1C51段译码器45111U2单个数码管5101ARuLED复位按键19蜂鸣器SP限流电阻1K8R0R7杜邦线若干排针若干五、课程设计实物程序运行结果图运行显示数字5运行显示数字2按下复位键后数码管清零六、 课程设计总结 此次的课程设计中我对DSP芯片有了更加充分的了解,以前只是通过书籍或其他消息知道DSP芯片的重要性,但是只有真正做了之后才能意识到DSP芯片的功能强大,它虽然基本原理和使用与单片机差不多,但是真正使用过之后才觉得它运行速度更快,能直接做一些信号处理,内部直接带有很多常用数学运算的硬件电路,因此在数字信号处理方面非常有用,我也是在使用之后才发现DP芯片为什么叫做数字信号处理芯片的.此次我做的实验不算难,但仍需细心调试程序,对于头文件的定义一定要清楚。此次实验不仅增强了我的实际动手能力,而且还让我对于SP有了更大的兴趣,以后定将花更多的时间对其进行更深入的学习。单片机课程设计课 题: 基于1单片机的交通灯设计专 业: 机械设计制造及其自动化学 号:指导教师: 邵添设计日期:17/1218成 绩:重庆大学城市科技学院电气学院基于1单片机数字温度计设计报告一、设计目的作用本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C2,,四位共阴极数码管一个,电容电阻若干。S18B0支持“一线总线”接口,测量温度范围5°C12°。在0+85°范围内,精度为±0。5°。18B20的精度较差,为± 2° .现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等.本次数字温度计的设计共分为五部分,主控制器,ED显示部分,传感器部分,复位部分,按键设置部分,时钟电路.主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。 二、设计要求()利用DS18B0传感器实时检测温度并显示。(2)利用数码管实时显示温度.(3)。当温度超过或者低于设定值时蜂鸣器报警,LD闪烁指示。(4)能够手动设置上限和下限报警温度。三、设计的具体实现1、系统概述方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行/转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/转换电路,感温电路比较麻烦。方案设计框图如下: 数码管显示电路 热敏电阻组成的感温电路 AD转换 方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS1B2,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2、 单元电路设计与分析1、硬件设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图所示:蜂鸣器报警模块AT89C51单片机DB18B20温度传感器按键设置模块电源数码管显示LED闪烁报警模块单片机的选择单片机A9S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。由于器件问题,我们使用了通用的手机5V充电器接口。复位电路模块单片机系统的复位电路在这里使用的是上电+按钮的复位电路模式,其中电阻R采用的是10K的阻值,电容采用电容值为10uF的电解电容,电路图如下:温度显示模块四位共阴极数码管,能够显示小数。列扫描用P2.4P2。7口来实现,列驱动直接51接单片机驱动.电路图如下:温度传感器模块D18B温度传感器是美国DALAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现92位的数字值读数方式。电路图如下:按键模块按键是用来设置报警的上下限温.K1是用 来进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限调节模式。在正常模式下,按一下K进入查看上限温度模式,显示s左右自动退出;按一下K3进入查看下限温度模式,显示1左右自动退出;按一下K4消除按键音,再按一下启动按键音.在调节上下限温度模式下,是实现加功能, K1是实现减1功能,K3是用来设定上下限温度正负的。2、软件设计主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等。主程序主程序的主要功能是负责温度的实时显示、读出并处理DS1B20的测量温度值。温度测量每1S进行一次.主流程图如下:读出温度子程序 读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。流程图如下:温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令.当采用12位分辨率时,转换时间约为750ms.在本程序设计中,采用显示程序延时法等待转换的完成。流程图如下:显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位.系统的调试及性能分析:硬件调试,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试由于1820与单片机采用串行数据传送,因此,对8B20进行读/写编程时必须严格地保证读写时序;否则将无法读取测量结果。本程序采用单片机汇编或语言编写用 Keil 5编译器编程调试。软件调试到能显示温度值,并且在有温度变化时显示温度能改变,就基本完成.性能测试可用制作的温度计和已有的成品温度计同时进行测量比较。由于D18B20的精度很高,所以误差指标可以限制在0.以内。另外,5+12的测温范围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。四、总结本次的课程设计使我们进一步巩固了书本上的知识,做到了学以致用.这是我们第二次自己动手设计的电路,通过系统仿真软件Proeu和编译软件Kei,使我们进一步了解了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不能实现,如温度上下限设置。由于oteus并不是很熟练,在使用的过程中有很多原件的名称不知道,从而花费了大量的时间在网上查找,今后应该在这方面多多努力。最后一步的焊接硬件也遇到了不少麻烦。总结经验的时候我们得出这样的结论,学习应该学以致用,有目的的去学习,如果学了不用等于没学。其次,要学以致用,理论联系实际,这样才会取得事半功倍的效果.五、附录附录一:元件清单元件名称数量891单片机112MHZ晶振1p电容2u电解电容1按键开关5I插座0Pn1DS18B0温度传感器1蜂鸣器1LEø5红1四位一体共阴数码管147,1K,4.7K电阻8,2,1三极管851导线若干排针若干附录二:完整电路原理图附录三:焊接实物图附录四:源程序/*程序名; 基于51单片机的温度计 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整.K1是用来 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下4消除* 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能,* K是实现减功能,K3是用来设定上下限温度正负的。 *编程者:彭明闯 编程时间:4/05/0 */incudereg5。h> inde<intrinsh /将inis。头文件包含到主程序(调用其中的_no_()空操作函数延时)#die uin ged it #defn uarungned car uhr max0,mnx0; /max是上限报警温度,mi是下限报警温度bi s=0; /是调整上下限温度时温度闪烁的标志位,s=不显示200s,s=1显示1s左右it s1=0; /s1标志位用于上下限查看时的显示oi dilay1(uit z); /声明dplay1()函数(display。h头文件中的函数,s1b20。要用应先声明)#inclde"ds18b20。 incl"keyscn.h" iclue"day.h” /*/主函数/*/vo min() beer=1; /关闭蜂鸣器 ld=; 关闭LD灯 timer_init(0); /初始化定时器1(未启动定时器) gt_temperate(1); /首次启动S18B20获取温度(S18B20上电后自动将EEROM中的上下限温度复制到T和L寄存器)whil(1) keysca(); get_mperatre(0); ipla(tep,temp_d.625); m(); /* 程序名; D18B20头文件 编程者:彭明闯编程时间:20145/0* 说 明:用到的全局变量是:无符号字符型变量tem(测得的温度整数部分),emp_d (测得的温度小数部分),标志位f(测量温度的标志位0表示“正温度"1表* 示“负温度”),标志位f_max(上限温度的标志位表示“正温度”、1表* 示“负温度”),标志位f_mi(下限温度的标志位表示“正温度"、1'表* 示“负温度"),标志位w(报警标志位1启动报警0关闭报警). */#idef _ds182h_ /定义头文件defin _ds18b0h_#efie uit unsignd n efine char unign chr sbit D= 23; /D18B2接口sit bee=P10; /用ee表示1。0sb lP11; /用le表示P11uch t=0; /测量温度的整数部分char tmp_d0; /测量温度的小数部分b f=0; /测量温度的标志位,0表示“正温度” 1表示“负温度”)bit _max=0; /上限温度的标志位表示“正温度" '表示“负温度")t f_min=0; /下限温度的标志位0表示“正温度”、1'表示“负温度”)it =0;/报警标志位1启动报警0关闭报警/*延时子函数/*/vdds18b20_elayus(uint t) /延时几s il(t);oid ds18b20_delayms(un t) /延时左右in,j;or(i=t;i0;i) or(j=12;0;j-);/*/S1820初始化函数/*/vi ds18b2_it() uhr =0; Q=;DQ0; /控制器向DS1B20发低电平脉冲ds18b20_eayus(80); /延时15-80sD=1;/控制器拉高总线,wie(); /等待SB20拉低总线,在624s之间s18b2_delayu(150);/延时,等待上拉电阻拉高总线DQ1; /拉高数据线,准备数据传输;*/S820字节读函数 /*/chard18b2_rea() uchai;uchar ;D = 1;/准备读;fr(i8;i0;-) d >>= 1; /低位先发; =;_nop_();op(); = 1;/必须写1,否则读出来的将是不预期的数据;i(DQ)/在12处读取数据;d |= x80;s1b2delayus(10);retrn d; /返回读取的值/*/*DS8B2字节写函数 /*voidd820_wte(ucha d) ucr ; for(=8;i>0;i-) D=;Q=dx01; s18b20_dlayu(); DQ1; d = 1; /*/*获取温度函数 /*/ oi ge_mture(bit flag)uchra0,0,0,d; uin i;18b20_init(); s18b0_wit(0);向DS18B发跳过读OM命令ds182rite(04);/写启动S1820进行温度转换命令,转换结果存入内部RAMif(flag=)/首次启动DS18B2进行温度转换需要50ms,若转换时间不够就出错,读出的是5度的错误值。dsplay1();/用开机动画耗时eseds1820_elayms(1);d18b20_it(); ds1820_wrt(0xcc);ds8b20rie(xbe);a=d18b20a();/读内部RAM (LS)=ds18b20_read();/读内部RA(MB)if(fla=)/局部位变量=1时读上下线报警温度 mx=ds180_read(); /读内部RM (TH) mns18b20_red(); /读内部RAM (Tl)if(x&080)=00) /若读取的上限温度的最高位(符号位)为1表明是负温度fax=1;ax=(mxx80); /将上限温度符号标志位置1表示负温度,将上限温度装换成无符号数。 if((min0x80)=x80) /若读取的下限温度的最高位(符号位)为1表明是负温度fn=1;mi(n0x0); /将下限温度符号标志位置1表示负温度,将下限温度装换成无符号数。 i=b;i>=4;if (=) f=0; i为0,正温度,设立正温度标记 m(a4)|(b<<4);/整数部分 a=(a&0x0); te_d=a;/小数部分el =1; /i为1,负温度,设立负温度标记 aa+1; b=b; temp=(a>4)(<));/整数部分 a=(00);/小数部分 tempa; */*存储极限温度函数 /*/voi sore_() if(f_max=1)/若上限温度为负,将上限温度转换成有符号数(最高位为1是负,为是正)mamax+0x0;f(f_i=1) /若下限温度为负,将上限温度转换成有符号数mi=min0x80;s18b20_iit(); ds1b0wte(xcc); s8b20_wrte(0x4e);向DS1B20发写字节至暂存器和(TH和TL)命令ds18b0_wie(ma); /向暂存器H(上限温度暂存器)写温度d18b0_rite(mn); /向暂存器TL(下限温度暂存器)写温度ds18b20_wite(0xf);/向配置寄存器写命令,进行温度值分辨率设置ds8b0int(); ds18b2_wrte(0xc); d10_rite(x48); /向D18B0发将RA中2、字节的内容写入EEPOM /D18B20上电后会自动将ROM中的上下限温度拷贝到TH、TL暂存器 /*/*温度超限报警函数 /*/ void alrm() /若上限值是正值 if(f_ma=0) (f_=) /若下限值是正值 if(f=0)/若测量值是正值 if(tempmintemmax) =;1=; /当测量值小于最小值或大于最大值时报警 if((emmax)(tem>min))0;/当测量值大于最小值且小于最大值时不报警 i(=1)w=1;R11;/若测量值是负值时报警 f(min=1)/若下限值是负值 if(f=0)/若测量值是正值 if(tm=max)/当测量值大于最大值时报警=1;R1=; if(temp<max )/当测量值小于最大值时不报警 w=0; i(f1) /若测量值是负值 if(tem>=mi)/当测量值大于最小值时报警=1;R1=1; f(empmin)/当测量值小于最小值时不报警 w=; if(f_ma=1) /若下限值是负值 if(fmi=1) /若下限值是负值 if(f1) /若测量值是负值 f((tmp<=max)|(temp=mi)w=;TR1=1; /当测量值小于最大值或大于最小值时报警 if((tpin)&(tmpma) w0; /当测量值小于最小值且大于最大值时不报警 i(=)w=1;T1; /若测量值是正值时报警 enif* 程序名; d18b20keysan函数* 功 能: 通过键盘设定设定上下限报警温度编程者: 彭明闯 编程时间:2014/5/0 */indef _kescn_H_/定义头文件fin _kyscan_H_s key=2; bi ke=P21; bitkeP2;sbitkey4P33;uchar i=0;/定义全局变量i用于不同功能模式的选择,正常模式,1上限调节模式,2下限调节模式uar =0; /定义全局变量a用于不同模式下数码管显示的选择bit k4=;/4按键双功能选择位,k=0时K4按键选择消按键音的功能,k4=1时K4按键选择正负温度设定功能bit v;/K2、3按键双功能选择位,=0时选择上下限查看功能,v时选择上下限温度加减功能bit v10;/v1=1时定时1250ms时间到自动关闭报警上下限查看功能b ; 消按键音功能调整位,为0时开按键音,为1'时关按键音/*

    注意事项

    本文(基于DSP的数码管显示课程设计报告(完整资料).doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开