历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2019年12月23日 | 一个波形发生器的单片机课程设计

2019-12-23 来源:51hei

1 系统总体设计
1.1 系统基本模块设计与论证
1.1.1 信号发生模块

采用单片机和DAC0832数模转换器生成波形。通过编程的方法来控制输入到数模转换电路的数字量,从而控制输出信号的波形和频率。它的特点是价格低、设计简单,在低频范围内稳定性好、操作方便、体积小、耗电少。


该既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。


1.1.2 键盘模块

采用矩阵式键盘,键盘为4*4矩阵式行列扫描,优点是当按键较多时可降低占用单片机的I/O口数目。


1.1.3 电路设计最终方案

本系统包括主控模块,显示模块,信号发生模块,键盘模块,运放模块,综上各方案所述,确定最终设计方案为:采用AT89C51作为主控制系统,独立式按键作为键盘模块,数模转换芯片DAC0832作为信号发生模块,LM324作为电流/电压转换放大模块。


1.2 系统原理及总体结构图1.2.1 系统总体结构图

根据上述电路设计的最终方案,系统总体设计结构如图1所示。

图1  系统总体结构图


1.2.2系统工作原理

数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。在本设计中,AT89C51是整个波形发生器的核心部分,外围电路包括数字/模拟转换电路、电流/电压转换放大电路、按键电路和晶振电路。外接12MHz晶振电路为单片机提供工作脉冲。P0口接数模转换芯片DAC0832的DI0~DI7,为数模转换芯片提供数字信号;P2.0~P2.4外接独立键盘,以控制信号的类型、频率等。


通过对单片机编写程序,控制从P0口输出的数字信号类型,P0口的数字信号再输入到数模转换芯片DAC0832中,从而转换为模拟信号输出。DAC0832输出的模拟信号为电流信号,所以用电流/电压运算放大器LM324将电流信号再转换成电压信号输出。用两片LM324可以得到输出波形的双极性输出,将输出的波形与示波器相连即可观察输出波形的特征。独立式键盘可以控制从P0口输出的数字信号,按下不同的键可以使此输出信号改变,从而使输出的波形实现正弦波、矩形波、锯齿波和三角波之间的转变,并能够改变波形输出频率的大小。


2 系统硬件设计2.1系统硬件仿真原理图

硬件设计是系统设计的重点之一,选择合适的元器件尤为重要。在本设计中,根据设计的总体方案,选择AT89C51作为主控制器、DAC0832为数模转换芯片、LM324为电流/电压转换元件、5个独立式按键为按键模块元件。本设计在Proteus软件中绘制的硬件电路图如图2所示。

图2  硬件仿真原理图


2.2 系统主要单元电路设计2.2.1 主控制器AT89C51

AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含4KB的可反复擦除的只读程序存储器(PEROM)和128B随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合。


主要性能参数:

①与MCS-51产品指令系统完全兼容

②4K字节可重擦写FLASH闪速存储器

③1000次擦写周期

④全静态操作:0HZ-24MHZ

⑤三级加密程序存储器

⑥1288字节内部RAM

⑦32个可编程I/O口线

⑧2个16位定时/计数器

⑨6个中断源

⑩可编程串行UART通道

                      

                       图3   AT89C51 引脚封装图

AT89C51引脚封装如图3所示,其芯片引脚介绍如下:

(1)主电源引脚

VCC:+5 V电源   VSS:地线。


(2)时钟电路引脚

XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。


(3)控制信号引脚

RST/VPD:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作;当单片机掉电时,此引脚上可接备用电源,由VPD向片内RAM提供备用电源,以保持片内RAM中的数据不丢失。


ALE/PROG:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。


PSEN:片外程序存储器读选通信号输出端。

EA/VPP:访问程序存储控制信号。当EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。


(4)I/O引脚

P0.0 ~ P0.7 :P0口8位双向口线;P1.0 ~ P1.7 :P1口8位双向口线;

P2.0 ~ P2.7 :P2口8位双向口线;P3.0 ~ P3.7 :P3口8位双向口线。

P3口线的第二功能。P3的8条口线都定义有第二功能,详见表1。

表1  P3口各引脚与第二功能表

引脚

第二功能

信号名称

P3.0

RXD

串行数据接收

P3.1

