最新51开发板手册1汇总Word文档格式.docx

上传人:b****3 文档编号:7850405 上传时间:2023-05-09 格式:DOCX 页数:27 大小:166.41KB
下载 相关 举报
最新51开发板手册1汇总Word文档格式.docx_第1页
第1页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第2页
第2页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第3页
第3页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第4页
第4页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第5页
第5页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第6页
第6页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第7页
第7页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第8页
第8页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第9页
第9页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第10页
第10页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第11页
第11页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第12页
第12页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第13页
第13页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第14页
第14页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第15页
第15页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第16页
第16页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第17页
第17页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第18页
第18页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第19页
第19页 / 共27页
最新51开发板手册1汇总Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新51开发板手册1汇总Word文档格式.docx

《最新51开发板手册1汇总Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新51开发板手册1汇总Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

最新51开发板手册1汇总Word文档格式.docx

4键盘扩展

08. 

看门狗+上电自动复位+手动复位+电源监控

09. 

128*64点阵式液晶显示 

(可显示画面和文字等)

10. 

RS232串行通讯 

(单片机通过串口与PC机进行通讯,板上数码管和上位机软

件均可显示通讯的数据,提供上位机软件)

11. 

红外信号发射与接收 

(单片机控制红外二极管发射红外信号并接收信号,也可以通

过遥控器发射,单片机控制接收信号并处理)

12. 

温度测量

13. 

I2C接口的E2PROM 

(AT24C08,8K容量,可用于断电时存储数据等场合,单片机软件

模拟I2C总线协议与之通讯)

14. 

时钟芯片 

(扩展时钟芯片以获取年/月/日,当前时间,星期等信息)

15. 

PS2接口 

(可外接PC机的键盘做系统的输入)

16. 

可通过键盘/红外遥控控制的电子万年历 

(液晶屏显示年/月/日,当前时间,星期,闹

铃定闹的时间,倒计时状态等;

可以修改闹铃时间和倒计时的起始时间;

可显示环境温度;

可通过PS/2接口接入键盘或通过红外发射来校正时间,开/关闹铃等.)

实验注意事项:

1.通电时,最好不要用手拿着电路板,防止短路;

接线时必须断开电源(开关为J2).

2.焊接JTAG座之前,需要将其2脚的针拔出,可确保调试器的VCC不与板子的VCC接到一起。

3.要确保程序正常下载,需要做到:

1>

单片机P1.5,P1.6,P1.7三个引脚不能接到功能模块;

2>

单片机复位端J13的2脚,不能接到上电自动复位端(即J13的1脚),也不能接到看门狗的复位输出(即J13的3脚)。

3>

确保USB调试器的驱动安装正确,在确保第1>

点和第2>

点的情况下,调试器还是不能下载程序,则可尝试更新调试器的驱动,再尝试下载。

4.程序下载完成后,将J13的1脚和2脚通过短路帽短接,再按下按键S17手动复位单片机:

程序下载完成后往往需要复位单片机,单片机才能正常工作。

5.数码管和液晶屏不能同时接到开发板,否则二者都不能正常使用.

6.程序以相应目录下的为准,本手册的部分代码只作为功能介绍之用,不能保证是最新版本。

编程软件和烧录软件等的使用见视频教程。

实验目录

(Ⅰ)基本实验

1. 

流水灯-------------------------------------------------------------------------------------------4

2. 

方波-PWM信号输出---------------------------------------------------------------------------6

3. 

按键中断----------------------------------------------------------------------------------------8

4. 

四位数码管动态显示-------------------------------------------------------------------------10

5. 

计数脉冲信号并显示-------------------------------------------------------------------------12

报警与音乐演奏-------------------------------------------------------------------------------13

7. 

4键盘扩展----------------------------------------------------------------------------------13

8. 

看门狗+上电自动复位+手动复位+电源监控----------------------------------------------14

9. 

128*64点阵式液晶显示----------------------------------------------------------------------14

10. 

RS232串行通讯-------------------------------------------------------------------------------15

11. 

红外信号发射与接收-------------------------------------------------------------------------16

温度测量---------------------------------------------------------------------------------------16

I2C接口的E2PROM--------------------------------------------------------------------------17

时钟芯片---------------------------------------------------------------------------------------18

PS2接口---------------------------------------------------------------------------------------18

(Ⅱ)综合实验

16.可调式电子万年历-----------------------------------------------------------------------------19

1.流水灯

实验内容:

利用单片机I/O口输出高低变化的电平,控制流水灯按程序设置的功能闪烁.

接线说明

J6接入单片机P0口.

注意:

单片机端口有两种操作方式,一种是写端口,如P0=0xff;

另一种是读端口,如if(P0==0xff),即读I/O口P0的状态,值为0xff时满足条件.

程序清单:

