51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx

上传人:b****1 文档编号:14562897 上传时间:2022-10-23 格式:DOCX 页数:97 大小:933.58KB
下载 相关 举报
51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx_第1页
第1页 / 共97页
51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx_第2页
第2页 / 共97页
51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx_第3页
第3页 / 共97页
51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx_第4页
第4页 / 共97页
51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx_第5页
第5页 / 共97页
点击查看更多>>
下载资源
资源描述

51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx

《51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx(97页珍藏版)》请在冰豆网上搜索。

51单片机的基本外围电路设计以及相关C语言程序Word格式文档下载.docx

元件名称

序号

标称

规格(封装,功率电压等参数)

作用

单片机

IC

STC89C51

DIP40

核心芯片

电容器

C1

30PF

独石

振荡

C2

C3

10F

点解电容器

复位

晶振

CY

12MHz

S型

电阻

R1

1K

1/4W,金属膜

电容器C3放电电阻

R2

端口电位上拉电阻

R3

限流电阻

发光二极管

LED1

5

红色高亮

显示

LED2

二、程序设计

1.程序设计平台

程序设计采用keilC软件,为了养成一个良好的文件管理习惯,建议:

编程前,在计算机的某个硬盘分区下建立一个目录,目录的名字为你编写程序的主题,然后把keilC产生的所有文件都放在该目录下。

程序设计步骤如下:

(1)运行keilC,创建一个项目。

利用keilC菜单栏中project-newproject创建,项目的名字为你编程的主题,如本案例可以用“LED_1.uv2”或“一个LED闪烁实验.uv2”,存放目录为你的主题目录下;

(2)创建建一个文件,然后以“.c”后缀名,文件存放在你的主题目录下;

(3)把c文件添加在你的项目中,在projectworkspace窗口利用addgroup…实现。

如果软件界面不显示这个窗口,运行keilC菜单栏中的view-projectwindow。

(4)设置编译器,是编译过程中能生成“.hex”文件。

默认文件名与主题名字相同。

运行project-optionfor‘target1’-output窗口下点击createHEXfile。

(5)在编程区域写你的程序,结束后存储文件并编译,要做检查,尽量避免警告出现,直到程序编译无误为止。

(6)程序烧写并试运行。

这个过程称为软件和硬件联合调试,如果实验板无误,程序编译通过,但在硬件上运行不成功是常用的事情,需要对程序进行多次调试。

在没有实验板的情况下,可以利用proteus软件仿真调试,也可以检验你的程序设计结果。

2.程序设计

(1)利用P0.0口驱动LED闪烁,高电平有效

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

#include<

reg51.h>

//包含头文件

sbitLED=P0^0;

//LED接P0.0。

在kellC51软件中,定义P0.0为P0^0,

voiddelay(unsignedcharx)//延时函数

{

unsignedchari,j;

for(i=0;

i<

x;

i++)

for(j=0;

j<

200;

j++);

}

voidmain(void)//主函数

While

(1)//程序死循环

