电子说
UNI-DS6是 mikroElektronika 的通用开发板,可用于测试各种微控制器,包括PIC,AVR,dsPIC,ARM和8051。我将使用该板使自己了解Microchip的dsPIC数字信号控制器(DSC)。 dsPIC DSC是16位高性能微控制器,比常规的PIC器件功能更强大。它们之所以特别,是因为它们将微控制器的最佳功能与数字信号处理器(DSP)的计算能力结合在一起,并且能够执行涉及傅立叶变换的复杂数学运算。我将首先简要介绍UNI-DS6电路板的功能,然后编写“ Hello World ”应用程序以使用dsPIC30F6014A DSC测试该电路板。
mikroElektronika的UNI-DS6开发板
什么是UNI-DS6?
UNI-DS6是mikroElektronika的最新版本的通用开发板,目前支持8种不同的微控制器,分别是PIC16F887,PIC18F8520,dsPIC30F6014A,Atmega128,CY8C27643,LPC2148,LPC2214和AT89S8253。每个微控制器都有一个单独的mikroBoard,可以将其插入主开发板上可用的2×80引脚插座中,以便您可以在选择的微控制器上进行实验,而开发板的其余部分保持不变。每个mikroBoard都包含一个板上编程器,因此不需要外部编程器。该开发板具有完整的功能,包括稳压电源(可选+ 5.0/3.3 V),使用MCP3204的外部12位ADC通道,支持USB-UART的板载FTDI芯片,USB连接器,串行EEPROM,标准字符LCD插座,具有触摸屏支持的GLCD,MMC/SD卡插槽,72个LED,72个轻触开关等。如果您想了解有关UNI-DS6功能的更多信息,可以阅读用户手册。下图显示了插入了dsPIC30F6014A mikroBoard的UNI-DS6板和其他一些附件。
插入了dsPIC30F6014A mikroboard的UNI-DS6
div》
关于dsPIC30F mikroBoard
此mikroBoard包含带有板载USB编程器的dsPIC30F6014A DSC。 dsPIC30F6014A是具有144 KB闪存程序存储器的16位DSC。为了使用板载编程器对DSC进行编程,您需要在PC上安装mikroProg Suite for PIC应用程序。您可以从此处下载具有必要驱动程序的此应用程序。请参阅mikroElektronika的安装手册来安装USB驱动程序。 mikroBoard也可以用作独立设备(不带UNI-DS6板)。 mikroBoard上提供了一个跳线(J1)以选择此选项。作为独立设备,该板可直接通过USB电缆供电。如下所示的dsPIC30F6014A mikroBoard的特写照片揭示了它的一些功能。
用于UNI-DS6的dsPIC30F6014A mikroboard
We在即将到来的教程中,将更多地探索dsPIC30F6014A的功能。现在,我们将为dsPIC30F6014A编写一个简单的测试程序,以确保所有设置均正确。下面的“ Hello World”程序是使用 mikroC Pro for dsPIC30/33 为dsPIC30F6014A编写和编译的。 DSC使用内部PLL(8x)和外部10.0 MHz晶振配置为以80 MHz运行。可以通过 Project-》 Edit Project 窗口完成 mPICroC Pro for dsPIC30/33 中的配置位设置(类似于mikroC Pro for dsPIC30/33)。 PIC)。该程序依次打开和关闭dsPIC30F6014A的PORTA,PORTB,PORTC,PORTD,PORTF和PORTG上连接的LED。
/* 》 “Hello world” program for dsPIC30F6014A (UNI-DS6 board)
Test configuration:
MCU: dsPIC30F6014A
Dev.Board: UNI-DS6
Oscillator: XT-PLL8, 10.000MHz x 8 = 80 MHz
*/
void main() {
ADPCFG = 0xFFFF; // Configure AN pins as digital I/O
TRISA = 0; // Initialize PORTA as output
TRISB = 0; // Initialize PORTB as output
TRISC = 0; // Initialize PORTC as output
TRISD = 0; // Initialize PORTD as output
TRISF = 0; // Initialize PORTF as output
TRISG = 0; // Initialize PORTG as output LATA = 0; // Set PORTA to zero
LATB = 0; // Set PORTB to zero
LATC = 0; // Set PORTC to zero
LATD = 0; // Set PORTD to zero
LATF = 0; // Set PORTF to zero
LATG = 0; // Set PORTG to zero
while(1) {
LATA = ~LATA;
Delay_ms(300);
LATA = ~LATA;
LATB = ~LATB;
Delay_ms(300);
LATB = ~LATB;
LATC = ~LATC;
Delay_ms(300);
LATC = ~LATC;
LATD = ~LATD;
Delay_ms(300);
LATD = ~LATD;
LATF = ~LATF;
Delay_ms(300);
LATF = ~LATF;
LATG = ~LATG;
Delay_ms(300);
LATG = ~LATG;
}
}
对dsPIC进行编程
用于dsPIC30F6014A的mikroBoard确实具有板载编程器,您需要安装mikroProg Suite您的PC上的PIC应用程序软件可以对其进行操作。 请记住,用于PIC的mikroProg套件是通过mikroBoard本身的mini USB端口而不是通过UNI-DS6板上的任何USB端口与板上编程器通信的。 。我建议按照以下步骤为dsPIC设置板上编程器。
首先,从此处下载适用于dsPIC30/33编译器的mikroC Pro,并将其安装在您的PC。
安装完成后,它将询问您是否要安装mikroProg Suite for PIC。同意,然后也安装它。
下一步,它将询问您是否要安装 mikroProg 的驱动程序程序员。说是,然后选择适合您的操作系统的驱动程序,然后安装它。就是这样。
成功完成上述三个步骤后,您的PC均已设置好,可以编写应用程序,对其进行编译并将HEX文件传输到dsPIC30F6014A。 dsPIC30/33的mikroC Pro中的编写和编译程序与PIC的mikroC Pro中的编写和编译程序相似。如果您对此不熟悉,请阅读“ 实验1:LED闪烁”。成功编译程序后,通过USB电缆将mikroBoard连接到PC,然后从mikroC Pro for dsPIC30/33应用程序窗口中选择 Tools-》 mE Programmer 。这将自动打开mikroProg Suite for PIC应用程序,以将HEX文件传输到dsPIC30F6014A。
单击mE编程器链接将自动启动mikroProg Suite
一旦加载了测试程序,则需要打开其他端口的LED开关。可以通过UNI-DS6板上的开关SW12来完成。将SW12的开关1到6滑动到ON位置(如下所示)。
用于将LED连接到dsPIC端口的开关
dsPIC30F6014A将运行测试程序,您将看到连接到不同端口的LED依次点亮和熄灭。请记住,dsPIC30F6014A具有六个16位端口(PORT A,B,C,D,F和G),以及总共68个I/O引脚。这意味着并非所有端口都可以完全访问16位。例如,在dsPIC30F6014A器件中,PORTF(实际上是16位)只有9个引脚可访问(RF0至RF8)。因此,对于不完整的端口,您将看不到所有LED发光。
连接到端口A,B,C,D,F和G的LED依次打开
UNI-DS6开发板的局限性
尽管该板被描述为通用开发板,但它确实有一些限制。在开发板的右侧,有十一个10针公头连接器连接到微控制器I/O端口。它们分别命名为PORTA(8位),PORTB(8位),PORTC(8位),PORTD(8位),PORTE(8位),PORTF1(8位,RF0-RF7), PORTF2(RF8-RF15),PORTG1(8位,RG0-RG7),PORTG2(RG8-RG15),PORTH(8位)和PORTJ(8位)。每个连接器包括8个端口引脚,一条Vcc线和一个Gnd引脚。根据插入UNI-DS6板上的mikroBoard的类型,可以通过这些连接器访问相应的I/O端口。这种安排对带有8位微控制器的mikroBoard来说效果很好,因为它可以访问所有I/O引脚。但是,对于具有16位I/O端口的dsPIC30F6014A,它不提供对所有端口引脚的访问。例如,在UNI-DS6板上似乎无法访问PORTB的RB8至RB15引脚。同样,PORTD引脚的一半缺失。此外,板上的LED和轻触开关均无法连接到这些引脚。因此,如果您想使用dsPIC进行强大的开发,我建议您购买dsPIC专用的开发板,例如dsPICPRO4。这将为您提供访问dsPIC单片机的所有I/O端口的完全灵活性。但是,如果您的首选是8位微控制器,并且希望将16位dsPIC作为附加功能,那么此开发板是一个不错的选择。所以这是一个权衡。我不会抱怨UNI-DS6板,因为对我而言,获得该板的主要原因是为PIC16F887和Atmega128微控制器开发应用,它们的性能非常好。 dsPIC DSC是我的第二优先选择,我很满意能在同一块板上获得支持,而不是全部但基本上是。
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !