基于proteus的51单片机开发实例(1)
cac55 2024-12-07 09:51 18 浏览 0 评论
1. 基于proteus的51单片机开发实例(1)--点亮一个小灯
1.1. 实验目的
通过本实例了解和熟悉以下知识:
1、51单片机I/O端口的输出操作;
2、了解单片机最小系统的组成;
3、了解单片机程序的基本框架;
4、了解LED发光二极管的特性。
1.2. 设计思路
电路设计思路:将一个发光二极管的一端连接到51单片机的一个I/O端口(P1端口)上,发光二极管的另一端连接到电源正极。
程序设计思路:编写程序,通过程序控制连接发光二极管的I/O端口输出高电平(或低电平)来控制发光二极管的点亮(或熄灭)。
1.3. 基础知识
本实例用到的基础知识有以下几方面:
1、51单片机P1端口结构及使用方法;
2、51单片机最小系统的电路组成;
3、发光二极管(LED)的工作原理及使用方法;
4、51单片机的基本程序框架。
下面我们来分别学习一下这些基础知识。
1.3.1. 51单片机P1端口结构及使用方法
首先我们来看看51单片机长什么样,以及在电路图中51单片机的标识符号,如图1,图2所示。
51单片机有4个8位的并行I/O端口,分别是P0、P1、P2、P3。这4个端口分别有不同的电路结构及用途。本例中用到的是P1端口,所以我们先来了解一下51单片机P1端口的内部结构及工作原理。置于P0,P2,P3口的内部结构及工作原理,我们在后续的例子中陆续学习。
图3所示是51单片机P1口的引脚内部结构。
51单片机的P1端口只能作为普通的通用I/O口使用(P0,P2,P3口除了作为通用I/O口功能外,还有第二功能,接下来的实例中会讲解)。
从图3中可以看出,在其输出端接有上拉电阻,所以它可以直接输出高电平或者低电平,不需要外接上拉电阻了。
当P1口作为输入口时,必须先向内部锁存器写“1”,这样使场效应管VT截止,才能够从读引脚位置处获取端口的电平状态,否则场效应管如果处于导通状态,就不能够获取正确的引脚电平状态了。
1.3.2. 51单片机最小系统的电路组成
我们知道,想要让一个电路能够正常工作,必须满足它的最基本的工作条件,同样的,对于单片机电路来说,想让单片机电路工作起来,必须满足其最基本的要求,这些要求有:电源,时钟电路,复位电路。
51单片机的最小系统图如图4所示。
对于电子产品来说,首先必须给它提供正常的电源才能工作,没有一个稳定的、适配的电源,它就不能工作。对于51单片机来说,它需要5V的稳定直流电源供电。
单片机必须在稳定的时钟脉冲下才能稳定的工作,就像我们列队操练,必须在统一的“一二一”的口令下,才能够保持队型不乱,步伐一致。
单片机复位电路也是必须的,因为单片机开始工作时,需要先将单片机内部的数据、状态配置在一个初始状态下,才能够按照程序设计的流程正常工作,比如单片机数据存储区(RAM)中的数值都需要按照确定的初始化的默认值开始执行,如果每次不初始化,则这些数值可能每次单片机启动时都不一样,这样就会导致程序执行出现问题。
1.3.3. 发光二极管(LED)的工作原理及使用方法
发光二极管(LED)是单片机学习中最常见的两种元器件(另一个元器件是按键,使用LED和按键就可以把单片机的大部分基础功能实现,在后面的实例中我们会对此有深切体会)。
常见发光二极管的外形接结构图如图5所示。
发光二极管(LED)和普通二极管的特性一样,都具备单向导电性,不同的是,当加在发光二极管两端的电压超过它的导通电压(一般为1.7~1.9V)后,发光二极管导通,当流过它的电流超过一定值时(一般是2~3mA,不同颜色的发光二极管发光电流不一样),开始发光。
1.3.4. 51单片机的基本程序框架
任何程序的编写都要遵循一定的规则和流程,对于单片机程序来说,同样如此,单片机程序的一般框架如下。
#include <AT89X52.h> //头文件包含
//全局变量声明和定义
//函数声明
int main(void)
{
//初始化设置
while(1)
{
//程序内容
}
}
1.4. 电路设计
本实例的电路如图6所示。单片机的P1.0端口接发光二极管的负极,发光二极管的正极通过限流电阻接到电源的VCC端。
本电路中发光二极管的驱动电路是典型的“灌电流”电路,具体原理是,当P1.0输出高电平时,D1两端都是高电平,所以发光二极管上无压差,不会导通,也就不会发光;当P1.0输出低电平时,D1两端就有了压差,从而导通,发光二极管开始发光。从电流流向来说,电流是从VCC经过限流电阻,到达发光二极管的正极,然后从发光二极管的负极流入到单片机的P1.0口,就好像是电流“灌入”了单片机的P1.0端口,所以称为“灌电流”电流。(与之对应的,还有拉电流电路,下一个例子我们就采用拉电流的方式)
需要注意的是,该电路图并不适合正式产品使用,因为单片机端口的输入或者输出电流的能力都是有限的,并且通常的单片机系统不可能只有一个发光二极管。在后面的例子中,我们会介绍更符合实际应用的发光二极管驱动电路。
1.5. 程序设计
本实例的程序代码如下。
#include <AT89X52.h> //头文件包含
int main(void)
{
P1=0xfe;//P1.0口输出低电平
while(1)
{
//程序一直在此循环
}
}
对于程序中#include <AT89X52.h>这句话的作用,我们可以通过将该语句屏蔽后,编译程序提示的错误信息来了解。
将该语句屏蔽后,编译程序,会出现如图6所示的错误提示,根据这个提示,我们知道,头文件的其中一个作用就是将P1进行了预定义,只有这样我们才能在程序中使用P1而不会出错。
1.6. 实例仿真
单片机程序编译完成后,将生成的hex文件装载到用proteus建立的仿真电路中,点击开始仿真按钮,就可以看到程序的运行结果了,可以看到LED被点亮了。如图6所示。
拓展:大家可以试着在proteus环境下,将电阻R2的阻值或者发光二极管D1的导通电流修改一下,然后再看看发光二极管的亮度会有什么变化。
1.7. 总结
发光二极管是单片机学习中最方便、最直接的指示程序运行结果的器件。所以我们要对发光二极管的特性和工作原理有充分的理解。在后面的实例中,我们将会经常看到使用发光二极管的点亮、熄灭、闪烁等状态指示程序的运行状态。
本系列实例基本都基于keil和proteus两个软件。所以大家需要熟悉如何在keil环境下编写51单片机程序,如何在proteus环境下建立51单片机仿真项目。
相关推荐
- Linux服务器被黑客入侵后各排查项及排除步骤
-
Linux入侵排查0x00前言当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故...
- [常用工具] Python视频处理库VidGear使用指北
-
VidGear是一个高性能的Python视频处理库,它在预载多个专业视频图像处理库的基础上,如OpenCV、FFmpeg、ZeroMQ、picamera、starlette、yt_dlp、pyscre...
- 微信公众号自动回复及多客服功能实现
-
目录前期准备1、微信公众平台基本设置2、开发所需参数功能步骤1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑具体实现1、微信接入2、自定义回复及多客服接入默认微信公众平台对公众...
- 电脑病毒怎么彻底清理?这3个方法可以解决!
-
案例:电脑中毒无法正常使用怎么办?怎么清理电脑病毒?如何彻底清除病毒?有没有小伙伴知道解决的方法?在使用电脑的过程中,我们经常会遇到电脑中病毒的情况,它们能够通过各种渠道感染你的计算机系统,给你带来许...
- 人在低谷落难的时候,一定要记住的4句话
-
凌晨三点在便利店啃面包时,我看见邻座大哥对着手机里的存款余额发呆,手指在屏幕上划了又划——原来成年人的崩溃,真的会藏在每个看似普通的深夜里。如果你也正在经历「人生断电期」,这10句从谷底爬起来的人总结...
- Linux环境Docker容器安装与使用(六)——安装Hadoop大数据集群
-
简介:Hadoop是一种分析和处理大数据的软件平台,是Appach开源软件的一个架构,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算。Hadoop框架最核心的设计就是HDFS和MapR...
- (2023年最新)50个超实用电脑实用快捷键,提高操作效率10倍!
-
我们现在大多数工作都需要使用电脑,掌握简单的电脑知识,可以更好的提高操作效率,熟能生巧是没错,但还有一个方法就是使用快捷键。办公室文员必备技能知识;基本要求:打字快,会office办公软件(word文...
- 升级WIN10毛病多?解决这些问题,轻松应对!
-
1、win10网络不稳定①打开设置,进入网络和INTERNET。②在“WLAN页面”选择“管理Wi-Fi设置”。③在此页面上有个管理已知网络,里面记录着之前电脑连接过的无线网络连接,点击“连接名称”,...
- 史上最贱最贱的电脑病毒!(最致命的电脑病毒)
-
看了标题,有很多人是充满好奇心进来的,想看看有多贱!我可以郑重的告诉你,贱到你想掐死黑客!下面我给你介绍一下这个病毒是怎么个贱法!因为我亲身体验了一把!前几天我不知道怎么回事,我电脑莫名其妙多了几...
- 五千字长文全平台笔记软件obsidian同步攻略&图床使用教程
-
全平台笔记软件obsidianobsidian(黑曜石)是一个全平台的笔记软件,基础笔记功能免费,如果使用官方的同步功能好像是收费(我也不确定,因为我甚至没登陆过obsidian的账号)。可以使用ma...
- 工业自动化2.0演进:具有自我意识的运动控制
-
工业自动化领域的下一个发展方向要求机器能够独立调整其性能参数,以完成工厂操作人员分配的任务,或根据生产力增强的人工智能(AI)算法的输入,对机器自身重新配置以优化其行为。具有自我意识的机器的价值在于,...
- 零信任的时代到来!VPN将逐渐被取代
-
转自NETWORKWORLD,作者NealWeinberg,蓝色摩卡译,合作站点转载请注明原文译者和出处为超级盾!传统的VPN正在被一种更智能、更安全的网络安全方法所取代,这种方法将每个人都视为不受...
- 电脑键盘指法+常用快捷键文字及图片详解
-
图1:20190820(整理)(较全面的在后面)Ctrl+N:新建文档F4:重复上述操作Esc:取消当前操作HOME:光标跳转行首END:光标跳转到行尾WIN+L:锁定桌面WIN+E:开启磁...
- VPN正在消亡,零信任万岁
-
转自NETWORKWORLD,作者NealWeinberg,蓝色摩卡译,合作站点转载请注明原文译者和出处为超级盾!传统的VPN正在被一种更智能、更安全的网络安全方法所取代,这种方法将每个人都视为不受...
- Windows自带的「黑科技」工具,能让你少装10个软件!
-
电脑装了一堆软件,桌面却还是乱糟糟?其实Windows系统里藏着一堆“神器”,无需第三方工具就能搞定截图、录屏、OCR文字提取、系统加速……这7个冷门但逆天的内置工具,专治“软件成瘾症”,看完立马卸载...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)