51单片机 您所在的位置:网站首页 单片机定义发光二极管端口 51单片机

51单片机

#51单片机| 来源: 网络整理| 查看: 265

实验一:LED闪烁灯 一、实验目的

掌握51单片机开发板的使用步骤;掌握51单片机开发板所需软件的安装过程;以LED灯闪烁为例子,掌握软件KEIL4的使用方法。 二、实验设备实验仪器设备: 计算机软件: Proteus仿真软件、KELL开发软件 三.实验任务 在单片机I/O口(P0.0)上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停的一亮一灭,亮,灭持续时间均为1秒。 四、实验内容及实验步骤 1.项目背景: 单片机原理:单片机的工作原理与计算机CPU的工作原理是一样的,主要是利用片内的半导体存储器存放用户的程序和数据,单片机的核心中央微处理器CPU中有指令寄存器、指令译码器,程序计数器等部件,由程序计数器寻找下一条要执行的指令,找到后,将指令送给指令寄存器,再由指令译码器翻译执行该指令,完成对指令功能的操作。 单片机的特点: (1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 (5)优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。 单片机的用途: (1) 工业自动化:如数据采集,测控技术; (2) 智能仪器仪表:如数字示波器,数字信号源,数字万用表,感应电流表等 (3) 消费类电子产品:洗衣机,电冰箱,空调,电视机,微波炉等 (4) 通信方面:如调制解调器,程控交换技术,手机,小灵通等 (5) 武器装备:飞机军舰,坦克,导弹,航天飞机等 单片机I/O口: (1) 电源和时钟引脚,如VCC,GND,XTAL1,XTAL2; (2) 编程控制引脚,如RST,PSEN,ALE/PROG,EA/VPP; I/O口引脚,如P0,P1,P2,P3,四组I/O口;

2.需求分析: Keil4——编程环境简介 Keil uVision是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构上、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大额集成开发调试工具,全Windows界面。达到接近于汇编的工作效率。 PROTEUS——仿真环境简介 Proteus 软件是来自英国Labcenter electronics 公司的EDA 工具软件,Proteus 软件有近20年的历史,在全球广泛使用。它除了具有和其它EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下,Proteus 软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本。 Proteus 组合了高级原理布图、混合模式SPICE 仿真,PCB 设计以及自动布线来实现一个完整的电子设计系统。此系统受益于多年来的持续开发,被《电子世界》在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM 技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。其功能模块:—个易用而又功能强大的ISIS 原理布图工具;PROSPICE 混合模型SPICE 仿真; ARESPCB 设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED 甚至LCD 显示CPU 模型。

3.项目内容及仿真软件:

(1)打开Keil软件,新建一个工程,命名为“LED”; 在这里插入图片描述

(2)选择芯片类型,虽然使用的是STC90C516RD 或 STC89C52RC的单片机,但这里选择ATMEL------AT89C51这个芯片就行。 在这里插入图片描述

(3)新建一个文件,输入LED闪烁灯实验的相关代码(代码绝对正确)这是用的C语言中的延时函数“delayxms(unsigned int xms)”;

在这里插入图片描述

(4)保存文件看,文件名为“01-闪烁灯.c”; (5)右键单击“Source Group 1”,单击“Add Files to Group ‘Source Group 1’”,将刚刚生成的“01-闪烁灯.c”文件加入到工程中; 在这里插入图片描述 注:一定要将保存的文件加入到工程中,否者将会报错 (6)单击编译按钮 在这里插入图片描述或按F7编译工程,结果如下则视为编译无误; 在这里插入图片描述

注:保存的代码文件一定要后缀“.c”。 (7)右键单击“Target1”→“Options for Target ‘Target 1’…”,选择对话框中“Output”选项卡,选中“Create HEX File”选项用于生成十六进制文件,再次单击按钮编译,成功后会生成同名的十六进制文件; 在这里插入图片描述 在这里插入图片描述

单击在这里插入图片描述若结果如下则视为已成功生成十六进制文件:在这里插入图片描述

(8)运行Proteus软件,绘制出原理图(根据老师的要求,此处我所用的是P0.0I/O口)如下: 在这里插入图片描述

为AT89C51单片机添加“test.hex”文件单击所放置的芯片,如下: 在这里插入图片描述 在这里插入图片描述

4.测试过程:若如下图所示一样则视为试验成功: 在这里插入图片描述

五、实验收获与体会 做单片机硬件和软件结合的实验,在以前学过的编程语言基础上,学习用单片机编程实现点亮熄灭LED和单片机控制LED闪烁,在理解老师讲解的知识基础上和同学一起探讨交流,慢慢熟悉了一些新知识。操作过程中,软硬件方面都出现一些问题,实验中实验结果讨论遇到发光二极管不亮的情况,于是改用程序之后问题得以解决,因此实验中程序应该及时检查,不然会影响实验的顺利进行。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有