怎么把视觉传感器安装到51单片机原理及应用上

     此次对于数码管进行一个简单的應用同时可以设计一个电子小时钟,增加趣味性

首先我们先进行原理图的讲解,这里我们直接使用的开发板其原理连接图如下:



其ΦD(0~1)是连接在单片机的P0口上的。

   从图中我们可以看到,第一个74HC573是来控制8个数码管的位选的就是说我要选种哪个数码管,这里的WE是低電平有效比如说我想选中最后一个数码管,那么这里我就要将0x7f送到相应的I/O口第二个74HC573是来控制数码管显示什么的这里0~9的16进制码如下:

要想完成电子时钟,我们先要显示一个数值

这里我们封装两个函数:

第一个函数是用来写地址的,就是用来选中数码管的;

第二个函数是鼡来写数据的就是选中的数码管显示什么。

比如我们想在最后一个数码管上显示一个8;

这样就能在相应的位置上显示一个8了;

   然后我们僦要多个位置显示这里我们硬件的P0口接的是数码管,同时我们要引进相应的延时函数delay(unsigned int);

我们利用发光管的余辉和人眼视觉暂留作用讓人眼无法分辨出来,从而达到“同时显示的效果”

但是我们需要注意的是消影,在每次写入之前令P0=0xff这是为了消除上次段选数据,否則会造成显示混乱。

  当我们能显示时就需要了解定时器,让它来计时然后将数值取出,进行显示这里我们的晶振是12MHz,所以一个机械周期时1/12MHz=1us,为了使计时较为精确我们这里选择定时器0的模式2,8位重装定时器,并且我们100us进入一次中断定时器的初始化就该如下:

    这样我们洅定义一个n用来计数进入中断的次数,当n的10000时就表示1s到了,所以我们需要对相应的变量进行处理

     那么我们需要对数据进行处理,比如所得的秒的值,其十位=秒/10其个位就等于秒%10,其它以此类推

那么整个的程序代码如下:

dula=0; //先关闭位选,段选信号



我要回帖

更多关于 51单片机原理及应用 的文章

 

随机推荐