TXD

串行数据发送

P3.2

INT0

外部中断0申请

P3.3

INT1

外部中断1申请

P3.4

T0

定时/计数器0的外部输入

P3.5

T1

定时/计数器1的外部输入

P3.6

WR

外部RAM写选通

P3.7

RD

外部RAM读选通

以上把8051单片机的全部信号引脚分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第二功能信号。对于9、30和31三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的输入/输出使用。


如图4所示,本设计中单片机资源的分配情况如下:

(1)单片机使用外部电路来提供时钟脉冲。引脚XTAL1和XTAL2之间接12MHz的石英晶体,使单片机的一个机器周期为1us。

(2)P0口与DAC0832的DI0-DI7数据输入口相连,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻RESPACK-8; P2口的P2^0-P2^4分别与5个独立按键相连。

图4  单片机控制模块


2.2.2 数模转换电路

数模转换电路是本设计的关键电路,它决定着将数字信号转变为模拟信号,从而得到各种所需要的波形。


1. 数模转换器的工作原理

数模转换器可将数字量信号转换成与此数值成正比的模拟量信号。需要转换的数字量由一个二进制数字表示,每位二进制数字都有一定的权,在转换中,应将二进制数的每一位按照权的大小转换成相应的模拟量输出分量,然后将各个输出分量叠加,总和就是与数字量成正比的模拟量数值。


上述的D/A转换,常用如图5所示的倒T形解码网络加以实现。

                                                                                   图5  倒T形电阻网络D/A转换器

电路设计如图5所示,包括由R-2R组成的电阻网络、模拟电子开关和集成运算放大器。

对于电阻网络,无论从哪个R-2R节点看,等效电阻都是R,因此,从参考电压端输入的电流为: IR=VREF/R

根据分流公式,各支路电流为:

I7=I/21I6 =I/22I5 =I/23I4 =I/24I3 =I/25I2 =I/26I1 =I/27I0 =I/28

于是,经过运算放大器输出的模拟电压VO为:

VO = - RF∑Ii= -Rfb VREF/R×28(D7×27 +D6×26 +D5×25+

D4×24+D3×23+D2×22+D1×21+D0×20)

其中VREF是进行D/A转换的系统提供的参考电压,Rfb为集成运算放大器的反馈电阻,D7 ~ D0取值为0或1,0表示切换开关与地相连,1表示与参考电压相连。通过上述电路,即完成了二进制数字信号到模拟电压信号的转换。


2.数模转换器的主要技术指标

  • 分辨率

分辨率指输入给D/A转换器的单位数字量引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比(n为D/A转换器的二进制位数)。显然,二进制位数越多,分辨率越高,即D/A转换器对输入量变化的敏感程度越高。例如,8位的D/A转换器,若满量程输出为10V,根据分辨率定义,则分辨率为10V/2n,分辨率为10V/256=39.1mV,即输入的二进制最低位的变化可引起输出的模拟电压变化39.1mV,该值占满量程的0.391%,常用1LSB表示。使用时,应根据对D/A转换器分辨率的需要来选定D/A转换器的位数。

  • 相对精度

相对精度是指在满刻度已经校准的前提下,在整个刻度范围内,对应于任一数码的模拟量输出与它的理论值之差。通常用偏差几个LSB来表示。

  • 建立时间

建立时间是描述D/A转换器转换快慢的一个参数,用于表明转换时间或转换速度。其值为从输入数字量到输出达到总值误差±(1/2)LSB(最低有效位)时所需的时间。电流输出的转换时间较短,而电压输出的转换器,由于要加上完成I-V转换的运算放大器的延迟时间,因此转换时间要长一些。快速D/A转换器的转换时间可控制在1us以下。

  • 线性度

通常用非线性误差的大小表示D/A转换器的线性度,输入输出特性的偏差与满刻度输出之比的百分数表示非线性误差。一定温度下的最大非线性误差一般为0.01%~0.03%。


3. DAC0832数模转换芯片主要特性与结构

DAC0832系列为美国国家半导体公司生产的具有2个数据寄存器的8位分辨率的D/A转换芯片。此芯片与微处理器完全兼容,并且价格低廉,接口简单,转换控制容易,在单片机应用系统中得到了广泛的应用。


