DSP跑马灯程序
dsp跑马灯实验报告

竭诚为您提供优质文档/双击可除dsp跑马灯实验报告篇一:跑马灯实验报告山西大学数字电子技术基于硬件设计的跑马灯电路系别:电力工程系班级:电本1254班姓名:所谓伊人学号:12322454**一、实验目的1.熟悉ne555定时器,计数器cD4017的逻辑特性。
2.熟悉ne555构成多谐振荡器原理。
3.设计跑马灯电路并利用multisim软件仿真电路。
二、实验要求1.知道ne555、cD4017的管脚排列顺序。
2.利用ne555构成多谐振荡器。
3.知道电阻的主要参数及其标注方法。
(见实验指导书116页)。
4.知道电容器的主要作用。
(见实验指导书122页)。
5.了解有关焊接的知识。
三、实验器材电路板1块。
电容:1μF(1个)。
集成芯片:ne555(1个)、cD4017(1个)。
电阻:22K?、1K?、500?各一个。
二极管:In4148(8个)、发光二极管(10个)。
(自行提供)电池:5V四、电路的安装1.555用来定时,用它产生某种方波,相当于有的时钟信号2.4017是个十进制计数器,按照时钟信号从10个口依次输出1.检查集成芯片ne555,cD4017的安装位置有无错误.2.检查电解电容的极性有无错误;3.检查二极管In4148及发光二极管的安装方向有无错误;4.检查各个电阻的安装是否有误。
5.检查有无虚焊。
五、电路的调试1.电路焊接好后,先将电路板正负端接到直流电压5V 及地线处,观察发光二极管是否变亮。
2.适当改变电位器阻值,观察其对cD4017循环周期(发功二极管依次循环一周)的影响。
3.利用秒表记录cD4017一个合适循环周期的时间。
(分别测量电阻最大时、最小时、合适时的周期)附录1.跑马灯电路图分析电路输出图像2.cD4017的相关资料cD4017是5位Johnson计数器,具有10个译码输出端,cp,cR,Inh输入端,时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制。
dsp课程设计led灯程序设计

dsp课程设计led灯程序设计一、课程目标知识目标:1. 理解数字信号处理(DSP)的基本概念,掌握其在LED灯程序设计中的应用。
2. 学习并掌握LED灯的硬件连接方法和编程控制原理。
3. 掌握利用DSP技术对LED灯进行程序设计的基本方法和步骤。
技能目标:1. 能够运用所学知识,独立完成LED灯的硬件连接和程序编写。
2. 培养学生运用编程软件进行程序调试和优化的能力。
3. 提高学生团队协作能力,培养在项目实践中分析和解决问题的能力。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发学习热情。
2. 培养学生严谨的科学态度,注重实践操作和理论知识的结合。
3. 增强学生的环保意识,了解并关注LED灯在节能减排方面的优势。
本课程针对高年级学生,结合学科特点和教学要求,将课程目标分解为具体的学习成果。
在教学过程中,注重理论与实践相结合,提高学生的实际操作能力,培养学生解决实际问题的能力。
通过本课程的学习,使学生能够掌握数字信号处理技术在LED灯程序设计中的应用,为将来的学习和工作打下坚实基础。
二、教学内容本课程教学内容分为五个部分:1. 数字信号处理基础:介绍数字信号处理的基本概念、原理和方法,使学生了解DSP技术在LED灯程序设计中的应用。
教学内容:- 数字信号处理的基本概念- 离散时间信号与系统- 傅里叶变换及其在LED灯设计中的应用2. LED灯硬件连接:讲解LED灯的硬件结构、连接方法及其与DSP芯片的接口技术。
教学内容:- LED灯硬件结构及其工作原理- 常用LED灯驱动电路- DSP芯片与LED灯的接口技术3. 编程语言基础:介绍C语言编程基础,为学生编写LED灯程序打下基础。
教学内容:- C语言基本语法- 数据类型、运算符和表达式- 控制结构和函数4. LED灯程序设计:讲解利用DSP技术进行LED灯程序设计的方法和步骤。
教学内容:- 程序设计基本框架- PWM控制LED灯亮度- 定时器控制LED灯闪烁5. 程序调试与优化:培养学生运用编程软件进行程序调试和优化的能力。
51单片机8个跑马灯程序汇编设计思路

【51单片机8个跑马灯程序汇编设计思路】1. 引言在嵌入式系统中,跑马灯程序是一个非常常见且基础的程序设计。
通过控制LED灯的亮灭顺序,实现灯光在一组灯中顺序轮流亮起的效果。
其中,51单片机是一种常用的嵌入式系统开发评台,本文将探讨如何通过汇编语言设计实现8个跑马灯程序的思路和方法。
2. 分析题目我们需要对题目进行细致的分析。
51单片机8个跑马灯程序要求我们设计并实现一个程序,能够控制8个LED灯依次轮流亮起的效果。
这意味着我们需要对LED灯进行控制,并且需要考虑如何实现循环、延时等功能。
3. LED灯控制在实现跑马灯程序时,首先需要考虑如何控制LED灯的亮灭。
一种常见的方法是通过I/O口控制LED灯的高低电平,从而实现灯的亮灭。
我们需要了解51单片机的I/O口控制方式,并结合LED灯的连接方式进行设计。
4. 循环控制跑马灯程序的核心在于实现LED灯的依次轮流亮起。
这就需要我们设计循环控制的程序结构。
在汇编语言中,可以通过跳转指令和计数器来实现循环效果,我们需要考虑如何设计循环的次数和顺序。
5. 延时控制为了让人眼能够观察到LED灯的亮灭效果,我们需要在程序中添加延时控制。
这需要我们了解51单片机的定时器控制和时钟频率,并根据LED灯的亮度要求设计合适的延时程序。
6. 汇编设计思路在进行汇编设计时,可以按照以下步骤进行:1)设置I/O口控制LED灯的引脚,确定LED的连接方式;2)设计循环控制结构,确定LED灯的顺序和次数;3)添加延时程序,控制LED灯亮灭的时间间隔;4)编写中断程序,处理定时器中断等事件;5)调试程序,验证跑马灯效果是否符合要求。
7. 个人观点和理解通过设计这个跑马灯程序,我深切体会到了汇编语言的精妙之处。
通过对硬件的直接控制和对程序结构的精心设计,我感受到了嵌入式系统开发中的乐趣和挑战。
而对于初学者来说,设计跑马灯程序也是一个很好的学习过程,可以加深对于51单片机结构和编程思想的理解。
DSP跑马灯实验程序

在输出跑马灯的实验历程中/*led输出跑马灯实验,用软件延时方法循环点亮发光管DS4-DS19*/#include "DSP281x_Device.h"#include "DSP281x_Device.h" // DSP281x头文件#include "DSP281x_Examples.h" // DSP281x Examples 头文件void LedOut(Uint16 led);void Delay(Uint16 data);unsigned int LedCount;Uint16 led=0x0001; //led初值void IOinit() //I/O口初始化{EALLOW;//将GPIOB8~GPIOB15配置为一般I/O口,D0~D7GpioMuxRegs.GPBMUX.all = GpioMuxRegs.GPBMUX.all&0x00ff;//将GPIOB8~GPIOB15配置为输出,D0~D7GpioMuxRegs.GPBDIR.all = GpioMuxRegs.GPBDIR.all|0xff00;//将GPIOE0~GPIOE2配置为一般I/O口输出,作138译码GpioMuxRegs.GPEMUX.all = GpioMuxRegs.GPEMUX.all&0xfff8;GpioMuxRegs.GPEDIR.all = GpioMuxRegs.GPEDIR.all|0x0007;EDIS;}void main(void){InitSysCtrl(); /*初始化系统*/DINT; /*关中断*/IER = 0x0000;IFR = 0x0000;IOinit(); //I/O口初始化while (1){LedOut(led);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);Delay(60000);led =led << 1; //led的值左移1位LedCount++;if (LedCount>=16){LedCount=0 ;led=0x0001;}}}void LedOut(Uint16 led){Uint16 i;EALLOW;GpioMuxRegs.GPBDIR.all = GpioMuxRegs.GPBDIR.all|0xff00; //将GPIOB8~GPIOB15配置为输出,D0~D7EDIS;GpioDataRegs.GPEDA T.all = 0xfffb; //LEDB选通GpioDataRegs.GPBDA T.all = ~led; //显示高8位for (i=0; i<100; i++){} //延时GpioDataRegs.GPEDA T.all = 0xffff; //锁存高8位GpioDataRegs.GPEDA T.all = 0xfffa; //LEDA选通GpioDataRegs.GPBDA T.all = ~(led<<8);//显示低8位for (i=0; i<100; i++){}GpioDataRegs.GPEDA T.all = 0xffff; //锁存低8位}void Delay(Uint16 data){Uint16 i;for (i=0;i<data;i++) { ; }}红色的语句是什么意思呀那个延时程序中的data是什么,为什么要等于60000,最多可以多少谢谢各位高手!。
跑马灯程序

