找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12417|回复: 0
打印 上一主题 下一主题
收起左侧

单片机指示灯循环控制实验报告

[复制链接]
跳转到指定楼层
楼主
ID:362983 发表于 2018-7-2 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实验名称:指示灯循环控制
实验时间:
实验目的和要求:
(1)实验目的:
熟悉μVision3编译软件,掌握C51编程与调试方法。
(2)实验要求:
   提交实验报告并包括如下内容:电路原理图、软件流程分析、C51源程序(含注释部分)、仿真运行截图及实验小结。
实验内容和原理:
实验原理:
实验电路原理图:
图中8只LED指示灯接于P0口,且都有上拉电阻。时钟电路、复位电路、片选电路与前面实验电路相同。
软件流程分析(软件编程原理):
主程序中的两部分的流程图分别如下:(两个循环体无限循环)
实验内容:
(1)熟悉μVision3编译软件,了解软件结构与功能;
(2)完成实验2的C51语言编程;
(3)掌握在μVision3中进行C51程序开发的方法。

上机调试修改源程序:
C51源程序(含注释部分):

  1. #include"reg51.h"
  2. void delay(unsigned int time)//延时函数
  3. {
  4.               unsigned int j=0;
  5.               for(time=time;time>0;time--)
  6.                                           for(j=0;j<125;j++);
  7. }
  8. void main()
  9. {
  10.               unsigned char i;
  11.               P0=0xfe;
  12.               delay(50);
  13.               while(1){//无限循环
  14.                             for(i=1;i<=7;i++){
  15.                             P0=(P0<<1) | (P0>>7);//循环左移
  16.                               delay(200);
  17.                             }
  18.                             for(i=1;i<=7;i++){
  19.                             P0=(P0>>1) | (P0<<7);//循环右移
  20.                               delay(200);
  21.                             }
  22.               }
  23. }
复制代码

实验结果与分析
实验结果(仿真运行截图)
以下的图片为仿真运行的截图,前两张为由上到下流水灯亮,后两张图为由下到上流水灯亮,截取其中两张来表示这个过程。
  
结果分析:
原理图中可以看到,二极管低电平驱动,P0.n输出为低电平时,对应的二极管亮;想要循环控制,可以先让P1口输出一个值,利用P1口输出值的循环左移或者循环右移来实现功能。
参考文献:
林立 张俊亮 单片机原理及应用—基于Proteus和Keil C(第四版)
完整的Word格式文档51黑下载地址:
指示灯循环控制.doc (117 KB, 下载次数: 51)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表