实验(三):单片机I/O口实验-模拟开关灯

news2025/8/2 21:58:52

一、实验目的与任务

        实验目的:

                1.掌握单片机I/O口输入输出使用;

                2.掌握单片机I/O口位操作的编程。

        任务:

                1.根据要求编写程序,并写出原理性注释;

                2.  检查程序运行的结果,分析一下是否正确;

                3. 完成所建工程的仿真及调试。

二、实验内容

        1.设计一个模拟开关灯系统,将单片机P3.0引脚接开关,P1.0引脚接发光二极管,利用开关控制二极管的亮和灭;

        2.利用Keil进行编程和调试;

        3.利用Proteus建立仿真模型,完成所建工程的仿真及调试。

三、实验步骤

(1)软件实现:

实验步骤:

        1.运行Keil uVision5 开发环境,按照“模块化单片机教学实验平台配套的实验指导书1.2.3 节”介绍的方法建立程esimlab3. uvproj,CPU 为AT89S51,包含启动文件STARTUP.A51。

        2.输入源程序,在Keil uVision5 开发环境中,建立源程序esimlab3.c,将上述程序加入该程序文件。并将该文件加入工程esimlab3.uvproj。

        3.设置工程esimlab3. uvproj 属性,将其晶振频率设置为12MHz,选择输出可执行文件(HEX 文件),仿真方式为“Use Simulator”。

        4.构造(Build)工程esimlab3.uvproj。如果输入有误进行修改,直至构造正确,生成可执行程序 esimlab3.hex 为止。

(2)Proteus仿真:

实验步骤:

        1.运行Proteus 开发环境,建立工程,新建原理图设计文件esimlab3. Pdsprj,参考图一。

图一 原理图实例

        2.设置单片机属性,将其晶振频率设置为12MHz,载入KEIL生成的文件esimlab3.hex。

        3.运行仿真并观察结果。

四、实验小结

esimlab3.c文件:

#include <REGX51.H>//调用51单片机头文件

void main(){
	
	while(1){
		//判断按键是否按下
		if(P3_0 == 0)
		{
			P1_0 = 0;//按键按下,LED灯点亮
		}
		else
		{
			P1_0 = 1;//按键松开,LED灯熄灭
		}
	}
}

仿真结果:

        通过本次实验,掌握单片机I/O口输入输出使用掌握单片机I/O口位操作的编程

        P1口属于弱上拉模式,如果端口引脚为低电平,能使灌电流从单片机的外部流入内部,则将大大增加流过的灌电流值,因此给P1口低电平就可以驱动LED点亮。

        被检测的开关一端接到I/O端口的引脚上,另一端接地,开关处于闭合状态还是打开状态可通过读入I/O口的电平来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VLAN和VLAN间路由

VLAN和VLAN间路由一 交换机二 vlan2.1 华为交换机的特性2.2 access接口2.2.1 在华为交换机上配置access接口2.2.2 access接口接收到报文的处理流程&#xff08;打vlan tag&#xff09;2.2.3 access接口发送报文的处理流程&#xff08;剥离\弹出vlan tag&#xff09;![在这里插入…

【仿牛客网笔记】项目进阶,构建安全高效的企业服务——权限控制

引入依赖 将登录检查拦截器删除掉 授权 首先显示路径 除了这些请求&#xff0c;其他的请求统统允许。 当权限不够处理的时候 返回XML是异步请求 添加denied的路径 获取用户权限的方法 将结果存入到集合中&#xff0c;实例化一个集合 获得用户权限&#xff0c;并把…

java框架学习笔记——SpringMVC

SpringMVC1. SpringMVC简介1.1 什么是MVC1.2 Spring MVC1.3 Spring MVC 的常用组件2. Hello SPring MVC2.1 基础配置2.2 总结3. RequestMapping注解3.1 功能3.2 位置3.3 value属性3.4 method属性3.5 params属性3.6 headers属性3.7 SpringMVC支持ant风格的路径3.8 SpringMVC支持…

数据中心网络方案设计

大家好&#xff0c;我是技福的小咖老师。 云计算、大数据、人工智能等技术的快速发展&#xff0c;对承载数据流量的数据中心网络提出了更高的要求&#xff0c;高吞吐量、高可靠性、低时延、适应服务器虚拟化等都是业务对数据中心网络提出的要求。为了满足业务对网络的要求&…

若依 弹出复选框表格

需求&#xff1a; 工资表用户应该可以弹框选择&#xff08;弹窗选择用户表的id&#xff09; 最后效果差不多这样&#xff1a; 步骤&#xff1a; 1.首先&#xff0c;先看我们需求啊&#xff0c; 工资表用户应该可以弹框选择 通过需求确认&#xff1a; 与这个需求关联的表有…

APS自动排产-AP工厂高级计划

安达发AP主要解决的问题&#xff1a; 客户交货需求&#xff1a;将销售订单、销售预测&#xff0c;同一转换为客户交货需求。生产净需求&#xff1a;考虑客户交货需求、当前库存、采购在途、生产在制、生产提前期、生产周期等&#xff0c;扣库存、展 BOM&#xff0c;最终产生产…

