单片机跑马灯实验报告
更新时间:2023-12-29 17:52:01 阅读量: 教育文库 文档下载
学号 14142200277序号 19
单片机原理与接口技术
实验报告
实验项目序号 一 实验项目名称 跑马灯实验
姓 名 卢志雄 专 业 电子信息工程 班 级 电信14-2BF
完成时间 2016年4月2日
一、实验内容
实验内容为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。
二、电路原理图
+5VD0D1D2D3D4D5D6D7U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617K1K2K3K418XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图1 跑马灯实验电路原理图
三、程序流程图
开始 检测P2键值 完成对应键值的功能 判断P2键值是否改变
图2 简单键控的流水灯程序流程图
四、源程序
1、基本的流水灯 #include
for(i=0;i<250;i++); }
void main( ) { data uchar a; a=1;
//保证只有一个点亮
//主函数
//延时函数
while(1)
//不断循环
{ P2=~a; //低电平点亮
//左移一位,右补0 //全0
a=a<<1;
if(a==0)a=1;
delay(2250);} //流动点亮延时 }
2、简单键控的流水灯 #include
#define uchar unsigned char #define uint unsigned int void delay(uint i) { uchar t; }
void main() {
data uchar a; a=1;
while(i--) { }
for(t=0;t<120;t++);
while(P2==0xff)
{
P0=~a;
a=a<<1; if(a==0)
a=1;
delay(250);
}
while(P2==0xfe)
{ P0=~a;
a=a>>1; if(a==0)
a=128;
delay(250); }
3、键控的流水灯 #include
#define uchar unsigned char #define uint unsigned int void delay(uint i) { uchar t; }
void main() { data uchar a; a=1;
data uchar b=0xfb; while(i--)
{ if(P2==0xfe) b=0xfe; }
if(P2==0xfd) b=0xfd; if(P2==0xfb) b=0xfb; for(t=0;t<120;t++);
}
while(P2==0xfe)
{
P0=~a;
a=a<<1; if(a==0)
a=1;
delay(250);
while(P2==0xff) {
P0=~a; a=a<<1; if(a==0) a=1;
}
}
delay(250);
while(P2==0xfd)
{ P0=~a; a=a>>1;
if(a==0)a=128; delay(250);
while(P2==0xff) { P0=~a;
a=a>>1;
if(a==0)a=128; delay(250); }
}
while(P2==0xfb) { P0=0xff;}
}
五、实验结果
1、基本的流水灯
基本流水灯仿真图
2、简单键控的流水灯
简单键控的流水灯仿真图
3、键控的流水灯
键控的流水灯仿真图
六、思考题回答
1、采用I/O口作为输出口时要考虑哪些因素?为什么实验装置中LED要串联一个电阻?
答:电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力等,同时也要要考虑它是否要加上拉电阻。实验装置中LED串联一个电阻是为了防止电流过大而对LED灯有损坏。
2、采用I/O口作为输入口时要注意什么?键控的流水灯时为什么要在延时程序中检测是否按键?
答:在进行读操作时,必须要先向Px口的锁存器写1;本程序未采用例程所说的方法,但是在延时函数中进行按键检测是为了防止在延时程序中间有键按
下却检测不到的情况,即放在延时函数中检测间隔时间短,反应快。
3、为什么延时程序要做一个函数?
答:可以具体事情具体处理,方便调用。比如交通信号灯的控制,红灯绿灯
黄灯都有时间控制,亮的长短就要由延时程序控制等等。
七、实验心得体会
学习单片机这门课程,要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。跑马灯实验虽然是第一个单片机实验,却让我深有体会,首先要熟悉单片机指令,上课时跟着老师走,认真对待,每次只要跟上老师上课所讲的内容以及按要求完成老师布置的课堂习题,掌握程序的编写以及完成实际上机操作是不成问题的,然后就是必须熟练运用一些基本语句,运用proteus和uVision4等仿真软件,最后是上机操作,根据教程了解单片机与其他设备相连接的输入输出中断等接口技术,运用实际,就可以完成简单有趣的跑马灯实验了!
正在阅读:
单片机跑马灯实验报告12-29
2016年临沂市初中学生学业考试样题01-21
冒顶的预防措施09-09
剑灵不删档气功师PVE全技能解析(1)04-30
遥感导论复习重点10-18
7如何开好县乡分销会08-24
教师继续教育实施方案05-17
2013年北京科技大学考研真题物理化学A考研试题研究生初试考研真题研究生初试试题07-17
个人代理人保险代理合同书12-23
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 跑马灯
- 单片机
- 实验
- 报告
- 好习惯成就人生演讲稿
- 广西梧州市2018年中考化学真题试题(含答案) - 图文
- PDM1KW中波广播发射机开机故障分析和处理
- 人教统编版五上语文第六单元课外阅读专项测试卷( 含答案)
- 鹿头镇中心小学副校长述职报告
- K12学习中考英语总复习教案集粹二十九
- 2019最新幼儿园大班综合教案:民族服饰真漂亮 - 图文
- 认真学习课程标准全面理解数学概念
- 实施会计电算化过程中出现的问题及对策
- x投资公司组织架构、岗位编制及职位说明(DOC) - 图文
- 配套K12新(浙江专用)2016高考数学二轮专题突破 高考小题分项练(四)理
- 青岛版小学数学五年级上册部分教案(1) - 图文
- 加油站建设工程施工单位HSE承诺书
- 三年级上册数学第一单元《测量》检测试卷
- 第5单元 生物氧化
- 4ASK载波调制信号的调制解调与性能分析(1)
- 六年级英语读书读报知识竞赛试题
- 乡镇卫生院中医药健康管理计划书
- 2018-2019201X高校教师年终个人工作总结word版本(1页)
- 从人际传播角度浅析微信交流