因为个人原因耽误了好久才写的测评报告,在此先跟平台方致以大大的歉意{:2_25:}。
首先感谢平台给我一次机会第一次接触到开发板的硬件{:2_27:},由于之前摸索的51只是从仿真上凭着感觉来摸索,所以很多具体实际的效果无法用实物来代替。
见到这块实物开发板的时候,接着就爱不释手的开箱、上电、接线、烧录了一下程序跑了跑。期间因为接线问题看了半天的原理图。原谅本人比较慢{:2_25:}。
接下来就跟大家分享一下,个人对于这块51开发板的一些学习经验:
首先先上两张proteus图,这是经过了好多天的从零开始学的仿真电路,一个画了部分的51开发板电路。另一个就是学习了很多天才学会的温湿度。
这个是教材里学的其中的动态数码管
这是跟师父学的温湿度测试,搞了半个月才出的成果,原谅小白
哦,忘记上开箱图了,只能现在补一个差不多的了
这些是相关配件,烧录器LCD屏,遥控器,串口线等一应俱全。
原谅我为了方便把盒子拆了,这就是大名鼎鼎的普中开发板,还在犹豫什么赶紧上车吧
下面就是我最终的实验效果了----------温湿度测试
电脑烧录软件-------普中产
接了一个LCD1602,自己买了个DHT11温湿度传感器,6元钱,这样子自己家里也能测温湿度了
下面上自己边学边学的普中开发板调试程序,主函数可以想调用那个改个名就行了。可简单了{:2_33:}
#include "reg52.h"
#include "intrins.h"
typedef unsigned int u16;//¼ò¶¨ÒåintÐÍ
typedef unsigned char u8;//¼ò¶¨ÒåcharÐÍ
#define smg P0 //P0¿ÚÈ«¾Ö¶¨ÒåΪÊýÂë¹Üsmg
#define juz P1 //P1¿ÚÈ«¾Ö¶¨ÒåΪ¾ØÕó°´¼üjuz
#define lsd P2 //P2¿ÚÈ«¾Ö¶¨ÒåΪÁ÷Ë®µÆlsd
void delay(u16 i) //Ñ»·º¯Êý£¨10us£©
{
while(i--);
}
/////////////////////////////////////////////////////////////////////////////////////////////
void lrmove() //¶¨ÒåÁ÷Ë®µÆº¯Êý
{
u8 i;
while(1)
{
lsd=0xfe; //³õʼ״̬
delay(50000);
for(i=0;i<70;i++) //Ò»Ö±×óÒÆ
{
lsd=_crol_(lsd,1);
delay(50000);
}
//´Ë´¦¿ÉÒÔÌí¼ÓÓÒÒÆcror
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
void jdhylsd() //¶¨Òå¼òµ¥»¨ÑùÁ÷Ë®µÆº¯Êý
{
u8 i;
u8 code lsdNO[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
0xE7,0xDB,0xBD,0x7E,0xFF};
//×Ô¶¨ÒåÁ÷Ë®µÆµÄÁ÷ˮ״̬
while(1)
{
for(i=0;i<32;i++) //ÒÀ´Î°´ÕÕiÖµÀ´Ñ¡ÔñÊý×éµÄÖµ
{
lsd=lsdNO
;
delay(50000);
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
sbit p15 = P1^5; //붨ÒåÀ®°È
sbit p30 = P3^0; //붨Òå°´¼ü
void buzz1() //¶¨Òå°´¼ü±¨¾¯º¯Êý
{
if(p30==0) //°´¼ü°´Ï£¬À®°ÈÏì
{
delay(1000);
if(p30==0)
{
p15=0;
}
}
if(p30==1) //°´¼ü̧Æð£¬À®°È²»Ïì
{
delay(1000);
if(p30==1)
{
p15=1;
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
sbit u2a = P2^2; //붨Òå138A½Å
sbit u2b = P2^3; //붨Òå138B½Å
sbit u2c = P2^4; //붨Òå138C½Å
void jtsmg() //¶¨Ò徲̬ÊýÂë¹Üº¯Êý
{
u8 smgID[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//ÊýÂë¹ÜµÄ×Ö·û¶ÎÂë
u2a=0;
u2b=0;
u2c=0;
while(1)
{
smg=smgID[0];
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
//Ó뾲̬ÊýÂë¹Ü¹²Ïí붨Òå
void dtsmg()
{
u8 smgID[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//ÊýÂë¹ÜµÄ×Ö·û¶ÎÂë
u8 i;
while(1) //ÊýÂë¹ÜÑ»·ÏÔʾ
{
for(i=0;i<8;i++)
{
switch (i)
{
case 0:
u2a=0;u2b=0;u2c=0;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 1:
u2a=1;u2b=0;u2c=0;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 2:
u2a=0;u2b=1;u2c=0;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 3:
u2a=1;u2b=1;u2c=0;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 4:
u2a=0;u2b=0;u2c=1;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 5:
u2a=1;u2b=0;u2c=1;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 6:
u2a=0;u2b=1;u2c=1;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
case 7:
u2a=1;u2b=1;u2c=1;break; //138¹Ü½ÅµÄÊä³ö¿ØÖÆ
}
smg=smgID; //138Òý½ÅÌṩÊä³öµÄÊýÂë¹ÜÏÔʾµÈÊý×ÖµÄÐÅÏ¢
delay(100); //ƵÉÁ¼ä¸ôʱ¼ä
smg=0X00; //Çå¿ÕÒ»ÏÂ
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
void jzkey1()
{
u8 smgID[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//ÊýÂë¹ÜµÄ×Ö·û¶ÎÂë
u16 retvalue;
u8 a;
while(1)
{
u2a=0;
u2b=0;
u2c=0;
juz=0x0f;
if(juz!=0x0f) //Åж¨¾ØÕó°´¼üÊÇ·ñÓб»°´ÏµÄ
{
delay(1000);
if(juz!=0x0f) //Ïû¶¶È·ÈÏÊÇ·ñ°´¼ü°´ÏÂ
{
//juz=0x0f;
switch(juz)
{
case(0x07):retvalue=0;break;
case(0x0b):retvalue=1;break;
case(0x0d):retvalue=2;break;
case(0x0e):retvalue=3;break;
}
juz=0xf0;
switch(juz)
{
case(0x70):retvalue=retvalue;break;
case(0xb0):retvalue=retvalue+4;break;
case(0xd0):retvalue=retvalue+8;break;
case(0xe0):retvalue=retvalue+12;break;
}
while((a<50)&&(juz!=0xf0))
{
delay(1000);
a++;
}
}
}
smg=smgID[retvalue];
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
sbit IN_PL = P1^6;
sbit IN_Data = P1^7; //Êý¾Ýͨ¹ýP1.7½ÅÒƽøµ¥Æ¬»úÄÚ´¦Àí
sbit SCK = P3^6;
u8 Read74HC165(void)
{
u8 i;
u8 indata;
IN_PL = 0;
_nop_(); //¶ÌÔÝÑÓʱ ²úÉúÒ»¶¨¿í¶ÈµÄÂö³å
IN_PL = 1; //½«ÍⲿÐźÅÈ«²¿¶ÁÈëËø´æÆ÷ÖÐ
_nop_();
indata=0; //±£´æÊý¾ÝµÄ±äÁ¿Çå0
for(i=0; i<8; i++)
{
indata = indata<<1; //×óÒÆһλ
SCK = 0; //ʱÖÓÖÃ0
_nop_();
indata |= IN_Data;
SCK = 1; //ʱÖÓÖÃ1
_nop_();
}
return(indata);
}
/*******************************************************************************
* º¯ Êý Ãû : main
* º¯Êý¹¦ÄÜ : Ö÷º¯Êý
* Êä Èë : ÎÞ
* Êä ³ö : ÎÞ
*******************************************************************************/
void main()
{
u8 h165Value;
smg = 0;
while(1)
{
h165Value = Read74HC165();
if(h165Value != 0xFF)
{
smg = ~h165Value;
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
/*******************************************************************************
void main() //ÎÒ¾ÍÊÇÖ÷º¯Êý
{
jzkey1(); //ÏëÓÃÄĸöº¯Êýµ÷ÓÃÄĸö
}
*******************************************************************************/
温湿度测试的程序我就不上了,大家有需要的给我留言,我会给你们全部资料及部分自己的陋解的{:2_31:}