你知道数字化表单在防疫中的运用有哪些吗?

说到信息登记&#xff0c;很多人第一印象就是纸质化表格。但是随着科技发展&#xff0c;纸质化登记模式早已被out了。相比传统的纸质表格登记信息&#xff0c;现在普及的数字化表单登记模式有着更多的优势&#xff0c;例如&#xff1a;成本低、不宜丢失、打破了时间与地点限制&…

EasyCode的Mybatis终极版模板

EasyCode的Mybatis终极版距离我第一次上手EasyCode已经有一年的时间提醒一下&#xff0c;看这篇文章&#xff0c;如果你已经有EasyCode使用基础&#xff0c;只是来拿一下模板&#xff0c;可以直接看&#xff0c;如果你同时想知道知道到底怎么用easy code&#xff0c;请先看[Eas…

RabbitMQ初步到精通-第四章-RabbitMQ工作模式-Routing

第四章-RabbitMQ工作模式-Routing 1.模式介绍 1.1 模式 路由模式-继续还是和Exchange打交道&#xff0c;上节提到的Exchange类型为Fanout&#xff0c;此次声明的类型为direct 与默认Exchange一致。但还有最核心的一点&#xff0c;上节未使用Routing key&#xff0c;此次模式中…

SpringBoot实用开发篇复习3

我们之前学习了数据访问层的解决方案&#xff0c;包括关系数据库和非关系数据库&#xff0c;这一篇我们重点学校SpringBoot整合第三方技术&#xff0c;下面一起努力学习吧。 目录 一、整合第三方技术 1.1、缓存 1.1.1、缓存的作用 1.1.2、SpringBoot缓存使用方式 1.1.3、手…

C/C++自动 21 级(含卓越 211)《软件技术基础》期末大作业

C/C自动 21 级(含卓越 211)《软件技术基础》期末大作业 一、作业内容 题目一&#xff1a;请你设计一个算法&#xff0c;从顺序表中删除自第 i 个结点开始的 k 个结点。要求先输出整个顺序表&#xff0c;再输出删除自第 i 个结点开始的 k 个结点后的结果。 【编程提示】 假设…

高性能计算(HPC)存储高校科研应用分析

育人为本&#xff0c;国之根本&#xff0c;高校从理论教学到实操教学&#xff0c;从教室到实验室&#xff0c;改变了传统的教学模式&#xff0c;以数据的力量塑造新技术型高科技人才。随着科研项目多元化与数据量的增多&#xff0c;对计算速度与存储空间的要求不断提升&#xf…

rae众筹首个新目标,Tinkering开发板来了~

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 ▌前言 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手…

安全进阶:SSH实验配置指导

实验拓扑 实验需求 完成PC及交换机的配置&#xff0c;使得PC能够通过SSH的方式登录到交换机。 实验步骤及配置 交换机完成基础配置 [SW] interface Vlanif 1 [SW-Vlanif1] ip address 192.168.1.100 24简单起见&#xff0c;我们就直接使用VLAN1与PC对接&#xff0c;因此将交…

[附源码]java毕业设计企业物资信息管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

基于Simulink模拟具有两个目标的双基地雷达(附源码)

目录 一、示例 二、发射机 三、目标 四、接收机 五、结果和显示 六、总结 七、程序 此示例演示如何仿真具有两个目标的双基地雷达系统。双基地雷达的发射器和接收器不位于同一位置&#xff0c;而是沿着不同的路径移动。 一、示例 以下模型显示了双基地雷达系统的端到…

Failed to connect to any host resolved for DNS name第一次测试Redis/Jedis时报错(虚拟机)

有很多方法都会导致报这个错&#xff0c;后面提&#xff0c;先说解决方案 0. 尝试重启Redis&#xff0c;再运行测试代码 1. 检查配置文件环节 1⃣️是否设置后台启动(设置为yes) 2⃣️检查是否设置运行远程访问 这一步需要注意两个地方 注释掉bind和将protected-mode设置为…

项目八 51单片机WIFI控制继电器

前言&#xff1a;作者想要帮助一些童鞋和爱好者进行项目构建&#xff0c;但自知能力有限&#xff0c;不喜可论&#xff0c;创作不易&#xff0c;勿喷。 系统由STC89C51单片机、4路继电器、wifi esp8266模块及电源组成。 可以说是一个非常简单的设计&#xff0c;但这里我来说明…

(六)笔记.net core学习之泛型、逆变/协变、泛型缓存

1.泛型&#xff1a;延迟声明&#xff1a;不指定参数类型&#xff0c;调用是才指定&#xff0c;把参数类型的声明推迟到调用 2.泛型包含&#xff1a;泛型类、泛型方法、泛型接口、泛型委托、逆变/协变、泛型缓存 3.泛型约束 1.接口约束 Where T : 接口 2.基类约束 Where…

i++的错误使用

文章目录问题题目完整代码问题 在执行以下代码之前&#xff0c;i的值为8&#xff0c;length的值为10。 while (i < length) {tempArray[i] middle[i]; }我预想中的结果应该是tempArray[8] middle[8];&#xff0c;然后i。 结果tempArray[8]没有被赋值&#xff1a; 反倒是…