单片机c语言倒计数器程序,51单片机外中断计数器C语言程序设计

原标题:51单片机外中断计数器C语言程序设计

#include

#define uchar unsigned char

#define uint unsigned int

unsigned char code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF};

sbit P32=P3^2;

sbit P25=P2^5;

sbit P26=P2^6;

sbit P27=P2^7;

uint cnt;

void init(void)

{

EX0=1;

IT0=1;

EA=1;

ET0 = 1; //定时器0中断打开

TMOD = 0x1; //设定时器0为模式1,16位模式

TH0=0xd8;

TL0=0xf0; //设定时值为10000us(10ms)

TR0 = 1;

PT0=1;

}

/***************************************************************/

void delay(uint k)

{

uint data i,j;

for(i=0;i

{

for(j=0;j<121;j++){;}

}

}

/************************************************************/

void show()

{

if(cnt>999)cnt=0;

P0=tab[cnt/100];

P25=0;

delay(1);

P25=1;

P0=tab[(cnt%100)/10];

P26=0;

delay(1);

P26=1;

P0=tab[cnt%10];

P27=0;

delay(1);

P27=1;

}

void display(void) 1 using 2

{

TH0=0xd8;

TL0=0xf0; //设定时值为10000us(10ms)

ledshow();

}

void main(void)

{

init();

while(1);

}

/************************************************/

void extern_int0(void) interrupt 0 using 0

{

EX0=0;

delay(10);

if(P32==0){

cnt++; }

while(!P32);

EX0=1;

}

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值