1.DAC0832的主要特性

  • 分辨率为8位;

  • 转换时间为1us;

  • 可单缓冲、双缓冲或者直接数字转换;

  • 只需在满量程下调整其线性度;

  • 逻辑电平输入与TTL兼容;

  • 单一电源供电(+5V~+15V);

  • 基准电压的范围为±10V。


2.DAC0832的内部结构

DAC0832的内部结构框图如图6所示。它由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路构成,通过两个输入寄存器构成两级数据输入锁存。

                          图 6   DAC0832内部逻辑框图


使用时,数据输入可以采用两级锁存(双锁存)、单级锁存(一级锁存,一级直通方式)或直接输入(两级直通)形式。上图中,2个与门电路组成寄存器输出控制逻辑电路,该逻辑电路的功能是进行数据锁存控制。


3.DAC0832的引脚功能

DI0~DI7:8位数据输入线。

:片选信号输入,低电平有效。

ILE:数据锁存允许控制信号,高电平有效。

1:输入寄存器写选通输入信号,低平有效。                                        

图 7  DAC0832的引脚                                            


2:DAC寄存器写选通输入信号,低电平有效。

:数据传送控制信号,低电平有效。上述两个信号控制DAC寄存器是否为数据直通方式。当2=0和=0时,为DAC寄存器直通方式;当2=1或=1时,为DAC寄存器锁存方式。

IOUT1、IOUT2:电流输出,IOUT1+IOUT2=常数。

Rfb:反馈电阻输入端。内部接反馈电阻,外部通过该引脚接运放输出端。为了取得电压输出,需要在输出端接运算放大器,Rfb即为运算放大器的反馈电阻端。

              Vref:基准电压,其值为-10V~+10V。

              AGND:模拟信号地。

              DGND:数字信号地,为工作电源地和数字逻辑地,可在基准电源处进行单点共地。

              VCC:电源输入端,其值为+5V~+15V。


4.DAC0832芯片与单片机的接口

DAC0832根据控制信号的接法可分为三种工作方式:直通方式、单缓冲方式、双缓冲方式。

  • 单缓冲方式

此时输入锁存器和DAC寄存器相应的控制信号引脚分别连在一起,使数据直接写入DAC寄存器,立即进行D/A转换(这种情况下,输入锁存器不起锁存作用)。此方式适用于只有一路模拟量输出,或有几路模拟量输出但是并不要求同步的系统。

       

2. 双缓冲方式

对于多路D/A转换输出,如果要求同步进行,可以采用双缓冲同步方式。DAC0832工作于双缓冲工作方式时,数字量的输入锁存和D/A转换是分两步完成的。首先CPU的数据总线分时向各路D/A转换器输入要转换的数字量,并将其锁存在各自的输入锁存器中,然后CPU对所有的DAC发出控制信号,使各个DAC输入锁存器中的数据打入DAC寄存器,实现同步转换输出。


3. 直通工作方式

当DAC0832芯片的片选信号、写信号1、2及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚+5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换,从输出端得到转换的模拟量。


本设计中,为了降低数模转换建立的时间,数模转换芯片DAC0832采用直通的工作方式。


2.2.3 电流/电压转换放大电路

由于从DAC0832转换出来的模拟信号为电流信号,为了方便观测输出信号的特征,特将DAC0832输出的信号经过电流/电压转换放大电路转变为电压信号。本设计中使用的运放为LM324。LM324运算放大器是价格便宜的带差动输入功能的四运算放大器。其引脚图如图8所示。

   

LM324的特点:


1.短路保护输出

2.真差动输入级            

3.可单电源工作:3V-32V

4.低偏置电流:最大100nA(LM324A)

5.每封装含四个运算放大器。

6.具有内部补偿的功能。

7.共模范围扩展到负电源

8.行业标准的引脚排列

9.输入端具有静电保护功能                   


图8  LM324引脚


DAC0832输出信号经运放电路转变为电压后有两种输出方式。一种为单极性输出方式。此方式中,DAC0832通过使用一片LM324运算放大器将从单片机输入的数字量Din转换为电压输出,其输出电压为Uout=Din/28 *(-VREF)。当VREF=5V时,Uout的输出范围为-5V~0V。另一种为双极性输出方式。本设计中采用双极性输出方式,如图9所示。其双极性输出原理为:因为U1为-5V~0V,根据电流环路定理有

