如何使用Visual Studio 2010编写一个C语言程序,本经验将手把手教大家如何通过VS2010编写一个简单的C语言小程序......
2023-03-16 438 C语言
外部中断定时器c语言程序详解(2)
利用外部中断1,定时器1从数码管到流水灯显示
#include "reg52.h"//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
uchar led,n,i,s,count=0;
uchar smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f
,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F
uchar sm[]={0x00,0x01,0x03,0x04};//数码管扫描
uchar str[4];//显示两位数码管
/******************************************************************/
/* 延时函数声明 */
/******************************************************************/
/*void mdelay(uint t)
{
uchar n;
for(;t>0;t--)
for(n=0;n125;n )
{;}
}*/
/*大约一毫秒的延时函数*/
void mdelay(uint t)
{
uchar n;
while(t--)
{
for(n=0;n123;n )
{;}
}
}
/******************************************************************/
/* 主函数 1 */
/******************************************************************/
void main()
{
EA=1;//开总中断开关
EX1=1;//打开外部中断0
INT1=1;//触发方式为下降沿触发
TH1=0x38;//设置初值
TL1=0x38;
ET1=1;//打开定时器中断
TR1=1;//启动定时器
TMOD=0x20;//设置定时器0为工作方式1
while(1)
{
for(i=0;i4;i )//数码管显示数据
{
P1=0xff;
P2=sm[i];
P0=smg[str[i]];
mdelay(5);
}
}
}
void int1() interrupt 2
{
uchar c;
led=0xfe;
P2=0x00;
for(c=0;c8;c )//流水灯循环一次
{
P1=led;
led=_crol_(led,1);//左移函数
mdelay(1000);
}
}
void time1() interrupt 3
{
count ;
if(count==50)//延时一秒0-60显示
{
count=0;
str[2]=n/10;
str[3]=n;
n ;
if(n==100)//0-100
{
n=0;
str[0]=s/10;
str[1]=s;
s ;
if(s==60)//0-60
s=0;
}
}
}
本经验只供参考,如有不足,还请见谅,如果有什么疑问请在下边留言,及时给你解答。。。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: C语言
相关文章
如何使用Visual Studio 2010编写一个C语言程序,本经验将手把手教大家如何通过VS2010编写一个简单的C语言小程序......
2023-03-16 438 C语言
怎样使用VC软件编译并运行C语言程序,ViualC 6.0是一款非常好的软件,它不仅可以运行C代码程序,还可以创建位图和PPT等工程文件,现在的全国计算机等级考试(二级C)指定的编译软件就是VC6.......
2023-03-16 198 C语言