当前位置: 首页 > news >正文

广告灯的左移右移

《单片机原理与应用》实验报告

实验一、广告灯的左移右移

        1.实验目的

        单片机 P0 口控制 8 路 LED 灯,硬件电路如图 1.3.1 所示,八个发光二极管 D7-D0 分别接在单片机的 P0.0-P0.7 接口上,输出“0”时,发光二极管亮。先要求将中间两盏灯点亮,再往上下两端点亮,然后由两端往中间点亮,如此重复循环。

        2.实验步骤

      首先,安装Vision5和STC-ISP软件,在本地部署。其次,拿到单片机,了解到其型号为STC12C5A60S2,找到其原理图,如图2-1所示。之后,打开Vision5新建项目,编写代码灯光左右延时闪烁代码,如表2-1所示。然后,打开STC-ISP,选择对应的单片机型号,打开.hex文件,载入程序,进行烧录。

图2-1 STC12C5A60S2原理图

表2-1 广告灯的左移右移代码

#include <STC12C5A60S2.h>

unsigned char a[]={0xe7,0xdb,0xbd,0x7e,0xbd,0xdb};

unsigned char i=0;

void delay();

void main() {

    while(1) {

        if(i==6) i=0;

        P2=a[i];

        delay();

        i++;

    }

}

void delay() {

    unsigned char m,n;

    for (m=0;m<0xff;m++)

        for (n=0;n<0xff;n++);

}

        3.实验结果

        根据上述操作,我们完成了代码的撰写和代码的烧录。单片机运行结果如图3-1所示。

图3-1 实验结果

        4.实验体会

        在课堂上,我学习了单片机的基本结构和工作原理,但通过本次实验,我真正将理论知识与实际操作结合起来。通过编写代码、烧录程序并观察实验结果,我更加直观地理解了单片机如何通过控制端口输出高低电平来控制外部设备(如 LED 灯)的工作状态。实验中,我使用了 STC12C5A60S2 单片机,并通过 Vision5 和 STC-ISP 软件完成了代码的编写和烧录。这一过程让我们认识到,单片机的开发不仅需要编写正确的代码,还需要熟悉硬件电路的设计和调试工具的使用。通过实际操作,我学会了如何将软件程序与硬件电路结合起来,实现预期的功能。在实验过程中,我遇到了一些问题,例如代码编译错误、硬件连接不正确等。通过查阅资料、与同学讨论以及反复调试,我逐步解决了这些问题。这让我意识到,在单片机开发中,耐心和细致是非常重要的,同时也锻炼了我分析和解决问题的能力。硬件与软件的结合:通过本次实验,我更加熟悉了 STC12C5A60S2 单片机 的基本结构,掌握了 P0 端口控制 LED 的方法,理解了“0”电平点亮 LED 的原理。编程逻辑的提升:在编写代码时,我学会了如何利用 数组存储 LED 状态,并通过循环实现灯光的动态变化,提高了对 C51 编程 的理解。调试能力的增强:在实验过程中,我遇到了 “PO” 未定义 的问题,通过查阅资料和调试,最终发现应该使用 P0 而非 PO,这让我认识到 代码细节的重要性。最初编译时出现 “PO: undefined identifier” 错误。解决方法:检查代码后发现 P0 端口名称写错,修正为 P0 = a[i] 后编译通过。问题2:LED 闪烁速度过快,视觉效果不明显。解决方法:调整 delay() 函数 的循环次数,增加延时时间,使灯光变化更加清晰。

http://www.lryc.cn/news/621215.html

相关文章:

  • Day43 复习日
  • FPGA+护理:跨学科发展的探索(五)
  • Kotlin Data Classes 快速上手
  • 【深度学习】深度学习基础概念与初识PyTorch
  • 报数游戏(我将每文更新tips)
  • IPTV系统:开启视听与管理的全新篇章
  • 14 ABP Framework 文档管理
  • 【软考中级网络工程师】知识点之入侵防御系统:筑牢网络安全防线
  • SpringMVC(详细版从入门到精通)未完
  • P5967 [POI 2016] Korale 题解
  • 【数据分享】2014-2023年长江流域 (0.05度)5.5km分辨率的每小时日光诱导叶绿素荧光SIF数据
  • stm32项目(28)——基于stm32的环境监测并上传至onenet云平台
  • LT3045EDD#TRPBF ADI亚德诺 超低噪声LDO稳压器 电子元器件IC
  • web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库
  • 模型选择与调优
  • 0814 TCP和DUP通信协议
  • 2021睿抗决赛 猛犸不上 Ban
  • 十分钟学会一个算法 —— 快速排序
  • ASCII与Unicode:编码世界的奥秘
  • 【前端工具】使用 Node.js 脚本实现项目打包后自动压缩
  • C#WPF实战出真汁02--登录界面设计
  • 微服务从0到1
  • 在Ubuntu上安装Google Chrome的详细教程
  • Ubuntu下载、安装、编译指定版本python
  • 大规模调用淘宝商品详情 API 的分布式请求调度实践
  • 大规模分布式光伏并网后对电力系统的影响
  • 自动驾驶与人形机器人的技术分水岭
  • dolphinscheduler中任务输出变量的问题出现ArrayIndexOutOfBoundsException
  • 【记录】Apache SeaTunnel 系统监控信息
  • 反射在Spring IOC容器中的应用——动态创建Bean (补充)