单片机
返回首页

单片机流水线计数器设计

2015-05-07 来源:51hei

几年晚上一个网友找我做流水线计数器,于是想起了半年前我上传到百度文库的这个文档。呵呵,当年

潍坊学院第二届电子设计大赛

#include

#define uint unsigned int

#define uchar unsigned char

 

uchar code tabel[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};// 这个数组存放0~9

uint counter;//定义计数器,用来计量脉冲次数

sbit wei_ge=P1^0; //定义位选引脚

sbit wei_shi=P1^1;

sbit wei_bai=P1^2;

sbit wei_qian=P1^3;

sbit BUZZER=P2^0;

 

void delay_(unsigned int j)

 

{

 unsigned int k;

 while (--j!=0)

 {

 for (k=0;k<600;k++);

}

}

 

 

/*延时子程序*******************************************************/

void delay(uint xms)

{

 uint j;

 for(;xms>0;xms--)

  for(j=110;j>0;j--);

}

/*数码管扫描显示子程序************************************************/

void shuma_show(uint date)

{

 uchar ge,shi,bai,qian;//数码管显示变量声明

 ge=date%10;//个位数换算

 shi=date/10%10;//十位换算

 bai=date/100%10;//百位换算

 qian=date/1000;//千位换算

 

 wei_ge=1;//打开个位显示

 P0=tabel[ge]; //数据输入数码管内

 delay(2);//延时显示2ms

 wei_ge=0;//关闭个位显示

 wei_shi=1;//打开个位显示

 P0=tabel[shi]; //数据输入数码管内

 delay(2);//延时显示2ms

 wei_shi=0;//关闭个位显示

 wei_bai=1;//打开个位显示

 P0=tabel[bai]; //数据输入数码管内

 delay(2);//延时显示2ms

 wei_bai=0;//关闭个位显示

 wei_qian=1;//打开个位显示

 P0=tabel[qian]; //数据输入数码管内

 delay(2);//延时显示2ms

 wei_qian=0;//关闭个位显示    

}

/*初始化子程序**********************************************************/

void inti()

{

 wei_ge=wei_shi=wei_bai=wei_qian=0;//各I/O口初始化

 TMOD=0x05;//设置计数器0工作方式1,为16位计数器,且为外部计数

 TH0=0;//计数器高8位装0

 TL0=0;//计数器低8位装0

 

 TR0=1;//开计数器

}

/*主程序***************************************************************/

void main()

{

BUZZER=0;

 inti();

 while(1)

 {

 

  counter=TH0*255+TL0;//读计数器数据

 

  }

 

 

  if(counter==1000)

{

TH0=TL0=0;

} //计满清零

  shuma_show(counter);//数码管扫描显示

  if((counter%100==0)&& counter!=0)//逢百提醒

   {

   

BUZZER=1;

delay(500);

BUZZER=1;

 }

 }

}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 非常简单的150W功放电路图

  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 分享一个电网倾角计电路

    相关电子头条文章