当前位置:文档之家› DF51开发板使用说明

DF51开发板使用说明

DOFLY系列51开发套件前言尊敬的用户:您好!欢迎使用DOFLY系列开发板!恭喜您成为浩豚电子产品的用户!我们非常高兴您选择了本款产品。

我们将为你提供最真诚最优质的服务,让您在以后的日子里尽情发挥你的创意!为了让您更好的使用本款产品,并将它的功能发挥到极限,我们特意为您提供此产品的用户使用手册,使用产品前请您详细阅读该操作说明。

希望您通过此手册能够将您手中的产品性能发挥到最优。

谢谢!上海浩豚电子科技有限公司安全信息为了安全有效的使用该产品,请您使用前仔细阅读以下信息。

本产品可以通过USB供电,供电电流<500mA。

所以此时请勿连接大功率负载,并需防止短路。

电源适配器必须使用原装产品。

请不要在带电时拔插芯片以及相关器件。

自行扩展搭接导致不良故障,本公司不负任何责任。

带自恢复保险丝,试验安全,40Pin锁紧插座适用于4~40脚芯片,可以自由配置电源引脚。

使用杜邦线可以自由连接电路,不受固件限制。

一、基本配置:1、6个高亮数码管显示(数字和字母显示)2、8个独立优质按键(2Pin)(人机接口输入)3、8个高亮发光二极管(跑马灯、指示灯、红绿灯等)4、标准的RS232通信接口(PC通信)5、一体化红外接收头(高灵敏度,可做红外遥控器解码)6、遥控器用红外发射管(广发射角)可以模拟遥控器。

7、蜂鸣器(报警以及声音提示)8、一路继电器输出(弱电控制强电,隔离控制)9、EEPROM24C02(数据存储)10、ADC0832转换器接口(模数转换)11、DS18B20接口(精密温度检测)12、USB口供电,带自恢复保险丝保护13、加装优质电源开关14、晶振采用拔插方式,可以使用于不同频率15、DC电机接口(直接接入小功率直流电机即可)16、4相步进电机接口(直接接入即可)17、音频扬声器接口(直接接入可以播放音乐、声波)18、经典复位电路19、ISP10Pin下载线接口20、标准并口下载线(可以选配串口下载线或者USB口下载线)21、标准1602液晶接口22、标准12864液晶接口二、软件1.独立键盘的连接与应用独立键盘是通过键盘将IO口线拉高或拉低,单片机通过检测IO的状态从而判断按键是否按下,并转到相应的处理程序。

本电路8个按键通过跳线默认连接到P3口,因此可以直接使用IO口检测,也可以使用中断。

用户也可以通过杜邦线任意连接到需要的端口。

硬件连接如下:上图通过跳帽直接将8个独立键盘连接到P3口,P3对应的口线有三排插针,中间一排是直接连接到单片机上的,即P3口,外面的一排连接到8个按键,最里面的一排连接其他功能模块,比如串口、红外发射接收、ADC0832芯片通讯接口。

所以跳帽跳到外面排插针表示连接到按键上。