InitSysCtrl();//初始化DSP运行时钟
while ( 1 )
{
for ( i=0;i<4;i++ )
{
LBDS=uLED[i];//正向顺序送控制字
Delay(256);//延时
}
for ( i=3;i>=0;i-- )
{
LBDS=uLED[i];//反向顺序送控制字
Delay(256);//延时
// No more.
//========================================
实验结果:
#define CTRLCDCMDR *(int *)0x108001
#define CTRKEY *(int *)0x108001
#define CTRLCDCR *(int *)0x108002
#define CTRCLKEY *(int *)0x108002
#define CTRLCDLCR *(int *)0x108003
CTRGR=0;//初始化ICETEK-CTR
CTRGR=0x80;
CTRGR=0;
CTRLR=0;//关闭东西方向的交通灯
CTRLR=0x40;//关闭南北方向的交通灯
uPort8000=CTRCLKEY;
while ( 1 )
{};
}
interrupt void cpu_timer0_isr(void)
跑马灯程序:
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
DSP的C语言编程

72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37
DG ND B C L KX 1 DG ND HD 1 C V DD IN T3 IN T2 IN T1 IN T0 NM I HB IL IA C K B D X2 B D X0 HD 0 DG ND 3 .3 V HR DY B F SX2 B F SX0 C V DD HP INT DG ND B C LKX 2 B C LKX 0 BD R2 HC T1 BD R0 B F SR 2 B F SR 0 B C LKR 2 B C LKR 0 DG ND HC T0 B C L KR 1 DG ND
DSP的C语言程序入门
• 1、以最小系统板的LED灯闪烁程 序为例: 分别利用汇编语言、C语言、C语 言和汇编语言混合编程三种方法 实现DSP最小系统板LED灯D1闪烁。
C L KOU T TO UT
1 2
J1 C O N2 R2 4 .7 K DG ND
C LK OU T X1 H D3
D2 R ES ET D1 C LD 0IN K
H D7 A 11
A 10
A 12
A 13
A 14
A 15
NC
NC 36
1
2
3
4
5
6
7
8
9 10
11
12 13
14 15
16
17
18
19
20
21
22 23
24 25
26
27
28
29
实验二时钟中断实验实验报告概要

《时钟中断实验》实验报告姓名: 赵广元学号: 1428403058学院: 电子信息学院班级: 电子信息工程时钟中断实验一实验目的1.熟悉定时器初始化的步骤2.熟悉定时器控制寄存器(TCR)的含义和使用3.熟悉定时器中断的原理和使用二实验设备本实验设备包括:PC机、CCS2.1和5416DSK开发板三实验内容本实验要求编一个简单的定时器中断程序,设置一定的周期控制XF引脚输出电平周期性变化。
当定时器中断产生时可以观察到XF引脚输出电平周期性变化。
四实验原理中断处理:接受中断请求→应答中断→执行中断服务程序ISR定时器中断:19号中断当发生时钟中断时,PC值将指向时钟中断的中断向量地址中断向量地址的计算方法:(1)取PMST寄存器的IPTR的值(中断向量指针,9位);(2)查DSP的中断表得到时钟中断向量序号19;(3)将中断向量序号19左移2位(4)将IPTR值左移7位(占高9位)与(3)相加,得到中断向量地址。
中断向量表程序设计:(1)TI54系列DSP最大支持序号0~31的32个中断(存在复用)(2)根据中断向量表地址计算方法,每四个中断向量占四个字(序号左移两位),整个中断向量表共占128个字(3)硬件复位后,其中断向量表首地址为0xFF80(0号中断地址)(4)软件设置IPTR后,其中断向量表地址发生变化,为使高速响应中断,应在片内RAM中运行定时器:C54X系列的DSP都具有一个或者两个预定标的片内定时器,这种定时器是一个倒数定时器,它可以被特殊的状态位实现停止,重启动,重设置或者静止。
定时器在复位后就处于运行状态,为了降低功耗可以禁止定时器工作。
应用中可以用定时器来产生周期性的CPU中断或者脉冲输出。
定时器的功能方框图如5.1所示,其中有一个主计数器(TIM)和一个预定标计数器(PSC)。
TIM用于重装载周期寄存器(PRD)的值,PSC用来重装载周期寄存器(TDDR)的值。
图5.1 定时器的功能方框图图5.1是定时器的功能方框图, SRESET 是在器件复位时,DSP 向外围电路(包括定时器)发送的一个信号,此信号将在定时器上产生以下效果:寄存器TIM 和PRD 装载最大值(0FFFFH );TCR 的所有位清0;结果是分频值为0,定时器启动,TCR 的FREE 和SOFT 为0。
dsp跑马灯课程设计

dsp跑马灯课程设计一、课程目标知识目标:1. 让学生理解DSP(数字信号处理)的基础概念,掌握跑马灯程序的基本原理;2. 学会运用C语言或汇编语言编写简单的DSP程序,实现跑马灯效果;3. 了解DSP芯片的内部结构及其工作原理,理解程序在硬件上的执行过程。
技能目标:1. 培养学生独立编写和调试DSP程序的能力;2. 培养学生运用所学知识解决实际问题的能力,如设计简单的跑马灯程序;3. 提高学生团队协作和沟通能力,通过小组讨论和分享,共同解决问题。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发其学习热情;2. 培养学生勇于尝试、不断探索的精神,增强自信心;3. 培养学生具备良好的学习习惯和责任心,认识到学习成果与个人努力的关系。
分析课程性质、学生特点和教学要求,本课程目标注重理论与实践相结合,以学生为主体,充分调动学生的积极性和主动性。
课程目标具体、可衡量,有助于学生和教师明确课程的预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 数字信号处理基础理论:- 数字信号处理概述;- DSP芯片内部结构及其工作原理;- 常见数字信号处理算法简介。
2. C语言或汇编语言编程基础:- 数据类型、运算符和表达式;- 控制语句、循环语句;- 函数定义和调用。
3. 跑马灯程序设计:- 跑马灯原理及实现方法;- 跑马灯程序编写及调试;- 优化跑马灯程序,提高执行效率。
4. 教学案例与实践:- 分析实际跑马灯应用案例,了解程序设计方法;- 学生分组编写跑马灯程序,进行调试和优化;- 小组分享和讨论,总结编程技巧和经验。
教学内容按照教学大纲安排,分为理论教学和实践操作两部分。
理论部分主要围绕数字信号处理基础和编程语言基础展开,结合教材相关章节进行讲解。
实践部分侧重于跑马灯程序设计,使学生能够将所学理论知识应用于实际操作中。
教学内容科学系统,旨在培养学生具备扎实的理论知识和实践能力。
三、教学方法本课程将采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对数字信号处理基础理论、DSP芯片内部结构及其工作原理等理论性较强的内容,采用讲授法进行讲解,使学生系统掌握相关知识;- 结合教材章节,以实例讲解C语言或汇编语言编程基础,帮助学生理解和掌握编程技巧。
LED指示灯闪烁的DSP汇编程序参考

2.2程序二编程目的:熟悉DSP汇编程序设计技巧,完善输出功能程序功能:实现一8位LED灯泡由左到右循环闪烁.title "bubble.asm".mmregsSTACK .usect "STACK",5h.bss y,1.def start.dataPA0 .set 0.textstart: STM #7000,SWWSR ;设等待位STM #2,AR3 ;将辅助寄存器AR3设为2 (乘2,实现左移)STM #6,AR1 ;将辅助寄存器AR1设为6 (左移7次)STM #3,AR2 ;将辅助寄存器AR2设为3 (循环执行4次)LD AR3,T ;将T(乘法寄存器)设为2loop1: LD #1,A ;A寄存器值为1STL A,@y ;y=1PORTW @y,PA0 ;输出y地址内的值到输出口STM #10000,AR4 ;将辅助寄存器AR4设为10000 loop3: RPT #10000 ;重复执行下一程序10001次NOP ;等待BANZ loop3,*AR4- ;循环AR4值(10000)+1次loop2: MPY @y,A ;将y×T,其值存入A寄存器STL A,@y ;将A内值存入y地址中PORTW @y,PA0 ;输出y地址值到输出口STM #10000,AR5 ;将辅助寄存器AR5设为10000 loop4: RPT #10000 ;实现第8个灯跳转到第1个灯时的时间延迟NOPBANZ loop4,*AR5-BANZ loop2,*AR1-BANZ loop1,*AR2- end: B end.end。
DSP流水灯程序设计

DSP流水灯程序设计DSP流水灯程序设计电子6班张明渝2012210979 采用芯片:TMS320VC54X程序运行环境:Code Composer Studio 3.1设计思路:通过芯片内置中断实现计时,其中系统初始化子程序是借鉴CCS 自带的初始化程序,可以系统的初始化,重置计时器的计时起点。
设计的子程序有定时器初始化子程序和定时器中断子程序,可以分别实现定时器的复位和开始计时,以及定时器的中断计时。
目标现象:通过定时器中断方式控制LED灯(LED1~LED8)以一定的间隔时间不停闪亮变化主程序(C语言):Exp.c/************************文件预处理***************************/#include "tms320uc5402.h"/*************************************************************/ /********************全局变量定义与初始化*********************/ioport unsigned port8001;unsigned int show=0x00aa;unsigned int num=0x0000;/*************************************************************/ /*******************函数、子程序声明与定义********************/void sys_ini() //系统初始化子程序{asm(" ssbx INTM"); //全局禁止所有可屏蔽中断PMST&=0x00FF; //(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间SWWSR=0x7000; //io空间7个等待周期,程序与数据空间0个等待周期CLKMD=0x17FA; //CLKOUT=2*CLKIN=2*10M=20M,自动延时最长时间}void timer0_ini() //定时器0初始化子程序{TCR|=0x0010; //停止定时器0PRD=0x2710; //PRD=10000(D)TCR|=0x000A; //TDDR=10(D),所以定时器时钟=1/(20M/10/10000)=5msIMR=0x0008; //使能定时器0中断IFR=0xFFFF; //清除所有中断标志位asm(" rsbx INTM"); //全局使能可屏蔽中断TCR&=0xFFEF; //开始定时器0TCR|=0x0020; //复位定时起0}/*************************************************************/ /*****************中断服务子程序声明与定义********************/ interrupt void timer0() //定时器0中断子程序{if(num==200) //记200次定时器中断,时间=200*5ms=1s{show=~show; //取反num=0;}elsenum++;return;}/*************************************************************/ /**************************主程序*****************************/ void main(void){sys_ini();timer0_ini();for(;;){port8001=show;}}/***************************结束******************************/向量程序(汇编语言):vector.asm.global _c_int00,_timer0.sect ".vecs"reset: b _c_int00 ;RESET VECTORSnopnopnmi: rete ;NMInopnopnop; software interruptssin17: .space 4*16sin18: .space 4*16sin19: .space 4*16sin20: .space 4*16sin21: .space 4*16sin22: .space 4*16sin23: .space 4*16sin24: .space 4*16sin25: .space 4*16sin26: .space 4*16sin27: .space 4*16sin28: .space 4*16sin29: .space 4*16sin30: .space 4*16int0: rete ;EXTERNAL INT0nopnopnopint1: rete ;EXTERNAL INT1nopnopnopint2: rete ;EXTERNAL INT2nopnopnoptint0: b _timer0 ;TIMER0 INTERRUPT nopnopbrint0: rete ;BcBSP0 RECEIVE INTERRUPT nopnopnopbxint0: rete ;BcBSP0 TRANSMIT INTERRUPTnopnopnopdmac0: rete ;RESERVED OR DMA CHANNEL0 INTERRUPTnopnopnoptint1_dmac1: rete ;TIMER1 INTERRUPT OR DMA CHANNEL1 INTERRUPT nopnopnopint3: rete ;EXTERNAL INT3nopnopnophpint: rete ;HPI INTERRUPTnopnopnopbrint1_dmac2: rete ;McBSP1 RECEIVE INTERRUPT OR DMA CHANNEL 2 INTERRUPT nopnopnopbxint1_dmac3: rete ;McBSP1 TRANSMIT INTERRUPT OR DMA CHANNEL 3 INTERRUPT nopnopnopdmac4: rete ;DMA CHANNEL 4 INTERRUPTnopnopnopdmac5: rete ;DMA CHANNEL 5 INTERRUPTnopnopnop实验总结:本程序是我结合DSP实验课和DSP硬件实验中学习的内容设计的,部分借鉴了系统自带的例程,目标是实现LED灯(LED1~LED8)以一定的间隔时间不停闪亮变化。
4p口32个灯作跑马灯依次全亮依次全灭

CLR P1.7 ;(3)点亮灯
LCALL DELAY ;(4)延时一段时间
SETB P1.7 ;(5)熄灭灯
SETB P3.0 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P1.2 ;(5)熄灭灯
CLR P1.3 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P1.3 ;(3)点亮灯
LCALL DELAY ;(4)延时一段时间
CLR P1.3 ;(5)熄灭灯
CLR P1.4 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P0.0 ;(3)点亮灯
LCALL DELAY ;(4)延时一段时间
SETB P0.0 ;(5)熄灭灯
CLR P1.0 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
SETB P0.3 ;(5)熄灭灯
SETB P0.2 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P0.2 ;(3)点亮灯
LCALL DELAY ;(4)延时一段时间
SETB P0.2 ;(5)熄灭灯
SETB P0.1 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P0.1 ;(3)点亮灯
LCALL DELAY ;(4)延时一段时间
SETB P0.1 ;(5)熄灭灯
SETB P0.0 ;(1)熄灭灯
SETB P1.1 ;(1)熄灭灯
LCALL DELAY ;(2)延时一段时间
CLR P1.1 ;(3)点亮灯
基于单片机多模式带音乐跑马灯设计(附完整程序代码)

单片机课程设计(论文)任务书信息工程学院学院计算机科学与技术专业计算机2009-1班一、课程设计(论文)题目基于单片机多模式的带音乐跑马灯设计二、课程设计(论文)工作自 2012年6月 11日起至 2012年6月 24日止。
三、课程设计(论文) 地点:四、课程设计(论文)内容要求:1.本课程设计的目的(1)利用所学单片机的理论知识进行软硬件整体设计,培养学生分析、解决问题的能力,锻炼学生理论联系实际、综合应用的能力。
(2)使学生掌握系统各功能模块的基本工作原理;(3)培养学生基本掌握电路设计的基本思路和方法;(4)使学生掌握接收系统调试;(5)培养学生分析、解决问题的能力;(6)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:1、有八个发光二极管做跑马灯,其中跑马灯有8种模式。
2、有专门的键盘用以切换跑马灯的模式,并且对于任何一种跑马灯模式都可以对亮灯速度进行控制。
3、每一种跑马灯模式用LED数码管进行显示。
4、当跑马灯处于一种模式时,伴随的音乐响起,音乐至少有3首,并可以对其进行切换。
2)创新要求:在基本要求达到后,可进行创新设计,如改善电路性能;对系统进行仿真分析。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:30分;(3)完成调试:30分;(4)回答问题:20分。
5)参考文献:(1)张毅刚彭喜元彭宇.《单片机原理及应用》[M].北京:高等教育出版社(2)谭浩强.《C程序设计教程》[M].北京:清华大学出版社(3)/%D7%F6%B6%F8%C2%DB%B5%C0/home6)课程设计进度安排内容天数地点构思及收集资料2图书馆组装与调试5实验室撰写论文3图书馆、实验室学生签名:2012 年6 月24 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(30分):优()、良()、中()、一般()、差();(3)完成调试(30分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人:职称:副教授2012年 6 月27目录一、设计概述 (5)1.1设计目的: (5)1.3设计作用: (5)1.4设计要求: (5)二、设计的具体实现 (6)2.1系统概述 (6)2.2各模块分析 (7)2.2.1主控芯片STC90C51 (7)2.2.2 STC90C51性能简介 (7)2.2.3 LED显示部分 (7)2.2.4模式显示部分 (8)2.2.5单片机部分 (9)三、硬件电路设计及描述 (9)3.1 LED (9)3.2数码管 (9)3.3复位电路及晶振电路 (10)3.4蜂鸣器及按键 (10)四、程序设计思想及流程 (11)4.1程序设计思路 (11)4.2音乐部分设计 (13)五、电路的安装与调试 (14)六、总结 (16)七、参考文献 (17)附录 (18)实物图 (18)程序清单 (18)摘要跑马灯,顾名思义,就是“会像马儿一样跑动”的小灯,故取名“跑马灯”。
DSP实验报告

DSP实验报告02071445张渊实验一—VISUALDSP++的使用入门实验目的熟悉VISUAL DSP++的开发环境。
针对ADSP-Blackfin533 DSP,利用几个用C、C++和汇编语言写成的简单例子来描述VISUAL DSP+十编程环境和调试器(debugger)的主要特征和功能。
对于运行在其它类型Blackfin处理器的程序只需对其链接描述文件(.LDF)做一些修改,就可用于其它芯片或者ADSP-Blackfin533的硬件仿真。
实验内容一、练习一1. 实验步骤l) 进入Visual DSP+十并打开一个工程(Project)进入Visual DSP++,显示Visual DSP++的集成开发和调试环境窗口(Integrated Development and Debugger Environment,简称IDDE)。
装载dotprodc工程,并列出相应的源文件。
在输出窗口(Output Window)中显示简要信息。
2) 编译dotprodc工程在菜单Project中选择Build Project来对工程进行编译。
在本例子中,编译器检测到一个未定义的错误,显示为:“.\dotprod_main.c”,line 115:error #20:identifier“itn”is undefined itn i;在输出窗口中对该行文字用鼠标双击,环境会自动打开dotprod_main.c文件,并将光标定位在出错行。
你可以看见单词“int”被错写成“itn”。
将该错误改正后,保存并重新编译。
如果再没有错误出现,这时工程已被成功编译,就可以用VisualDSP++的debugger来调试程序。
3) 运行VsualDSP++调试器在调试过程中需定义不同的对象和处理器类型,选取菜单Sessions中NeW Session项来重新定义。
NeW Session 对话框图7.2所示:4) 运行dotprod.c从Debug菜单中选择Run项,程序将被执行,其输出结果在Output window中显示。
MSP430F6638_按键LED跑马灯程序

