实验二 独立按键试验实验报告(1).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 1 实验二 独立按键试验实验报告 【1】实验目的:掌握如何完成用用按键控制流水灯的流动方向、流速、闪烁方式等程序的编译和烧写。 【2】实验原理: 实验原理图如下: 【3】实验步骤: 1. 打开Keil编译器,创建项目:ProjectNew uVision Project, 创建一个文件夹来放工程相关的文件,给工程项目命名为my work,点击保存。 2.选择芯片类型,这里选择ATMELAT89C52这个芯片。 3.把C文件添加到我们的工程文件里。 4.在test.c这个文档里编辑代码。 5.编译通过之后,我们需要输出hex文件,也就是单片机可执行的二进制文件。 6.利用STC-ISP将编写好的程序烧写进单片机中。 7.如下图连接试验相关模块连线: ?JP165跳线帽断开 ?JP10连接J12 ?JP5连接JP8 ?J21接左边 【4】程序设计内容 : (1)开关状态的检测过程 单片机对开关状态的检测相对于单片机来说,是从单片机的P1.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1按下去,即输入低电平,相当开关闭合,当松开开关K1,即输入高电平,相当开关打开。 (2)输出控制 如图3所示,当P1.0端口输出低电平,即P1.0=0时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出高电平,即P1.0=1时,发光二极管L1亮。所以通过对P1.0端口的设置就可以控制灯的亮灭。 (3)延时程序的设置 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔要长一些,否则人眼根本无法识别到灯的闪烁效果。于是我们在执行某一指令时,插入延时程序,来达到我们的增加亮灯时长的效果。 【5】实验代码: #includereg51.h #includeintrins.h unsigned int key; sbit key1=P1^0; sbit key2=P1^1; void delay(unsigned int i) { unsigned int j; for(;i0;i- -) { for(j=0;j50;j++) { ; } } } void main() { unsigned char i; P0=0x00; if(key1==0) { while(key2==1) { P0=0x01; delay(400); for(i=0;i8;i++) { P0=1; delay(400); if(key2==0)break; } } } if(key2==0) { while(key1==1) {P0=0x80; delay(400); for(i=0;i8;i++) { P0=1; delay(400); if(key1==0)break; } } } } 【6】实验现象: 当按下K1键,松开K2键时,流水灯向左移;当按下K2键,松开K1键时,流水灯向右移。

文档评论(0)

tiger02 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档