相关的软件操作代码如下:while(1){if(!SW1){……}//按下相应的键显示相应的值else if(!SW2){……}//按下相应的键显示相应的值else if(!SW3){……}//按下相应的键显示相应的值else if(!SW4){……}//按下相应的键显示相应的值}实际使用的时候需要进行键盘处理程序,防止误操作。

各种键盘的机械抖动时间不同,在键盘按下和释放的瞬间,键盘电路输出的波形如下:为了防止此抖动波形造成意料之外的操作,必须使用去抖程序,详细程序如下:if(!SW1){Delay(10);//延时10msif(!SW1){……}//键盘处理程序}2.独立LED灯的显示89s52单片机IO口可以直接驱动LED,LED的正常工作电流在10mA左右,最大电流不应超过30mA,否则会影响使用寿命。

本开发板8个LED灯通过短路块默认连接到P1口。

用户可以使用此硬件配置做跑马灯、红绿灯、状态指示等试验。

硬件电路图如下:相关驱动软件如下:sbit LED=P1^1;//定义端口main(){while(1){LED=1;//熄灭Delay(1);//延时1SLED=0;//点亮Delay(1);}}3.继电器的使用继电器是开关和控制电路常用器件,典型的以弱电控制强电的用应器件。

单片机的引脚电流不能直接驱动继电器,所以应加驱动电路,可以使用三级管扩流,也可以使用专用集成电路。

本图使用集成电路UL2003驱动,详细信息请参照器件的资料。

硬件电路如下:由于驱动集成块中带的二极管有续流作用,所以实际电路可以省略续流二极管。

软件只需将该控制引脚电平置高或拉低即可控制继电器的通断,程序与LED灯相同,这里不在赘述。

继电器含有机械触点,所以操作频率不能太高,否则会影响其使用寿命。

4.蜂鸣器的连接于使用蜂鸣器是一种使用简单的发声器件,可以用作报警或者提示音。

蜂鸣器常见使用电压为3V、5V、12V、24V等。

蜂鸣器直接接到相应的电压上就会发出固定频率和响度的声音。

所以使用时只需改变驱动电平就可以是蜂鸣器发声或者不发声。

通过改变高低电平的时间,可以发出不同间歇的声音,如常见的“嘀,嘀”声。

本开发板通过短路块连接到P2.6。

平时不用时可以把跳线拔掉,减少不必要的功耗。

硬件电路图如下所示。

软件控制和继电器控制基本同,下面程序模拟“嘀,嘀”声响。

while(1){delay(100);//高低电平的间歇时间,可以更改Buzzer=1;delay(100);Buzzer=0;delay(300);Buzzer=1;delay(100);Buzzer=0;delay(1000);}5.七段数码管原理的使用开发板采用公阴数码管,数据端口通过短路块连接到P0端口,位选择端通过短路块连接到P2端口(P2.0-P2.5),当对应的P0位(数据口)是高电平,P2口(位选择口)是高电平时,对应的数码管亮3,动态扫描就是利用在不同的时间显示相应的数码管的数值,然后循环扫描显示,利用人眼的视觉暂留效应,让数码管看起来显示连续数据。

图上黄线圈出的跳线跳到外侧(即靠近数码管的一侧)可以实现数码管电路连通。

硬件连接如下:软件程序如下:unsigned char const do fly[]={0x5e,0x5c,0x71,0x38,0x6e};//dofly code tablemain(){unsigned char i=4;P2=0x20;//段初始值while(1){P0=dofly[i];//相应的显示字符delay(300);//视觉暂留效应延时i--;P2=P2>>1;//显示下一个数码管if(P2==0x00)//所要扫描的数码管是否完毕?{delay(300);P2=0x20;i=4;}}}6.UART串行口硬件连接如下:开发板的P3.1和P3.0分别对应TXD和RXD,用短路块连接这两个端子(靠芯片的一侧)就可以直接使用串口试验了,这时连接P3.1和P3.0的两个按键会自动断开。

串口下载也是用这两个端口。

使用串口下载时(STC单片机)也需要连接这两个端口。

软件如下:#include<REG52.H>/*special function register declarations*//*for the intended8051derivative*/#include<stdio.h>/*prototype declarations for I/O functions*/#ifdef MONITOR51/*Debugging with Monitor-51needs*/char code reserve[3]_at_0x23;/*space for serial interrupt if*/#endif/*Stop Exection with Serial Intr.*//*is enabled*/sbit KEY=P1^2;void delay(unsigned int U){while(--U);}/*------------------------------------------------The main C function.Program execution startshere after stack initialization.------------------------------------------------*/void main(void){/*------------------------------------------------Setup the serial port for1200baud at11.0592MHz.------------------------------------------------*/#ifndef MONITOR51SCON=0x50;/*SCON:mode1,8-bit UART,enable rcvr*/ TMOD|=0x20;/*TMOD:timer1,mode2,8-bit reload*/TH1=0xf3;/*TH1:reload value for2400baud@11.0592MHz*/ TR1=1;/*TR1:timer1run*/TI=1;/*TI:set TI to send first char of UART*/#endif/*------------------------------------------------Note that an embedded program never exits(becausethere is no operating system to return to).Itmust loop and execute forever.------------------------------------------------*/while(1){if(!KEY)//如果按键按下则发送数据{delay(10000);//去抖if(!KEY){printf("This programer test ok!\n");printf("12:25:26\n");}}}}7.串行EEPROM24C02的使用方法硬件连接图如下:详细的协议说明请参考24C02的PDF资料文档。

IIC协议。

详件光盘中“芯片资料”文件夹图中黄线圈出的两个端子分别是SDA和SCL,可以通过任何连线或杜帮线连接到需要的端口上即可。

硬件连接可以参考电路图。

软件操作程序如下:#include<reg52.h>#include<intrins.h>#define AddWr0xae//Write Address#define AddRd0xaf//Read Address//全局变量sbit Sda=P3^4;sbit Scl=P3^5;sbit WP=P3^3;//No connect herevoid mDelay(unsigned char j)//A normal delay{unsigned int i;for(;j>0;j--){for(i=0;i<125;i++){;}}}//start IICvoid Start(void){Sda=1;_nop_();_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();Sda=0;_nop_();_nop_();_nop_();_nop_();_nop_();Scl=0;}//stop IICvoid Stop(void){Sda=0;_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();Sda=1;_nop_();_nop_();_nop_();_nop_();_nop_();Scl=0;}//ack IICvoid Ack(void){Sda=0;_nop_();_nop_();_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_(); Scl=0;_nop_();_nop_();}//unack IICvoid NoAck(void){Sda=1;_nop_();_nop_();_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();Scl=0;_nop_();_nop_();}//send a bytevoid Send(unsigned char Data){unsigned char BitCounter=8;unsigned char temp;do{temp=Data;Scl=0;_nop_();_nop_();_nop_();_nop_();_nop_();if((temp&0x80)==0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--;}while(BitCounter);Scl=0;}//read a byte and returnunsigned char Read(void){unsigned char temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;do{Scl=0;_nop_();_nop_();_nop_();_nop_();_nop_();Scl=1;_nop_();_nop_();_nop_();_nop_();_nop_();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1){temp1=temp<<1;temp=temp1;}BitCounter--;}while(BitCounter);return(temp);}//write to ROMvoid WrToROM(unsigned char Data[],unsigned char Address,unsigned char Num){unsigned char i;unsigned char*PData;PData=Data;for(i=0;i<Num;i++){Start();Send(AddWr);//Write AddressAck();Send(Address+i);//Write sub AddressAck();Send(*(PData+i));//Write DataAck();Stop();mDelay(20);}}//read from ROMvoid RdFromROM(unsigned char Data[],unsigned char Address,unsigned char Num){unsigned char i;unsigned char*PData;PData=Data;for(i=0;i<Num;i++){Start();Send(AddWr);//Write AddressAck();Send(Address+i);//Write sub AddressAck();Start();Send(AddRd);//Read AddressAck();*(PData+i)=Read();//Read DataScl=0;NoAck();Stop();}}void main(){unsigned char Number[4]={1,2,4,8};unsigned char i;//WP=1;P2=0x20;P0=Number[1];WrToROM(Number,4,4);mDelay(200);Number[0]=0;Number[1]=0;Number[2]=0;Number[3]=0;RdFromROM(Number,4,4);while(1){P0=Number[i];mDelay(200);i++;if(i==4)i=0;}}8.串行ADC的ADC0832的应用硬件电路图如下:ADC0832是串行AD转换器件,有两路输入,ADC0831有一路输入。

相关主题