我也不懂,以下是我搜集的,希望对你有帮助
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内 *** 作的多个硬件地址产生器;
(7)可以并行执行多个 *** 作;
(8)支持流水线 *** 作,使取指、译码和执行等 *** 作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
单片机的应用领域 :
1 单片机在智能仪器仪表中的应用;
2 单片机在工业测控中的应用;
3 单片机在计算机网络和通讯技术中的应用;
4 单片机在日常生活及家电中的应用;
5 单片机在办公自动化方面。
DSP比单片机贵
你说的是其中的一部分知识,是DSP处理的信息的原理。
要向学习DSP的硬件开发,还要学习微机原理,由单片机系统的设计经验最好。
还有就是DSP的开发环境,也就是CCS,要掌握常用的编程语言,有汇编语言和C语言的编程经验最好
首先要了解DSP的特点。
数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,微处理器技术水平得到了十分迅速的提高,而快速傅立叶交换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上具有许多新的特征,其特点如下:
(1) 算术单元
具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法 *** 作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等 *** 作。新一代的DSP内部甚至还包含多个并行的运算单元。以提高其处理能力。
针对滤波、相关、矩阵运算等需要大量乘和累加运算的特点,DSP的算术单元的乘法器和加法器,可以在一个时钟周期内完成相乘、累加两个运算。近年出现的某些DSP如ADSP2106X、DSP96000系列DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。
(2) 总线结构
传统的通用处理器采用统一的程序和数据空间、共享的程序和数据总线结构,即所谓的冯•诺依曼结构。DSP普遍采用了数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,极大的提高了指令执行速度。片内的多套总线可以同时进行取指令和多个数据存取 *** 作,许多DSP片内嵌有DMA控制器,配合片内多总线结构,使数据块传送速度大大提高。
如TI公司的C6000系列的DSP采用改进的哈佛结构,内部有一套256位宽度的程序总线、两套32位的数据总线和一套32位的DMA总线。ADI公司的SHARC系列DSP采用超级哈佛结构(Super Harvared Architecture Computer),内部集成了三套总线,即程序存储器总线、数据存储器总线和输入输出总线。
(3) 专用寻址单元
DSP面向数据密集型应用,伴随着频繁的数据访问,数据地址的计算也需要大量时间。DSP内部配置了专用的寻址单元,用于地址的修改和更新,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。地址的修改和更新与算术单元并行工作,不需要额外的时间。
DSP的地址产生器支持直接寻址、间接寻址 *** 作,大部分DSP还支持位反转寻址(用于FFT算法)和循环寻址(用于数字滤波算法)。
(4) 片内存储器
针对数字信号处理的数据密集运算的需要,DSP对程序和数据访问的时间要求很高,为了减小指令和数据的传送时间,许多DSP内部集成了高速程序存储器和数据存储器,以提高程序和数据的访问存储器的速度。
如TI公司的C6000系列的DSP内部集成有1M~7M位的程序和数据RAM;ADI公司的SHARC系列DSP内部集成有05M~2M位的程序和数据RAM,Tiger SHARC系列DSP内部集成有6M位的程序和数据RAM。
(5) 流水处理技术
DSP大多采用流水技术,即将一条指令的执行过程分解成取指、译码、取数、执行等若干个阶段,每个阶段称为一级流水。每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等 *** 作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。
(6) DSP与其它处理器的差别
数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、 重复性、数值运算密集型的实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。
DSP的运算速度比其它处理器要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的 4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,还需要专门的数据移动 *** 作,DSP可以单周期完成乘加并行 *** 作以及3~4次数据存取 *** 作,而普通MPU完成同样的 *** 作至少需要4个指令周期。因此,在相同的指令周期和片内指令缓存条件下,DSP的运算送到可以超过MPU运算速度的4倍以上。
正是基于 DSP的这些优势,在新推出的高性能通用微处理器(如Pentium、Power PC 604e等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。
谈一点学dsp的心得
因为课题需要,所以跟dsp打上了交道。大概从今年的8月份开始了解dsp。
那个时候中文书籍好像不是很多,就从网上下载ti的一些基本手册和几本大
黄皮书。因为以前基本没接触过,所以没搞dsp之前觉得dsp好深奥好难,看
了一段时间书以后,开始使用ccs仿真一些程序。现在回头看看ccs的软仿真
一般只能仿真算法的对错,对于算法的效率和其他一些性能的仿真基本没有
什么意义。可惜刚上手的时候我对这个不太清楚,就一直在ccs的软仿真上
浪费了太多时间,总想通过ccs下的profiler观测值来提高程序效率,结果
和后来在实际板子上跑出来的效果大相径庭。大概到了国庆假期结束,开始
画电路板,11月初拿到电路板开始漫长的调试过程。早听人说过调硬件是一
件很苦恼又很无奈的事,因为好多问题没有道理可讲。第一块板子是一块小
的实验板,制版焊接到调试一次通过,我就感觉调试硬件没什么特别难的。
结果后来的事实让我体验到了调试硬件的艰苦。第二块板子也很快做完了,
结果上电后总进不去ccs。折腾了两天,挨个管脚测,后来又和第一次做得
板子进行比较,发现一些中断引脚没有拉高,估计可能是这方面的原因。把
这些中断管脚拉高以后,ccs顺利进去了。后来又遇到了很多问题,每次都要
花上两三天时间才能把问题找出来。到现在电路基本能跑起来,但还有些不太
稳定,原因还需要慢慢琢磨。
在调试过程中,能多找一些身边的高手问就尽量找,这样有两个好处,一
能节省你的时间,二可以从高手那里得到一些经验。其次如果电路在调试过程
中老出问题,先检查程序,确认程序没有问题以后,在查硬件电路,这样一个
顺序效率比较高。再就是多留意一下bbs上的信息,有的信息可能现在对你
没多少用处,但是可能在以后会用到。
还有一些具体经验,以后有时间在总结了 ^_^
学习DSP可能需要时间很长,不是短期可以解决的。
我的建议:
1。看网上资料;
2。用DSK来练手;
3。如果你连硬件经验都没有,那就得先练焊板子,哈哈
4。找人请教
我的唯一感受,如果你想学深些的话:
1多看TI的pdf,多多宜善,权威而且全面
2硬件上,多做项目,包括单片机的、一般电路的都行
3软件上,一般的编程不说了,编译原理之类的对混合编程很有帮助的
4其它东西,就是那些随着DSP的出现才流行的东西,如DSP/BIOS,CPLD技术等
其实也没什么诀窍,我现在还是照着上面学,离目标还差得远
章1 绪 论
1答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.答:微型计算机由微处理器、存储器和I/O接口电路构成。各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5 答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。。
6答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:
ATMEL公司融入Flash存储器技术推出的AT89系列单片机;
Philips公司推出的80C51、80C552系列高性能单片机;
华邦公司推出的 W78C51、W77C51系列高速低价单片机;
ADI公司推出的ADμC8xx系列高精度ADC单片机;
LG公司推出的GMS90/97系列低压高速单片机;
Maxim公司推出的DS89C420高速(50MIPS)单片机;
Cygnal公司推出的C8051F系列高速SOC单片机等。
8答:系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。
9答:在系统编程(ISP)技术,在应用编程(IAP)技术。
章2 80C51的结构和原理
1答:功能上分为基本型和增强型;
工艺上分为HMOS工艺和CHMOS工艺;
在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式。
2答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。
3. 答:作为通用I/O口时,P0、P1、P2和P3都是准双向口。
P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能。
另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。
4.答:机器周期分别为2μs,1085μs,1μs。
5.答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位。
6.答:80C51的 引脚为访问片内、片外程序存储器的选择端。访问片内、片外数据存储器需要采用不同的指令加以区分。
7.答:CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;
AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);
F0:用户标志位,由用户自己定义;
RS1、RS0:当前工作寄存器组选择位;
OV:溢出标志位。有溢出时OV=1,否则OV=0;
P:奇偶标志位。存于ACC中的运算结果有奇数个1时P=1,否则P=0。
8.答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0 来决定。
9.答:RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/ :地址锁存允许信号输出引脚/编程脉冲输入引脚; /VPP:内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚; :外部程序存储器选通信号输出引脚。
10.答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址。
章3 80C51的指令系统
1.答:执行时间短。1个机器周期指令有64条,2个机器周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);
指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;
位 *** 作指令丰富。这是80C51单片机面向控制特点的重要保证。
2.答:80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。
这些寻址方式所对应的寄存器和存储空间如下表所示。
序号 寻址方式 寄存器或存储空间
1 寄存器寻址 寄存器R0~R7,A、AB、DPTR和C(布尔累加器)
2 直接寻址 片内RAM低128字节、SFR
3 寄存器间接寻址 片内RAM(@R0,@R1,SP)
片外RAM(@R0,@R1,@DPTR)
4 立即寻址 ROM
5 变址寻址 ROM(@A+DPTR,@A+PC)
6 相对寻址 ROM(PC当前值的+127~-128字节)
7 位寻址 可寻址位(内部RAM20H~2FH单元的位和部分SFR的位)
3.答:直接寻址和位寻址方式。
4.答:直接寻址、寄存器间接寻址和位寻址方式。
5.答:寄存器间接寻址。
6.答:立即寻址、变址寻址和相对寻址方式。
7.答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位 *** 作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等 *** 作。在实现位 *** 作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位 *** 作的“累加器”。
8寄存器间接寻址方式。
9. (1)MOV A,#88H----------------74H, 88H
(2)MOV R3,50H----------------ABH,50H
(3)MOV P1,#55H----------75H,90H,55H
(4)ADD A,@R1---------------------27H
(5)SETB 12H----------------------D2H,12H
10.答:
(1)MOV A,R0
MOV R1,A
(2)MOV R2,60H
(3)MOV DPTR,#1000H
MOVX A,@DPTR
MOV 60H,A
(4)MOV DPTR,#1000H
MOVX A,@DPTR
MOV R2,A
(5)MOV DPTR,#1000H
MOVX A,@DPTR
MOV DPTR,#2000H
MOVX @DPTR, A
11.答:(R1)=7FH
(A)=60H
(30H)=08H
(40H)=60H
12.答:(1)(A)=2CH
(2)(40H)=0CH
(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0
(4)(A)=8EH
(5)(20H)=0EH,P=1
(6)(A)=EFH,(20)=08H
13.答:(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。
14.答:(1)SETB ACC0
(2)ANL A,#0FH
(3)ANL A,#87H
15.答:MOV 2FH,20H
MOV 2EH,21H
MOV 2DH,22H
16.答:CLR CY
MOV 30H,#7FH
MOV 31H,#4DH
MOV R0, #31H
MOV A,@R0
SUBB A ,#4E
MOV @R0,A ;保存低字节相减结果
DEC R0
MOV A, @R0
SUBB A,#2BH
MOV @R0,A ;保存高字节相减结果
17.答:MOV A,R2
ANL A,#0F0H
ORL R1,A
18.答:MOV A,20H
MOV B,21H
MUL AB
MOV R3,A
MOV R2,B
19.答:(CY)=1, (P1)=10111011B, (P3)=00111100B
章4 80C51的汇编语言程序设计
1.答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的 *** 作直接、方便,有利于初学者对单片机结构的认知。
但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。
2.答:一、任务分析
首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。
二、算法设计
经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。
三、流程描述
程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。
流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。
3.答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;
分支程序:可以改变程序的执行顺序;
循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。
4.答:利用累加器或寄存器;
利用存储器;
利用堆栈。
5.答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括:
ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;
END,功能是结束汇编;
DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;
DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;
EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;
BIT,功能是将位地址赋给指定的符号名。
6.答:程序如下:
ORG 0000H
MOV R0,#21H
MOV R1,#23H
MOV A,@R0
ADD A,@R1
MOV 25H,A
DEC R0
DEC R1
MOV A,@R0
ADDC A,@R1
MOV 24H,A
SJMP $
END
7.答:ORG 0000H
MOV DPTR,#1000H
MOV R0,#30H
MOV R7,#32
LOOP:MOVX A,@DPTR
MOV @R0,A
INC R0
INC DPTR
DJNZ R7,LOOP
RET
8.答:ORG 0000H
MOV A,R1
ADD A,R7
MOV 61H,A
MOV A,R0
ADDC A,R6
MOV 60H,A
SJMP $
END
9.答:延时时间: 2µs{[1+((1+2250+2)246)+2]+2}=0247486秒(含调用指令2个机器周期)
10.答: ORG 0000H
BIG DATA 2FH
ONE DATA 2AH
TWO DATA 2BH
START:MOV R7,#7 ;比较次数
MOV R0,#30H
LOOP:MOV A,@R0
MOV ONE,A
INC R0
MOV TWO,@R0
CLR C
SUBB A,@R0
JC NEXT ;ONE小,TWO大继续比下一对数
MOV @R0,ONE ;ONE大放后面(交换)
DEC R0
MOV @R0,TWO ;TWO小放前面
INC R0 ;
NEXT:DJNZ R7,LOOP
MOV BIG,37H
SJMP $
END
11.答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。
org 0
MOV 52H,#0
MOV 51H,#0
MOV 50H,#0
MOV A,#0FDh
LCALL DCDTH
SJMP $
DCDTH:MOV R7,#8
MOV R0,A ;暂存于R0
LOOP:CLR C
MOV A,R0
RLC A
MOV R0,A
MOV R1,#51H;
MOV A,@R1 ;
ADDC A,@R1 ;
DA A ;
MOV @R1,A ;
DEC R1
MOV A,@R1
ADDC A,@R1
DA A
MOV @R1,A
DJNZ R7,LOOP
INC R1 ;50H已是结果,R1指向51H,51H单元需拆分
MOV A,#00H
XCHD A,@R1
MOV 52H,A
MOV A,@R1
SWAP A
MOV @R1,A
RET
END
12.答: ORG 0
MOV R1,#5BH
MOV A,R1
ANL A,#0F0H
SWAP A
ACALL ASCII
MOV R3,A
MOV A,R1
ANL A, #0FH
ACALL ASCII
MOV R4, A
SJMP $
ASCII:PUSH ACC
CLR C
SUBB A, #0AH
POP ACC
JC LOOP
ADD A, #07H
LOOP: ADD A, #30H
RET
END
13.答:ORG 0000H
MOV R7,#10
MOV R0,#50H
MOV B,#10
CLR C
CLR A
LOOP:ADDC A,@R0
INC R0
DJNZ R7,LOOP
DIV AB
MOV 5AH,A
SJMP $
END
14.答:实现程序如下:
TEMP EQU 30H
ORG 0000H
JMP START
ORG 0100H
START:MOV SP,#5FH
MOV P0,#8CH ;正序显示"P"
MOV P3,#0FFH ;输入方式
CLR CY
NOKEY:MOV A,P3
CPL A
JZ NOKEY ;无键按下
MOV TEMP,P3 ;有键按下
CALL D10ms
MOV A,P3
CJNE A,TEMP,NOKEY ;去抖动
MOV R2,#0 ;键号计数器复位
MOV A,TEMP
LP:RRC A
JNC DONE
INC R2
SJMP LP
DONE:MOV A,R2
MOV DPTR,#CODE_P0
MOVC A,@A+DPTR
MOV P0,A
JMP NOKEY
D10ms:MOV R5,#10 ;10MS
D1ms:MOV R4,#249
DL:NOP
NOP
DJNZ R4,DL
DJNZ R5,D1ms
RET
CODE_P0:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END
章5 80C51的中断系统及定时/计数器
1答:5个中断源,分别为外中断 和 、T0和T1溢出中断、串口中断。
电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。
T0和T1,CPU响应中断时,由硬件自动复位。
RI和TI,由硬件置位。必须由软件复位。
另外,所有能产生中断的标志位均可由软件置位或复位。
各中断入口地址: ―0003H,T0—000BH, —0013H,T1—001BH,RI和TI—0023H。
2答:将3个中断信号经电阻线或,接 。
ORG 0000H
LJMP MAIN
ORG 00013H
LJMP ZDFZ
ORG 0040H
MAIN:SETB EA
SETB EX1
SJMP $
0RG 0200H
ZDFZ:PUSH PSW
PUSH ACC
JB P10,DV0
JB P11,DV1
JB P12,DV2
INRET:POP ACC
POP PSW
RETI
ORG 2000H
DV0:------------
JMP INRET
ORG 2100H
DV1:------------
JMP INRET
ORG 2200H
DV2:------------
JMP INRET
3答:当IT0=0时, 为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样 引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。
电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。
当IT0=1时, 为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样 引脚电平,如果在连续的两个机器周期检测到 引脚由高电平变为低电平,即第一个周期采样到 =1,第二个周期采样到 =0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。
边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到, 和 引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。
4答:定时/计数器实质是加1计数器。
不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即
方式0:13位计数器;
方式1:16位计数器;
方式2:具有自动重装初值功能的8位计数器;
方式3:T0分为两个独立的8位计数器,T1停止工作。
5答:方式0位13位计数器,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。
计数初值计算的公式为:
X=213-N
方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。计数个数与计数初值的关系为:
X=216-N
方式2为自动重装初值的8位计数方式。TH0为8位初值寄存器。当TL0计满溢出时,由硬件使TF0置1,向CPU发出中断请求,并将TH0中的计数初值自动送入TL0。TL0从初值重新进行加1计数。周而复始,直至TR0=0才会停止。计数个数与计数初值的关系为:
X=28-N
方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。方式3时,T0分成为两个独立的8位计数器TL0和TH0,TL0使用T0的所有控制位。当TL0计数溢出时,由硬件使TF0置1,向CPU发出中断请求。而TH0固定为定时方式(不能进行外部计数),并且借用了T1的控制位TR1、TF1。因此,TH0的启、停受TR1控制,TH0的溢出将置位TF1。
6答:TMOD中GATE的值不同:完全由TR1、TR0确定时GATE为0;完全由 、 高低电平控制时GATE为1。
7答:T0用作方式3时,T1可以工作在方式0、1和2。T1的开启由TR1控制,即TR1=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,T1停止工作。
8答:采用定时20ms,然后再计数1、49次的方法实现。
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12 MHz,所以机器周期Tcy为1 。
N=t/ Tcy =20×10-3/1×10-6=20000
X=216-N=65536-20000=45536=4E20H
即应将4EH送入TH1中,20H送入TL1中。
c、实现程序如下:
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 0030H
MAIN:MOV TMOD,#01H ;设T1工作于方式2
MOV TH0,# 4EH ;装入循环计数初值
MOV TL0,#20H ;首次计数值
LP0:SETB P10
ACALL NT0
CLR P10
MOV R7,#49 ;计数49次
LP1:ACALL NT0
DJNZ R7,LP1
AJMP LP0
NT0:MOV TH0,# 4EH
MOV TL0,#20H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
END
9答:采用T0实现
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12 MHz,所以机器周期Tcy为1 。1/1000=1×10-3
N=t/ Tcy =05×10-3/1×10-6=500
X=216-N=65536-500=65036=FE0CH
即应将FEH送入TH0中,0CH送入TL0中。
c、实现程序如下:
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 000BH ;T0的中断入口地址
LJMP DVT0
ORG 0030H
MAIN:MOV TMOD,#01H ;设T0工作于方式2
MOV TH0,# 0FEH ;装入循环计数初值
MOV TL0,#0CH ;首次计数值
SETB ET0 ;T0开中断
SETB EA ;CPU开中断
SETB TR0 ;启动T0
SJMP $ ;等待中断
DVT0:CPL P11
MOV TH0,# 0FEH
MOV TL0,# 0CH
SETB TR0
RETI
END
10答:a、T1工作在计数方式2时,控制字TMOD配置:
M1M0=10,GATE=0,C/ =1,可取方式控制字为60H;
T1工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/ =0,可取方式控制字为10H;
b、计算初值X:
定时10ms时:
晶振为12 MHz,所以机器周期Tcy为1 。
N=t/ Tcy =10×10-3/1×10-6=10000
X=216-N=65536-10000=55536=D8F0H
即应将D8H送入TH1中,F0H送入TL1中。
计数100时:
N=100
X=28-N=256-100=156=9CH
c、实现程序如下:
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 001BH ;T1的中断入口地址
LJMP DVT1
ORG 0030H
MAIN:MOV TMOD,#60H ;T1工作于计数方式2
MOV TH1,#9CH ;装入计数初值
MOV TL1,#9CH ;
CLR P17
SETB ET1 ;T1开中断
SETB EA ;CPU开中断
SETB TR1 ;启动T1
SJMP $ ;等待中断
DVT1:SETB P17
CLR ET1
CLR TR1
MOV TMOD,#10H ;T1工作于定时方式1
MOV TH1,#0D8H ;装初值
MOV TL1,#0F0H
SETB TR1
JNB TF1,$ ;查询等待10ms
CLR TF1
CLR TR1
CLR P17
MOV TMOD,#60H ;T1工作于计数方式2
MOV TH1,#9CH ;装初值
MOV TL1,#9CH ;
SETB ET1 ;T1开中断
SETB TR1 ;启动T1
RETI
END
11答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/ =0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12 MHz,所以机器周期Tcy为1 。
N=t/ Tcy =20×10-3/1×10-6=20000
X=216-N=65536-20000=45536=4E20H
即应将4EH送入TH1中,20H送入TL1中。
c、实现程序如下:
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 0030H
MAIN:CLR CY
MOV A,#01H
LP0:MOV P1,A
CALL D1SEC
RL A
AJMP LP0
D1SEC:MOV R7,#50 ;计数50次
MOV TMOD,#01H
DL:MOV TH0,#4EH
MOV TL0,#20H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R7,DL
RET
END
章6 80C51的串行口
1.答:四种工作方式,由SCON中的SM0、SM1进行定义:
方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。
方式1:10位数据的异步通信口,波特率可变。
方式2:11位数据的异步通信口,波特率固定。
方式3:11位数据的异步通信口,波特率可变。
2.答:RS-232C接口、RS-422A接口、RS-485接口
3.答:最大距离与传输速率及传输线的电气特性有关。当传输线使用每03m(约1 ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当波特率超过1000 bps 时,最大传输距离将迅速下降。
使用系统自带的系统还原的方法:
系统自带的系统还原:“开始”/“程序”/“附件”/“系统工具”/“系统还原”,点选“恢复我的计算机到一个较早的时间”,按下一步,你会看到日期页面有深色的日期,那就是还原点,你选择后,点击下一步还原(Win7还原系统,在控制面板然后设备和安全子选项然后备份和还原子选项)。
如果使用软件备份系统:
建议下载“一键GHOST 20100101 硬盘版”安装、备份、恢复备份,一键即可十分方便。
用一键GHOST备份C盘,在出现系统故障而无法恢复时就不用安装系统了,首先用一键GHOST恢复系统,这样你C盘的存储的文件和下载的程序软件就不会损失了(备份时的文件和程序软件,如果后来又加进了新的文件,可以重新备份C盘)。
一键GHOST有两种还原方法,可以进入系统或可以进入安全模式(开机按F8),点击桌面图标或开始/所有程序,点击一键GHOST,打开软件,点选还原C盘,点下面的还原即可。如果进不了系统和安全模式,开机就有一键GHOST选项,一般有5秒的等待时间,按确认键,一键GHOST就可以还原系统(备份是打开软件点选备份C盘,点击下面的备份即可)。
以上就是关于有关dsp芯片的菜鸟问题全部的内容,包括:有关dsp芯片的菜鸟问题、单片机求编写程序,C51、怎么把备份过的adi系统还原等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)