单片机c语言 int1,51单片机into、int1中断计数c语言源程序.doc
发布日期:2021-06-24 10:14:53 浏览次数:3 分类:技术文章

本文共 1970 字,大约阅读时间需要 6 分钟。

单片机C语言程序设计:INT0 中断计数

来源: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 21ic?作者:

关键字: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" INT0??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 单片机??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" C语言??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 程序设计??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" ???

/*??名称:INT0?中断计数

说明:每次按下计数键时触发

INT0?中断,中断程序累加计数,

计数值显示在?3?只数码管上,按下

清零键时数码管清零

*/

#include

#define?uchar?unsigned?char

#define?uint?unsigned?int

//0~9?的段码

uchar?code?DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

//计数值分解后各个待显示的数位

uchar?DSY_Buffer[]={0,0,0};?

uchar?Count=0;

sbit?Clear_Key=P3^6;

//数码管上显示计数值

void?Show_Count_ON_DSY()

{

DSY_Buffer[2]=Count/100;?//获取?3?个数

DSY_Buffer[1]=Count%100/10;

DSY_Buffer[0]=Count%10;

if(DSY_Buffer[2]==0)???//高位为?0?时不显示

{

DSY_Buffer[2]=0x0a;

????????????????????????? if(DSY_Buffer[1]==0)?//高位为?0,若第二位为?0?同样不显示

???????????????????????? DSY_Buffer[1]=0x0a;

}

P0=DSY_CODE[DSY_Buffer[0]];

P1=DSY_CODE[DSY_Buffer[1]];

P2=DSY_CODE[DSY_Buffer[2]];

}

//主程序

void?main()

{

P0=0x00;

P1=0x00;

P2=0x00;

IE=0x81;?//允许?INT0?中断

IT0=1;?????????//下降沿触发

while(1)

{

if(Clear_Key==0)?Count=0;?//清?0

Show_Count_ON_DSY();

????? }

}

//INT0?中断函数

void?EX_INT0()?interrupt?0?

{

Count++;?计数值递增

}

单片机C语言程序设计:INT0 及 INT1 中断计数

来源: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 21ic?作者:

关键字: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" INT0??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" INT1??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 单片机??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" C语言??? \t "/jichuzhishi/mcu/program/2013-06-27/_blank" ???

/*??名称:INT0?及?INT1?中断计数

说明:每次按下第?1?个计数键时,

第?1?组计数值累加并显示在右边?3?只数

码管上,?每次按下第?2?个计数键时,第

2?组计数值累加并显示在左边?3?只数码管上,后两个按键分别清零。

*/

#include

#define?uchar?unsigned?char

#define?uint?unsigned?int

sbit?K3=P3^4;?//2?个清零键

sbit?K4=P3^5;?

//数码管段码与位码

uchar?code?DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

u

转载地址:https://blog.csdn.net/weixin_32048757/article/details/117100322 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:c语言课程设计工资管理建库,C语言课程设计工资管理系统参考.doc
下一篇:未来教育二级c语言的答案库在哪里,未来教育计算机二级c语言题库

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月30日 15时23分04秒