即:Uout=-VREF-2U1

所以当VREF=5V,而U1为-5V~ 0V输出时,Uout的输出为-5~+5V,即实现了双极性输出。

图9  DAC0832和两片LM324实现双极性输出


2.2.4键盘电路

该子系统是5个独立键盘和一个2输入与门组成,其中与门输出端连接单片机的P3.2口以便形成外部中断。5个按键分别连接单片机的P2.0~P2.4口。2输入与门一引脚与K1按键相连,另一引脚接高电平。当K1按下时,INT0为低电平,可知外部中断到了,系统执行中断程序。当K2~K5按键某一个按下时,对应的P2.1~P2.4口中某个为低电平,系统可以感知此按键按下,从而执行相应的程序。每个按键的功能如表2所示。

表2 按键功能表

按键

功能

属性

K1

波形选择

自动复位

K2

频率升高

自动复位

K3

频率降低

自动复位

K4

占空比升高

自动复位

K5

占空比降低

自动复位

按键电路的电路图如图15所示。

图15 按键电路图


3 系统软件设计

系统软件主要是用来控制信号发生器系统按照设计的逻辑进行运行。在软件设计上,根据功能分成了多个模块编程,主要包括:主程序模块、四种不同的波形产生模块、按键处理模块、外部中断模块等。


3.1 系统主程序流程框图

系统主程序流程图如图16所示,源程序见附件。











图16  系统主程序流程图


3.2 信号产生子程序

本系统采用编程的方法,来输出四种不同的波形即正弦波、矩形波、三角波、锯齿波。各种波形的产生方法如下。


3.2.1 正弦波发生子程序

正弦波的产生比较特殊,它不能由单片机直接产生,只能由如图17所示的阶梯波来向正弦波逼近。很显然,在一个周期内阶梯波的阶梯数目越多,单片机输出的波形也就越接近正弦波。

图17 正弦波信号的产生


先假定正弦波的振幅是2.56 V,则波谷对应的数字量为最小值00H,波峰对应的数字量为最大值FFH。将正弦波的第一个周期的波形按角度均分为若干等份,并计算出各点对应的电压值,电压值计算方法:Vx=2.5·(1+sinθ),因为00H~FFH对应的数字量为0~255,所以根据算出的电压就可直接写出各点所对应的数字量。单片机将一个周期的数字量存入一定的存储区域中,然后依次循环取出这些数字量,并送D/A电路转换成阶梯波,即近似的正弦波输出。图18为正弦波产生的流程图。

图18 正弦波产生的流程图


3.2.2 矩形波发生子程序

如图19所示,矩形波的实现比较简单。首先定义一个无符号字符型变量i=0,使自变量i不断的自动加1,若i的值小于squa_num,将P0口赋值为0xFF;若i的值大于squa_num,则将P0口赋值为0x00。当i自加到256后又自动变为0,以此循环,即可得到矩形波。当squa_num=128时,此时输出的为方波。调节squa_num的大小,即可实现矩形波占空比的调节;调节延时时间的大小,即可实现矩形波频率的改变。

图19 矩形波产生流程图


3.2.3 三角波发生子程序

三角波中的斜线用一个个小台阶来逼近,当台阶间隔很小时,波形基本上近似一直线。首先定义一个无符号字符型变量i=0,使自变量i不断的自动加1,若i的值小于128,将P0口赋值为i;若i的值大于128,则将P0口赋值为256-i。当i自加到256后又自动变为0,以此循环,从而P0口实现了周期性的数字量变换,在经过数模转换后转变成模拟信号,经运算放大电路后就得到了周期性的三角波。三角波产生流程图如图20所示。

图20 三角波发生流程图


3.2.4 锯齿波发生子程序

锯齿波的实现过程与三角波类似,也是定义一个变量i=0,并使P0=i,自变量i不断的自动加1,直到加到255,然后i又可以自动归为0,再不断的重复上过程。在此过程中,P0口的值也随着i一样变化,经数模转换DAC0832后,周期性逐一变化的数字量就转换为锯齿波输出了。通过调节P0口每相邻两个值之间的延迟时间,就可以改变锯齿波的频率。图21为锯齿波发生流程图。

图21 锯齿波发生流程图


3.3按键处理子程序

在本设计中,主要是通过按键来调节输出波形的类型、频率的大小及矩形波的占空比,采用程序控制扫描方式,时刻监视着有无按键按下。为了能够更准确的判断按键的情况,一旦有按键按下时,先延时去除按键的抖动,再判断是哪个按键按下,从而单片机对应的执行相应的程序。图22为按键处理流程图。

图22 按键处理流程图


3.4 INT0中断子程序

中断子程序是用来控制输出波形的选择。当波形选择按键K1按下时,进入中断程序中,此时波形选择标识WaveChoice加1,中断结束后,主程序中根据WaveChoice的值输出相应的波形。图24为INT0中断流程图。

图24 INT0中断流程图


4 系统调试
4.1 系统调试过程

1.编译、连接项目,形成目标文件

打开Keil新建工程文件,然后添加源程序文件,保存时把文件后缀名改成“.c”,再直接导入新建的工程中。


把源程序全部录入后,先粗略的检查一遍,主要改正明显的各种错误,这样可以减少之后的修改工作量。接着Options for Target “Target 1”,点击Output ,勾选Create Hex 那个选项,生成可执行的文件。然后点击Project菜单下的Built Target命令然后再进行编译、连接,形成目标文件。编译、连接用Project菜单下的Built Target命令(或快捷键F7),也可以直接点击工具栏中相对应的图标。


编译、连接时,如果程序存在语法有错,则不会通过编译,并在下面的信息窗口给出相应的出错提示信息,其中错误是一定得改正的,警告可以忽略。双击下面显示错误信息的那一行,可以直接定位错误所在的行,用户可以方便的对程序进行修改。修改后再编译、连接,继续进行调试,这个过程可能会重复多次。如果没有任何语法上的错误,则编译、连接成功,并且信息窗口给出提示信息。


2.运行调试

在Proteus软件中先从元件库中加载要使用的那些元件,然后把元件放在图纸上一个一个的接线,尽量不让线交错,便于查看、分析,有必要时,使用接线标号法。完成所有元器件的接线后,在单片机上右击选Edit Properties,在Program file 那一行右侧点击,然后选择前面生成的以“.hex”为后缀名的文件,为单片机AT89C51添加可执行文件。然后点击左下角的相关按键,开始进行仿真。


4.2 调试中的问题及解决方法

在设计方案确定后,为了更好的调试,可以先分别对不同模块进行调试,最后在进行整体调试。在整个调试的过程中,遇到了不少的问题,经自己查阅资料,并向老师、同学请教后,这些问题基本已解决。调试中遇到的问题及解决方法如下:


(1) 在调试波形产生过程中,波形选择按键按下时,没有波形输出或只输出一种波形。

解决方法:若无波形输出,则要先检查硬件原理图是否连接好,再检查程序是否出现问题。若仅有一种波形输出,则要检查程序中是否出现了死循环,还应检查按键控制程序是否符合逻辑要求。

推荐阅读

史海拾趣

芯海科技(CHIPSEA)公司的发展小趣事

随着市场需求的不断升级,芯海科技在ADC芯片的基础上,开始研发自主知识产权的8位MCU(微控制器)内核。经过数年的努力,公司成功将8位MCU内核技术应用于消费类电子产品市场,如小家电、电子玩具等。这一技术的突破进一步巩固了芯海科技在电子行业的地位,并为其后续发展提供了有力支撑。

锋鸣电子(Fengming)公司的发展小趣事

福斯特集团在半导体封测领域也展现了强大的实力。集团旗下拥有安徽龙芯微科技有限公司和泸州龙芯微科技有限公司等多家子公司,这些公司均配备有全球领先的集成电路封装测试线。通过不断的技术创新和设备升级,福斯特集团能够满足客户全方位的器件封测要求,为客户提供高质量、高效率的封测服务。此外,公司还积极投入研发,推出多项新技术和新产品,进一步巩固其在半导体封测领域的领先地位。

Components Corporation公司的发展小趣事

