不知道怎么修改下面的程序,用计数器统计脉冲个数,计数范围为0~65536
时间:10-02
整理:3721RD
点击:
本人新手学单片机,不知道怎么修改下面的程序,已经修改了很多次,但是还是失败了,想请教大神们。修改程序,用计数器统计脉冲个数,计数范围为0~65536.
#include<reg51.h>
#define uchar unsigned char
#define ziweima P2
#define zixingma P0
/*共阴极数码管字形码,共阳极数码管取反即可*/
uchar code zixing[]={0x3F, 0x06, 0x5B, 0x4F,
0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C,
0x39, 0x5E, 0x79, 0x71};
/*共阳极数码管字位码,共阴极数码管取反即可*/
uchar code ziwei[]={0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80};
uchar i; //全局变量,统计中断次数
void timerint(void)
{
TMOD=0x06; //;设置定时器的工作方式
TH0=0x0FD; //;设置定时时间常数
TL0=0x0FD; //
ET0=1; //打开定时器0中断
EA=1; //开放CPU中断
TR0=1; //启动CT0
}
void disp(void) //数码管显示函数
{
zixingma=~zixing[8];
ziweima=~ziwei;
}
void timer0(void) interrupt 1 using 0
{
i++; //每次中断i加1
if(i==8)i=0;
}
void main(void)
{
timerint(); //定时器初始化
while(1)
{
disp(); //调用显示,等待中断
}
}
#include<reg51.h>
#define uchar unsigned char
#define ziweima P2
#define zixingma P0
/*共阴极数码管字形码,共阳极数码管取反即可*/
uchar code zixing[]={0x3F, 0x06, 0x5B, 0x4F,
0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C,
0x39, 0x5E, 0x79, 0x71};
/*共阳极数码管字位码,共阴极数码管取反即可*/
uchar code ziwei[]={0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80};
uchar i; //全局变量,统计中断次数
void timerint(void)
{
TMOD=0x06; //;设置定时器的工作方式
TH0=0x0FD; //;设置定时时间常数
TL0=0x0FD; //
ET0=1; //打开定时器0中断
EA=1; //开放CPU中断
TR0=1; //启动CT0
}
void disp(void) //数码管显示函数
{
zixingma=~zixing[8];
ziweima=~ziwei;
}
void timer0(void) interrupt 1 using 0
{
i++; //每次中断i加1
if(i==8)i=0;
}
void main(void)
{
timerint(); //定时器初始化
while(1)
{
disp(); //调用显示,等待中断
}
}
玩不了,毕竟不是自己写的程序~
那大神能不能看电路图仿真写一个,非常需要了解
数码管显示,送段码,送位码,消影,关断,4步, p0=ziduanma【xx】;
p2=ziweima[xxx];
延时几毫秒。
关段码或位码,
别的地方都没问题,就是数码管显示,注意程序细节,数组,检查硬件电路
估计没人愿意干这事
电路仿真没忘过,爱莫能助