{

LED=0;

//P0.0输出低电平,LED灭

voiddelay(100);

//调用延时函数,延时一段时间,约0.3秒,不精确

LED=1;

//P0.0输出高电平,LED亮

voiddelay(100);

(2)利用P0.7端口驱动LED闪烁,低电平有效

//包含头文件,程序为小5号字

sbitLED=P0^7;

i<

x;

1000;

{while

(1)

LED=~LED;

//LED初始状态为灭,执行一次,LED改变一次状态

//延时一段时间

三、程序说明

1.应为使用的单片机芯片为STC89C51,因此程序开始处加入#include<

,文件reg51.h中包含了51芯片所有特殊功能寄存器的名称定义和相对应的地址值;

2.单片机程序单步顺序执行,先执行主函数,在主函数可以调用分函数,分函数可以调用分函数,但分函数不能调用主函数,程序执行一条命令再执行下一条,单片机等待的过程是执行了一个循环命令或一个浪费时间的程序,实际执行过程永远不会结束。

delay()为函数延,单片机在执行此函数相关指令时占用的时间过长,在执行过程中,如果没有中断,单片机只能忙这一件事情。

利用delay()不能得到精确的延时。

延时函数还可以利用下面的函数实现。

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

voiddelay(unsignedintx)

while(x)

x--;

3.利用位定义命令让LED等价于P0.0或P0.7,等于先sbitP0_0=P0^0,然后#definedLEDP0_0,也在程序前面不做此类定义,在程序里面直接写成P0^0=1或P0^0=0,先定义是为了增加程序的可读性。

程序执行P0^0=1后,P0.0对以的单片机内部位寄存器就设置为高电平,同时P0.0端口也输出高电平,单片机的所有I/O口都可位未定义,也可以字节定义。

4.单片机C语言程序设计需要的C语言关键字不多,并且在keilC中用到的关键字是独有的,因此对于没有学习过C语言的人学习单片机C语言程序设计困难并不是很大,主要掌握单片机C语言书写格式,怎样用C语言控制单片机的硬件资源,另外在编程时,还要有清晰的逻辑思维头脑和认真实践,由浅逐步深入学习,当你坚持到最后时,单片机C语言程序设计实际上很简单。

5.每个人在编写程序时都有自己的风格。

一般情况下,函数的字符左行距为0,其下每条语句前留一个“tab”键空。

算数逻辑符号的左右留一个空格,关键语句要有中文或英文说明,每一个函数有时也可以用“/**.....**/”上下隔开这样有助于提高程序的层次感和可读性。

3.1.2利用P0口驱动8个LED,产生跑马灯或流水灯效果

一、参考电路

实验电路见图3-3-2所示,在单片机的最小系统的基础上,P0口依次接入8个LED,P0口的上拉电阻可以使用8个1K电阻。

图3-1-2流水灯电路

在利用Proteus软件仿真时,可以用电阻排代替。

单片机最小系统在单片机元件放置后已经默认,即C1、C2、C3、CY、R1可以省略。

其它元件选取见表3.1.2所示。

表3.1.13-1-2电路Proteus软件元件表

元件名称component

总类Category

分类Sub-Category

结果Results

模型Modeltype

MicoroprocessorIC

8051Family

80C51

电阻排

Resistor

ResistorPack

RESPACK-8

ANALOG

Optoelectronics

LEDs

led-red

DIGITAL

二、参考程序

voiddelay(void)

{

unsignedchari,j;

255;

i++)for(j=0;

voidmain(void)

unsignedcharj=0x01;

while

(1)

j=j<

<

1;

if(j==0x00)j=0x01;

P0=j;

delay();

}}

1.语句j=j<

1,执行的目的是控制P0整个字节的数据在循环时左移变化,程序循环第一次,P0=0x02,P0.1连接的LED亮,其它灭;

循环第七次,P0.7连接的LED亮,其它灭;

循环第八次,j=0x00,if语句条件满足,j=0x01,P0.0连接的LED亮,其它灭,然后依次变化下去。

如果P0口驱动8个LED低电平有效,如下修该:

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

unsignedcharj=0xfe;

j=(j<

1)|0x01;

if(j=0xff)j=0xfe;

2.delay()函数无形参,延时时间不能设置。

3.1.3利用P0口驱动一个数码管,显示0–9,并循环

实验电路在单片机的最小系统基础上,P0口接一只共阳数码管,见图3-1-3。

带小数点的数码管是由8个LED组成,七个LED组成数字,另一只LED用来显示小数点。

如果数码管内部的8只LED的正极接在一起,负极分别引出,引脚依次命名为a、b、c、d、e、f、g和dot,称为带小数点的7段共阳极性数码管。

图3-1-3单片机驱动共阳数码管电路

单片机的P0.0-P0.7口分别接数码管的a-dot引脚,如果让数码管显示1,数码管b、c段亮,程序控制P0输出0xbe十六进制编码即可

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

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1