/***************************************************************

函数功能:

控制8个流水灯闪烁

接线说明:

流水灯接线柱接到P0口

学习内容:

单片机IO口(输入/输出)的应用

****************************************************************/

#include<

reg52.h>

delay(intk);

//延时函数预定义

main()

{

inti;

intdata1=0x7f;

intdata2=0xfe;

while

(1)

{

intabb=0xfe;

//变量abb赋初值

for(i=0;

i<

8;

i++)

{

P0=abb;

delay(1000);

//延时1秒

abb=abb<

<

1;

//8个灯依次点亮

}

P0=0xff;

//8个灯均灭

abb=0x7f;

abb=abb>

>

//8个灯换个方向依次点亮

P0=0x00;

//8个灯均灭

}

delay(intk)//延时函数,大致延时K毫秒

intd,n;

for(d=0;

d<

k;

d++)

for(n=0;

n<

125;

n++){;

}//由经验值,12M晶振时大概的延时时间(延时1ms)

2.方波输出

.利用板上NE555组成振荡器产生方波.

占空比及周期可以通过相关电阻,电容的数值计算得出.(线路已经接好,上电后L2即开始

闪烁)

.通过单片机定时器产生方波

通过设定定时器的定时值,计数值满时溢出产生中断,在中断服务程序中使相应管脚输出电平反相,从而产生方波信号.

单片机P1.2接到流水灯上(J6)的任意一个

/***********************************************************************

利用内部定时器输出方波控制流水灯

P1.2接到流水灯上(J6)的任意一个

单片机内部定时器/计数器的应用

编程思想:

单片机内部定时器最大定时值不超过一秒,可以用累加的方式增加定时时间

***********************************************************************/

#include<

inttime=0;

sbitP1_2=P1^2;

//定义控制脚

voidtimeout1()interrupt1using2//定时器0的中断服务程序

if(++time==100)//延时100*10ms(即1秒)时输出反向

P1_2=~P1_2;

time=0;

TH0=(65536-10000)/256;

//重装数据,延时10ms

TL0=(65536-10000)%256;

TR0=1;

TMOD=TMOD&

0xf0|0x01;

//定时器0工作在方式1

EA=1;

ET0=1;

//延时10ms

while

(1){;

.单片机输出PWM波形(可用示波器观察相应引脚上的输出信号)

输出PWM信号的原理与产生方波大致一样.设定一个数组,存入不同的延时值,定时器装入初值,溢出后产生中断,在中断服务取出数组中的定时值赋给定时器的数据寄存器,从而产生PWM波形.高低电平的维持时间有数组的值决定.

单片机I/O口P1.0接到流水灯上的任意一个.

/*******************************************************************

利用内部定时器输出PWM信号控制流水灯

P1.0接到流水灯上的任意一个

输出低电平1000微秒,高电平15000微秒(12M的晶振时),

可应用于电力电子技术中升压斩波电路等做IGBT的触发信号等.

*******************************************************************/

sbitP1_0=P1^0;

//定义变量P1_0代表I/O口P1口的0脚

biti=0;

inttab[2]={1000,15000};

voidtimeserver()interrupt3using3//定时器1中断服务程序

P1_0=~P1_0;

//输出取反

i=~i;

TH1=(65536-tab[i])/256;

TL1=(65536-tab[i])%256;

TR1=1;

{

P1_0=0;

0x0f|0x10;

//不改变定时器0的工作状态,定时器1工作于方式1

//定时器存入初值

//CPU开中断

//定时器1开始工作

}//等待定时器中断

3.按键中断

通过设定单片机中断的形式,如下降沿产生中断或低电平产生中断.按键输入低电平到相

应中断输入管脚,单片机识别出中断信号,如果CPU和相应外部中断使能有效(即EA---CPU中断使能位,EX0,EX1---外部中断使能位),则进入中断服务程序.

中断按键的线路已经连接好,不用另外接线.数码管用跳线冒接入(即AA连接到P0.0,BB连接到P0.1依次接入,CON1…CON4分别接到P2.7……P2.4)

/****************************************************************

利用内部中断控制数码管显示

数码管用跳线冒接入

单片机中断(外部)的应用

单片机识别出中断0或中断1就转向中断服务程序

*****************************************************************/

bitflag1=0,flag2=0;

voidservice_int1()interrupt0//外部中断0的中断服务程序,0为中断源序号,2为//使用的寄存器(可更改)

flag1=1;

//允许数码管显示数据

voidservice_int2()interrupt2//外部中断1的中断服务程序

flag2=1;

voiddelay()//延时程序

intj;

for(j=32400;

j>

0;

j--){;

voidmain()

EX0=1;

//开外部中断

EX1=1;

//开CPU中断

P2=0xff;

IP=0x04;

//设置中断优先级,外部中断0的级别设为最高,外部中断1和其他中断同级

//不设优先级则按单片机硬件决定

if(flag1==1)

P0=0xd5;

//显示3

P2=0x00;

flag1=0;

delay();

if(flag2==1)

P0=0xdb;

//显示6

flag2=0;

//清除显示使能

数码管每个显示数字共用数据线(8根线),每个分别有一个使能管脚,显示数据采用隐消的编程方法,即每一位显示一段时间再轮换.

数码管用跳线冒接入(即AA连接到P0.0,BB连接到P0.1依次接入,CON1…CON4分别接到P2.7……P2.4).数码管和液晶不能同时接入系统,否则任一部分都不能正常使用.

/*************************************************************************

数码管数值动态显示

用跳线冒接入数码管

常用的输出显示器件的编程应用

用隐消的方法实现数码管的动态显示,显示部分整理成库文件,方便以后直接应用

*************************************************************************/

LED8888.h>

//调用封装好的显示库函数

intj,k;

k=1286;

//显示值,实现数值累加显示

for(j=1;

j<

70;

j++)

Led(k);

//数码显示

k+=1;

以下为LED8888.h

charshuju[10]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7};

//数码管显示数字0-9

voidled8888_Delay(intj)//延时函数

intm;

for(m=0;

m<

j;

m++)

inti;

for(i=0;

i<

300;

i++){;

}//约1ms

voidLed(intk)

if(k>

999)

{P2=P2&

0x7f;

//P2.7输出低电平,选通千位数

P0=shuju[k/1000];

//取千位数

led8888_Delay

(2);

//延时

P2=P2|0xff;

//销隐

99)

P2=P2&

0xbf;

//P2.6输出低电平,选通百位数

P0=shuju[k%1000/100]+0x20;

//取出百位数,点亮数码管百位后的那一点

//销隐

9)

0xdf;

//P2.5输出低电平,选通十位数

P0=shuju[k%100/10];

//取十位数

=0)

