微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 不知道怎么修改下面的程序,用计数器统计脉冲个数,计数范围为0~65536

不知道怎么修改下面的程序,用计数器统计脉冲个数,计数范围为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();        //调用显示,等待中断
     }
}


玩不了,毕竟不是自己写的程序~

那大神能不能看电路图仿真写一个,非常需要了解

数码管显示,送段码,送位码,消影,关断,4步,   p0=ziduanma【xx】;
                    p2=ziweima[xxx];
                    延时几毫秒。
                    关段码或位码,

别的地方都没问题,就是数码管显示,注意程序细节,数组,检查硬件电路

估计没人愿意干这事

电路仿真没忘过,爱莫能助

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top