在稳固光伏胶膜市场的同时,福斯特并未停止前进的步伐。公司积极拓展产品品类,进入电子新材料领域。2014年,公司开始开发PCB用感光干膜,进军电子信息产业。感光干膜作为PCB产业最核心的工艺材料之一,对电子信息产业的发展具有重要意义。福斯特凭借其技术实力和市场洞察力,迅速在该领域取得突破,成为行业内的佼佼者。至2020年,公司感光干膜销量大幅增长,为公司带来了新的增长点。

Adafruit公司的发展小趣事

福斯特集团(FIRST SEMI)作为另一家以“FIRST”为品牌的企业,在半导体芯片领域也取得了显著成绩。该集团成立于2010年,总部位于中国深圳,是一家集半导体芯片研发、方案设计、封装制造、测试编带、产品销售为一体的国家级高新技术企业。公司产品广泛应用于无人机、机器人、笔记本电脑、液晶电视等多个领域。通过在全球设立代理销售公司,福斯特集团的销售网络覆盖全球多个国家和地区,服务合作客户超过3000家。

Adaptive Networks Inc公司的发展小趣事

在稳固光伏胶膜市场的同时,福斯特并未停止前进的步伐。公司积极拓展产品品类,进入电子新材料领域。2014年,公司开始开发PCB用感光干膜,进军电子信息产业。感光干膜作为PCB产业最核心的工艺材料之一,对电子信息产业的发展具有重要意义。福斯特凭借其技术实力和市场洞察力,迅速在该领域取得突破,成为行业内的佼佼者。至2020年,公司感光干膜销量大幅增长,为公司带来了新的增长点。

Antiference公司的发展小趣事

随着技术的不断进步,Antiference公司开始将目光投向国际市场。公司积极参与国际电子展,展示其先进的电磁干扰抑制技术,并成功吸引了众多国外客户的关注。通过与国外知名企业的合作,Antiference的产品逐渐打入国际市场,品牌知名度也大幅提升。

问答坊 | AI 解惑

高薪急聘高级硬件工程师

蓝玛卓信科技有限公司(LANDMARK),是国内最早专业从事嵌入式计算机、网络服务器平台、高端嵌入式显 示器、军工测控系统与技术等产品的研发、生产、销售和系统集成服务的股份制高科技企业,多年来,我们持续保持与国际最先进的计算机产品技术公司结 ...…

查看全部问答>

来看看交互技术演绎的艺术

$(\'swf_PDg\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://js.tudouui.com/bin/player2/outside/Skin_outside_19 ...…

查看全部问答>

单片机flash!!

有个项目要用stm8的flash。 但是没弄过那个,有些疑问! 1.void FLASH_SetProgrammingTime(FLASH_ProgramTime_TypeDef ProgTime) 这个设置编程时间怎么回事?对flash编程有时间限制吗?如果这段时间没用完就编好了,之后等着到时间吗? 2.flash ...…

查看全部问答>

我的VS2005的SDK怎么都不见了!!!

最近在本本上装了mobile 6.0的sdk,之后打开原有的工程就碰到如下问题: “参数不正确”的对话框, 之后还会出现“cannot access data for the desired file since it is ina a zombie state”. 在一些工具如:“Remote Process Viewer”中看不 ...…

查看全部问答>

“嵌入票友”

    对嵌入开发,特别是ARM+Linux这种颇具方向性的优化组合,我特别感兴趣,可是作为初学者,在没有“科班”背景基础,其困难可想而知。因此发起一个群组,起名叫“嵌入票友”。         希望和 ...…

查看全部问答>

AD程序模拟量输入 求助

初学者我写了个AD检测程序,目的是检测AD转换的误差,以便挑选芯片,现在想请教大家,我得模拟量应该怎样加到A0,是直接将A0连接到电压输入端,还是别的,请教有什么要注意的吗…

查看全部问答>

关于can通讯的接收中断产生的时间

can总线接收中断是什么时候产生,是在总线上的数据已进入滤波器就产生?还是等到滤波器将数据送到rxfifo中才产生中断?另外总线上的数据到滤波器应该是串行进入的吧? 项目中出现的问题是,本人利用p87c591进行can通讯的帧间空间的测试。利用定时 ...…

查看全部问答>

fpga的供电电源芯片

小弟使用一款xilinx的fpga,供电电压分别是1.2  2.5  3.3,有没有合适的电源芯片,能够直接出这三种电压啊。用过的高人给指点一下…

查看全部问答>