0xef;

P0=shuju[k%10];

//取出个位数

利用单片机计数器功能,计数外部输入的脉冲信号,计算得出频率值.

FIN接入单片机I/O口P3.5.数码管接入

/**********************************************************************

计数外部(555电路)的脉冲

FIN接入单片机I/O口P3.5.

**********************************************************************/

intcount=0;

//显示值赋初值

TMOD=0x55;

//计数器1工作在方式1

TL1=(65536-5)%256;

//设置初值,计数4次后产生定时/计数器中断

TH1=(65536-5)/256;

//启动计数器

//开CPU中断,不开中断也行,没有用到计数器中断

ET1=1;

count=TL1;

//显示当前计数值

Led(count);

通过单片机内部定时器,输出频率改变的信号给蜂鸣器电路,并改变节拍即可产生音乐.

NC接到单片机I/O口P1.2

原理:

采用矩阵扫描的形式,识别按键,然后转入相应处理,程序参见光盘部分.

接线柱J15接到单片机P1口.(J15的第一个脚对应接P1.0),数码管接入.

看门狗+上电自动复位电路+手动复位电路+电源监控

外部看门狗:

采用MAX813L,程序跑飞时可以强制复位,相当于一个定时器,有一个设定的计数值,计数没有溢出之前将其计数值清零,然后重新计数,这个过程即:

”喂狗”,如果在计数溢出之前没有清零,则计数器溢出,从而产生强制复位信号.工业控制干扰大的场合必用看门狗电路防止出现意外事故.

附带功能:

电源检测功能,当电源电压低于门限值时相关引脚电平跳变,可以输入到单片机中断口,使单片机保存数据等.

NF接到P3.2,NG接到P1.4,J13中将看门狗输出与复位脚用短路冒短接起来。

数码管接入.可以试着停止喂狗的语句看数码管显示有何变化.

128*64点阵式液晶显示

所用的液晶型号为FM12864J(20个接口),使能信号E为低电平有效.驱动程序见程序部分。

液晶模块用跳线冒接入(即AA连接到P0.0,BB连接到P0.1依次接入,CON1…CON5分别接到P2.7……P2.3).

RS232串行通讯

串行通讯可以实现单片机与PC机方便的通讯,51的输入/输出缓冲器共用一个地址,但是两个不同的寄存器,可以分别用于缓存待发射的和要接收的程序,程序参见光盘部分.

通讯波特率的设定:

51单片机通过定时器中的定时值来设定波特率。

开发板上的串口接到PC机串口.RXD接到P3.0,TXD接到P3.1,数码管接入.注意数码管显示的数据为十进制,以十六进制发送11,则数码管显示为17.

红外信号发射与接收

红外发射采用红外发射二极管,用软件产生38KHZ(也可为其他频率的)的载波信号,单片机对信号进行调制然后发射出去,所谓载波调制是非常简单的过程,看看下面的程序即可明白;

红外

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2