- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西南科技大学城市学院
———西南科技大学城市学院-----
课程设计报告
题目 : 基于DSP2407的数字电压表
系别 : 机电工程系
专业 : 电信
班级 : 1101
指导教师 : 廖晓波
实验人员 : 张旺
第一章 系统设计
课题目标及整体方案
1.1.1课程目标
以DSP2407为核心,设计一个数字电压表。采用中断方式,对2路0~5V的模拟电进行循环采集,采集的数据送LED显示,并存入内存。超过界限时指示灯闪烁。
1.1.2 整体方案
通过对DSP2407的I/O的运用,实现4个LED显示0~5V的电压。具体实现原理如下表1—1。
LED
电压值
0
1
2
3
4
5
其它
LED0
亮
灭
灭
灭
亮
灭
亮灭闪烁
LED1
灭
亮
灭
灭
灭
亮
亮灭闪烁
LED2
灭
灭
亮
灭
灭
亮
亮灭闪烁
LED3
灭
灭
灭
亮
亮
灭
亮灭闪烁
表 1—1
硬件平台简介
1.2.1 硬件结构
引脚说明
JTAG接口:本板卡和DSP仿真器连接接口,通过本接口用户可进行在线仿真
步进电机接口:接上步进电机可进行步进电机控制实验
AD输入接口:2路带运放隔壁的AD输入接口
DA输出接口:4路DA输出接口
CAN接口:CAN总线接口插座
RS232接口:标准的DB9插座
2407全功能引出接口,方便用户扩张使用
1.2.2 具体硬件结构图
图 1—1
1.2.3 I/O模块介绍
1、下表为I/O空间分配
表1—2
2、I/O空间介绍2.2.2 I/O控制模块介绍
数字输入/输出模块是集成在TMS320LF2407A片内的外设之一,它主要对芯片的通用、双向的数字I/O(GPIO)引脚进行控制。这些I/O引脚大多数是基本功能和一般I/O复用的引脚,数字I/O模块采用了一种灵活的方法,以控制专用I/O和复用I/O引脚的功能,所有I/O和复用引脚的功能可通过9个16位控制寄存器来设置,这些寄存器可分为两类:
·I/O口复用控制寄存器(MCRx):用于控制选择I/O口作为基本功能方式或一般I/O引脚功能;
·数据和方向控制寄存器(PxDATDIR):当I/O口用作一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和到双向I/O引脚的数据方向,这些寄存器直接和双向I/O引脚相连。
具体控制寄存器的访问地址、定义请参见有关资料。
3、 I/O管脚及使用方法
ICETEK-LF2407-A板使用了一些I/O管脚对DSP进行控制。例如:跳线JP6连接DSP上MP/MC管脚,在DSP复位时,DSP可读回这一管脚的设置,当管脚接高电平时,DSP采用微处理器(MP)方式工作,否则设置成微控制器(MC)方式。
ICETEK-LF2407-A板在扩展插头上将未使用的I/O引脚接出,提供给用户连接使用。其定义见ICETEK-LF2407-A板说明。这些管脚支持0-3.3V逻辑电平操作,用户在进行相应设置后可以在I/O管脚上进行输入或输出操作,使用时须注意根据引脚本身的负载能力驱动相关设备。
4、 ICETEK-LF2407-EDU实验箱及控制模块使用的I/O管脚
ICETEK-LF2407-EDU实验箱将引脚ADCIN00-ADCIN03连接到了实验箱底板上“A/D输入”的四个插座上。
ICETEK-LF2407-EDU实验箱控制模块使用如下引脚:
PWM12/IOPE6--指示灯
PWM11/IOPE5和TDIRB/IOPF4—步进电机
CANTX/IOPC6—蜂鸣器
软件系统设计
1.3.1 软件流程图
对
对相应寄存器进行
初始化配置
I/O输出相应电平控制LED灯的亮灭 获取电压值 初始化
I/O输出相应电平
控制LED灯的亮灭
获取电压值
初始化I/O使其
为输出端口
1.3.2试验程序
1、 实验主程序如下:
#include global.c
void SystemInit();
void Timer1Init();
void KickDog();
void KeyLed();
void dianya_disply(int m);
unsigned int numled=0;
Void delay(int i);
main()
{
int t;
SystemInit(); //系统初始化
MCRC=MCRC 0xFF00; //IOPE0-7设为IO口模式
PEDATDIR=0xFF00; //所有LED=0,
asm( C
文档评论(0)