您当前的位置: 首页 > 

张巧龙

暂无认证

  • 2浏览

    0关注

    1208博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

你还会写这段C51程序吗?

张巧龙 发布时间:2019-12-30 14:08:15 ,浏览量:2

经典题目解析

定时器T1采用计数模式,方式1中断,计数输入引脚 P3.5外接开关按钮作为计数信号输入,P1口控制8个LED小灯,初始状态所有小灯全亮,按3次按钮开关产生计数中断时,高3位和低5位交替闪烁3次,中断响应后返回初始状态 。

51里的计数器溢出中断

啥是中断?啥是计数?

通俗的说,单片机在执行main 函数时被打扰了而停下来去做其他的事,完事了又返回main 里继续执行,叫中断;

计数又叫计数器,来一个脉冲计一个数,这个过程无关于每个脉冲之间的时间间隔长短。

什么是溢出?溢出这个词是翻译英文「Overflow」过来的,通俗点说就是满了,装不下了,就是溢出,比如一个水桶可以装 100 个兵乓球,你放了101 个进去,放第 101 个的时候,就会导致水桶溢出「Overflow」。

单片机里有5个中断源以及各个中断,这里不加详细说了。特殊功能寄存器里的定时器/计数器工作「规定时间到了或者计数满了」就会溢出产生中断。定时器中断很好写,这个题目主要是介绍计数器产生中断的流水灯和总结。

硬件原理图

用一个按键接在P3.5 上面,P1 外接 8个LED 小灯。

C51代码
#include 

unsigned char blink = 0x1F;

void Delay(unsigned int i)//延时函数
{
 unsigned int j;
 for(;i>0;i--)//i是形参,不赋值
 for(j=0;j            
关注
打赏
1665727216
查看更多评论
0.0411s