dsp课设抢答器Word格式.docx
《dsp课设抢答器Word格式.docx》由会员分享,可在线阅读,更多相关《dsp课设抢答器Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
2.2.1原理图2
2.2.2所用器件2
2.3单元电路设计2
2.3.1按键、蜂鸣器电路2
2.3.2数码管输出电路3
2.3.3复位电路5
2.3.4晶振电路5
2.4系统调试5
2.5补充6
csl库6
锁相环6
GP1口6
3课程设计总结7
4、参考文献8
代码附录9
1课程设计目的
通过我们对本学期课程的学习和理解,综合运用课本中所学到的理论知识完成一个基于DSP芯片TMS320VC5509驱动3路抢答器的课程设计。
锻炼我们查阅资料、方案比较、团结合作的能力。
学会电路板的焊接,最小系统的搭建,软件的使用,学会简单电路的实验调试和整机指标测试方法,增强我们的动手能力,为以后学习和工作打下基础。
2课程设计正文
本次课程设计我们所做的课题是一个3路抢答器,这就要求我们需要完成键盘扫描问题、延时、以及如何显示的问题等。
2.1方案设计
抢答器上电载入程序,数码管显示0,主持人按下开始键选手可以开始抢答,数码管从5开始倒计时,若无选手抢答,5秒结束后蜂鸣器响一秒提示结束。
若期间有选手按下,蜂鸣器响一下提示有选手按下,数码管显示相应选手号。
总体流程图如图1,结构图如图2.
图1流程图图2系统结构图
2.2最小系统电路设计
2.2.1原理图(见图3)
图3系统原理图
2.2.2所用器件
共阴极数码管1个、按键4个、cd4511一个、蜂鸣器1个、导线若干、杜邦线若干。
2.3单元电路设计
2.3.1按键、蜂鸣器电路(见图4)
图4按键电路
设置按键输入,蜂鸣器输出。
语句如下
GPIO_RSET(IODIR,0x07);
//000001110输入1输出
CHIP_FSET(ST1_55,XF,0);
//初始化关蜂鸣器
2.3.2数码管输出电路(见图5)
图5数码管电路
芯片CD4511
CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点:
具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。
可直接驱动LED显示器。
实际芯片引脚图(图6)
图6CD4511引脚图
真值表见下表1
对应的显示见图7
图7数码管显示
表1CD4511真值表
输入
输出
LE
BI
LI
D
C
B
A
a
b
c
d
e
f
g
显示
x
1
8
消隐
2
3
4
5
6
7
9
锁存
数码管
图8数码管引脚图
LED数码管分共阳型和共阴型两种,这里我们选择七段共阴型数码管。
数码管的a、b、c、d、e、f引脚分别接到CD4511译码驱动芯片对应的引脚。
当数码管选通时,通过控制GP0、GP1、GP2口来实现七段数码管动态显示数据。
2.3.3复位电路(图9)
图9复位电路
引脚低电平时有效,系统复位
2.3.4晶振电路(图10)
图10晶振电路
18脚(XTAL1)和19脚(XTAL2)外接12MHZ的晶振和两个30PF的电容,震荡频率就是晶体的固有频率。
2.4系统调试(图11)
图11系统调试显示
系统正常显示,按照预想的执行。
非常完美。
2.5补充
csl库
锁相环
锁相环路是一种反馈控制电路,简称锁相环(PLL,Phase-LockedLoop)。
锁相环的特点是:
利用外部输入的参考信号控制环路内部振荡信号的频率和相位。
因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。
锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。
锁相环通常由鉴相器(PD,PhaseDetector)、环路滤波器(LF,LoopFilter)和压控振荡器(VCO,VoltageControlledOscillator)三部分组成。
模式控制模块可以选择分频器处于N分频器还是N+1分频,若通过模式控制模块实现
10个clk中有9个clk为N分频,1个clk为N+1分频,则实际输出信号频率为(N+0.1)×
输入频率。
GP1口(表2)
表2外围控制接口P1
PIN
Signal
说明
特征
VCC
电源
*
电源+5V
TOUT
定时器输出
GPIO0
I/O
GPIO1
GPIO2
GPIO3
GPIO4
10
GPIO6
11
GPIO7
12
13
14
15
16
17
GND
数字地
18
19
XF
通用输出引脚
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
3课程设计总结
通过这次的课设,真的是学习了好多东西,设计电路前一定要好好查每个所用器件的型号,否则会影响后期的工作,一定要认真焊接电路板,因为后期因为线路太多不易检查,而且很容易短路,一个造成器件的烧坏,另一个是影响写程序。
写程序要先设计好逻辑图,代码照着逻辑图写,多让队友检查看看是否有逻辑错误,以及代码是否正确编写,软件的调试要会判断出错原因,会改正。
这次的课设可谓多磨多难,因为少测量了GP4脚的原因,导致以为程序有错,不断改写,走了很大弯路。
回想起来真不容易啊,其中最大收获就是编写程序能力有了很大提升,基础又进一步巩固了,return是个好东西。
我们团队经过不断的努力终于完美完成,队友之间的互帮互助大大促进了完成进度,又增进了同学之间的感情,其间请教了王鹏老师,监督指导,解决了关键性问题,在此衷心的表示感谢。
我们不怕失败,怕的是不认真的态度,懒惰的心。
4、参考文献
[1]全国计算机等级考试二级教程.高等教育出版社,2011年版.
[2]
[3]
[4]
张雄伟,曹铁勇,陈亮等.DSP芯片的原理与开发应用.电子工业出版社,2009.
[5]
康华光,邹寿彬.电子技术基础.高等教育出版社,2004.4
项目设计
评语
成绩
指导教师
(签字)
年月日
代码附录一
#include<
csl.h>
csl_pll.h>
csl_chip.h>
csl_gpio.h>
//------------------------------变量-----函数声明
unsignedchari;
unsignedchardelay();
voidzhuchiren();
unsignedcharsaomiao();
voiddelay1();
/*锁相环的设置*/
PLL_ConfigmyConfig={
0,//IAI:
thePLLlocksusingthesameprocessthatwasunderway
//beforetheidlemodewasentered
1,//IOB:
IfthePLLindicatesabreakinthephaselock,
//itswitchestoitsbypassmodeandrestartsthePLLphase-locking
//sequence
24,//PLLmultiplyvalue;
multiply24times
1//Divideby2PLLdividevalue;
itcanbeeitherPLLdividevalue
//(whenPLLisenabled),orBypass-modedividevalue
//(PLLinbypassmode,ifPLLmultiplyvalueissetto1)
};
main()
{
/*初始化CSL库*/
CSL_init();
/*设置系统的运行速度为144MHz*/
PLL_config(&
myConfig);
/*确定方向为输出*/
GPIO_RSET(IODIR,0x07