张立为
版本管理
修改记录
版本号. V01
作者 张立为
描述
修改日期 2012-11-2 2012 11 2
审核记录
版本号.
职务
签名
修改日期
轮廓
GPIO的基本概念 LED跑马灯硬件实现 LED跑马灯简单软件编程实现
GPIO基本概念
GPIO——通用输入输出
设VDD为I/O口高电平电压,对于MSP430F6638平 设VDD为I/O口高电平电压 对于MSP430F6638平 台是3.3V,通常,2mA的正向电流 IF足以让LED发光, 此时下列根据公式 LED的正向压降VF约为1 2V(具 此时下列根据公式,LED的正向压降VF约为1.2V(具 体参数参照购买的LED发光管datasheet)所以,取 LED限流电阻阻值为:
配置寄存器法跑马灯
#define P3P4_BASE_Address 0x0220 #define define BIT1 (0x0002) BIT1 (0x0002) #define BIT2 (0x0004) #define BIT3 (0x0008) #define P4DIR (*((volatile #define P4DIR ( ((volatile unsigned char unsigned char*)(P3P4 )(P3P4_BASE_Address + 0x05))) BASE Address + 0x05))) #define P4OUT void main(void) { volatile unsigned int i; volatile unsigned int count=0; P4DIR |= BIT1 + BIT2 + BIT3; // P4.1,P4.2,P4.3 set as output while(1) // continuous loop { P4OUT ^= BIT1 + BIT2 + BIT3; // XOR P4.1,P4.2,P4.3 for(i=20000;i>0;i--); // Delay } } (*((volatile unsigned char*)(P3P4_BASE_Address + 0x03)))