zoukankan      html  css  js  c++  java
  • 智能车实验室阶段测验之单片机基础

    每人通过抽签选择一道题,独立编程完成题目的要求,原则上不查看之前所写的程序,但能查芯片手册以及电路图,程序要有良好的编程风格(包括变量函数的命名规则、代码的对齐方式、合适的注释等)。给出一上午的时间进行编程,若有空余的时间可以试着编写其他题,下午验收,验收时首先执行程序,然后再讲解工作原理、程序逻辑等。

    希望你们能借这次机会测验一下这一个星期的成果。

    参考题目:

    1加强版流水灯实验。如下为拨码开关的电路图,要求使用PM2 / PM3 / PT0 / PT1来初始化四个LED灯的初始状态,再每隔1s 流动一次。当PT3有上升沿触发时(可以通过拨动拨码开关来获得:关->开),停止流水。当PT2有下降沿触发时,继续上次状态流水。


    如初始状态PM2 / PM3 / PT0 / PT1 为 010,灯的初始状态就为 灭、亮、灭、亮,程序执行时,隔1s变为亮、灭、亮、灭,依次类推。当将PT3 0拨到1时,流水停止。当将PT21拨到0时,流水继续。


    (2)估算一段程序的执行时间。如下为一段延时函数的程序,

    请写段程序估算这个延时函数大约延时多长时间。

    提示:可以借助Timer模块中的计数器的计数功能。通过发回两次计数的值,再通过计数器的计数周期,即可计算出函数的执行时间了。核心寄存器TCNT


    3测试编码器的性能。我们买来的测速编码器是100线的,也就是编码器的齿轮转一圈,发回100个脉冲,请验证上面的结论。编码器硬件接线图如下所示。


    提示:使用单片机ECT模块的channel 7 的脉冲累加功能。手动将编码器齿轮转一圈时,上位机串口发送一个数字给下位机,提示下位机发回此时所计的脉冲数(核心寄存器PACNT)。


    4求舵机正中间时的占空比。将PWM23级联,输出的PWM波给舵机,是借助串口调正舵机,并记录此时的PWM占空比。


    提示:通过串口每次发送两个字节,这两个字节就作为PWMDTY,这样就能很轻松的进行调试观察舵机的偏转角度。注意不要让舵机在打死角的情况下长时间维持,很容易烧坏舵机,测试时可以触碰舵机的接线即断开。

    以上四个实验均要求开始时刻进行倍频,倍频的大小自己定。

    Creative Commons License

    本博客的内容如果没有标注转载字样,均属个人原创!欢迎学习交流,如果觉得有价值,欢迎转载,转载请注明出处,谢谢!

    邮箱:haifenglinying#yahoo.cn (#->@)

    个人主页:www.hazirguo.com

  • 相关阅读:
    [PY3]——logging
    [PY3]——对iterator的处理(解析式、map、reduce、filter)
    php基础语法(文件加载和错误)
    php基础语法(控制语句、数组、函数)
    php基础语法(数据类型、运算符)
    php基础语法(变量)
    java基础语法
    ztree 获取根节点
    每天一个linux命令
    浅谈Web自适应
  • 原文地址:https://www.cnblogs.com/hazir/p/2447281.html
Copyright © 2011-2022 走看看