为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机实验1

2021-12-17 4页 doc 31KB 6阅读

用户头像 个人认证

香香公主

性格开朗,工作认真,善于沟通,被学校评为学习标兵。

举报
单片机实验1单片机实验1单片机实验1PAGE单片机实验1学号序号35单片机原理与接口技术实验报告实验项目序号实验一实验项目名称跑马灯实验姓名赵吉婷专业电子信息工程班级电信1班完成时间一、实验目的熟悉HNIST-2型单片机系统相关硬件电路,程序下载方法;掌握采用汇编语言与C语言开发单片机系统的程序结构;掌握51系列单片机通用I/O口的使用。二、实验前准备完成作业3;根据实验内容编写好相关程序,并进行Proteus仿真。三、实验内容实验内容为3项,其中第1、2项必做。1、基本的流水灯。根据图1电路,编写一段程序,使8个发光二极管D1、D...
单片机实验1
片机实验1单片机实验1PAGE单片机实验1学号序号35单片机原理与接口技术实验实验项目序号实验一实验项目名称跑马灯实验姓名赵吉婷专业电子信息工程班级电信1班完成时间一、实验目的熟悉HNIST-2型单片机系统相关硬件电路,程序下载方法;掌握采用汇编语言与C语言开发单片机系统的程序结构;掌握51系列单片机通用I/O口的使用。二、实验前准备完成作业3;根据实验内容编写好相关程序,并进行Proteus仿真。三、实验内容实验内容为3项,其中第1、2项必做。1、基本的流水灯。根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。每点亮一个LED,采用软件延时一段时间。2、简单键控的流水灯。不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。松手后,又按正序点亮流水灯。3、键控的流水灯。上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。四、实验原理图如图所示。图跑马灯实验电路原理图电路原理图如图,AT89S52的~作为输出连接8个发光二极管,输出低电平0时对应发光二极管发光;由于发光二极管的导通电压为,所以HNIST-2型实验装置在电源与二极管之间加一个阻值为1K限流电阻保护二极管。AT89S52的、作为输入连接2个按键K1、K2,若检测到=0,则说明K1键按下。五、软件1、基本的流水灯软件延时采用例程序delay(j),可调整延时时间。2、简单键控的流水灯。由于是按下键不松手,键值一直保留,所以判断=0即是按下K1,采用如例题所示的while==0)或while(P2==0xfe)的模式。3、键控的流水灯由于是按一下键后马上松手,所以要设置一个变量b保留按键键值,要在延时程序中检测是否按键,当按键后立即设置b的值。实验过程:编写延时程序:ORG00HJMPMAINORG30HMAIN:MOVA,#0FFHCLRCMOVR2,#08H;循环八次LOOP:RLCA;带进位左移MOVP2,AMOVR7,#05HLOOP1:CALLDELAYDJNZR7,LOOP1DJNZR2,LOOP;反复循环JMPMAINDELAY:延时子程序MOVR3,#20D1:MOVR4,#20D2:MOVR5,#248DJNZR5,$DJNZR4,D2DJNZR3,D1RETEND控键流水灯#include<>#defineuintunsignedint#defineucharunsignedcharvoidmain()//主函数{datauchara;a=1;//保证只有一个点亮while(1)//不断循环{P0=0xff;a=1;//全灭while(P2!=0xfe)//按下处理{P0=~a;//低电平点亮a=a<<1;//左移一位if(a==0)a=1;//全0delay(150);}//流动点亮延时a=128;while(P2==0xfe)//按下处理{P0=~a;//低电平点亮a=a>>1;//右移一位if(a==0)a=128;//若全0,则delay(150);}//流动点亮延时}}键控的流水灯while(b==0xfe)//按下处理{P0=~a;//低电平点亮a=a<<1;//左移一位if(a==0)a=1;//全0,则00000001delay(150);}//流动点亮延时a=128;while(b==0xfd)//按下处理{P0=~a;//低电平点亮a=a>>1;//右移一位if(a==0)a=128;//若全0,则delay(150);}//流动点亮延时while(b==0xfb)//按下处理{P0=0xff;//全灭delay(150);}}}实验心得:单片机是一门应用性和实践性非常强的学科,必须要多动手,多做实验。在编写程序上有多种方法,但是多次比较后选择了相对较简单的一种编写指令方法,因为前期有C语言的基础所以在单片机上对于汇编语言也比较好上手,总之实验就是要多实践再多次验证,才会成功。实验思考题:1、采用I/O口作为输出口时要考虑哪些因素为什么实验装置中LED要串联一个电阻答:电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力例如51的p0口若作为io口使用就要加上拉电阻,不然的话高电平是高阻态的形式。还有就是io口默认是不是作为io口,有的io口有第二功能的。LED属于发光二极管,本身的电阻非常的小,但要接入电路时,要注意进行保护,因而要串联一个电阻进行保护它。采用I/O口作为输入口时要注意什么键控的流水灯时为什么要在延时程序中检测是否按键答:当作为输出口时候就是单片机向外发出数据,或者再产生拉电流,单片机的拉电流一般要比灌电流小,基本上就能点亮2,3个LED,功率很有限,所以一般时候必须用驱动芯片来驱动单片机的外围器件!放在主程序里,每个延时周期内,只能检测按键一次,反应比较慢。放在延时程序里,检测时间间隔比较短,反应快为什么延时程序要做一个函数答:为了提高程序的可执行度,使延时更加精准
/
本文档为【单片机实验1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索