莫道桑榆晚,为霞尚满天。这篇文章主要讲述小车,测走过的距离,计算走过的时间,stc8a8k相关的知识,希望能为你提供帮助。
1、实验目的
测试小车的运行距离,从启动开始,到停止,小车的运动距离;
用的是stc8a8k增强型51单片机;
用OLED显示出距离。
2、实验思路
(1)用外部中断P32,接上单片机的测速模块,就是一个霍尔开关,有一个光电码盘,一圈360度,有N个格子,计算格子数量Y,就是脉冲个数。
N/20piD=距离
【小车,测走过的距离,计算走过的时间,stc8a8k】综上,要得到小车走过的距离,需要计算格子的数。
文章图片
文章图片
文章图片
文章图片
文章图片
当霍尔开关的光线,被不是格子的轮子部分挡住,接收不到格子信号一直是0,当碰到格子,光线通过,就发出一个1,这样一直0,1,0,1,0,1.。。替换,就得到格子的个数。
属于遮光型的传感器。
文章图片
文章图片
(4)编程实现:
利用外部脉冲数,设置下降沿触发,计算脉冲个数N。
文章图片
文章图片
#include “reg51.h”
#include “intrins.h”
sbit P10 = P1^0;
void INT1_Isr() interrupt 2 using 1
{
P10 = !P10; //测试端口
}
void main()
{
IT1 = 1; //使能INT1下降沿中断
EX1 = 1; //使能INT1中断
EA = 1;
while (1);
}
推荐阅读
- 测试
- RedHat的yum配置 以及提示“This system is not registered with RHN”的解决
- 实例8(stc8a8k外部中断,计算小车运行的距离)
- 实例6,stc8a8k单片机开发板4脚的OLED显示数据(I2C通信)
- MYSQL查看和新增表分区
- 实例5(寄存器操作学习:stc8a8k单片机硬件PWM的原理和代码讲解(置1清0位操作和高8位低8位拆分))
- delay.h和delay.c程序,记得分别复制,保存成delay.h和delay.c文件。11.0592M晶振频率
- Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别
- 浏览器自动将s标签添加到html错误中