单片机流水线计数器设计

发布者:SHow111time最新更新时间: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;

 }

 }

}

关键字:单片机  流水线  计数器 引用地址:单片机流水线计数器设计

上一篇:zigbee—CC2430—常规报错修改
下一篇:C++ while循环控制

推荐阅读最新更新时间:2024-03-16 14:01

stm32的通用计数器用于编码器的脉冲计数
这周做电脑鼠的编码器模块,整整的折腾了一周。 这过程真是让我们哭笑不得,我们打算用TIM3的CH3和CH4通道采集左电机的pwm来测速和测距,用TIM4的CH2和CH1来测右电机的。 写代码时,我们先做的是左电机的,整整闹到了礼拜五,才发现通用定时器的CH3和CH4通道不能用来做PWM输入,晕!!下面是我们的配置之一,拿出来与大家分享分享! 我们用GPIO_B_7,TIMER4的二通道 void MY_CONFIG(void) { NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeD
[单片机]
攻破单片机低功耗设计技术
单片机设计中很多外围硬件集成到CPU芯片中,但是却无形中增大了硬件冗余,加大了功耗。本文主要针对单片机低功耗低电压设计技术以及相应的注意事项。 1 单片机的低功耗设计技术 1.1 高集成度的完全单片化设计 将很多外围硬件集成到了CPU芯片中,增大硬件冗余。内部以低功耗、低电压的原则设计,这给单片机的低功耗设计提供了很强的支持。 1.2 内部电路可选择性工作 通过特殊功能寄存器选择使用不同的功能电路,即依靠软件选择其中不同的硬件;对于不使用的功能使其停止工作,以减少无效功耗。 1.3 宽电源电压范围 先进的单片机芯片工艺特别决定了单片机在很宽的电源电压范围内部能正常工作。例如,NEC公司的 78K0和78K0S系列的单片
[单片机]
八位单片机的程序优化12项注意事项
1、采用短变量 一个提高代码效率的最基本的方式就是减小变量的长度。使用 C 编程时,我们都习惯于对循环控制变量使用 int 类型,这对 8 位的单片机来说是一种极大的浪费,你应该仔细考虑你所声明的变量值可能的范围,然后选择合适的变量类型,很明显,经常使用的变量应该是unsigned char,只占用一个字节。 2、使用无符号类型 为什么要使用无符号类型呢?原因是8051不支持符号运算,程序中也不要使用含有带符号变量的外部代码,除了根据变量长度来选择变量类型外,你还要考虑是否变量是否会用于负数的场合。如果你的程序中可以不需要负数那么把变量都定义成无符号类型的。 3、避免使用浮点指针 在 8 位操作系统上使用 32 位浮点数是得不偿失
[单片机]
单片机USB描述符
设备列举所要执行的工作之一,即是取得这些有关于设各的相关信息,即为USB描述符。那么什么是USB描述符呢?用户可以稍微想像一下,它就好像是USB外围设各的“履历表”或“身份证”一般,钜细靡遗地纪录着与外围设各相关的一切信息。因此,USB描述符掌 握了有关于设各的各种信息与相关的设置。   为了描述不同的数据,就须以不同类型的USB描述符来加以描述,如图1所示。虽然各个描述符都有不同的信息与数据,但所有的描述符都有一些共同的特性,也即是由如表1所列的格式所组成。其中,所有的Byte o是以字节为单位的描述符长度,而所有的Byte 1 则放置如表2和表3所列的描述符类型值,紧接着的其他字节,则随着不同的描述符而不同。如果该描述符的
[单片机]
<font color='red'>单片机</font>USB描述符
51单片机的状态机消抖代码
#include enum State {Init, Press, Free}; //定义按键状态的枚举类型 enum State Key_State; //按键状态 sbit Key1 = P2^4; sbit Key2 = P2^5; sbit Key3 = P2^6; sbit Key4 = P2^7; void Delay_ms(unsigned int x) { int i,j; for(i=0; i 110; i++) for(j=0; j ; } //============================================================================
[单片机]
基于单片机的低成本CMOS图像采集系统
在很多场合,由于客观条件限制,人们不可能进入现场进行直接观察,只能用适应性更强的电子图像设备来代替完成,在此背景下发展起来的图像技术成为人们关注的热点应用技术之一,它以直观、信息内容丰富而被广泛应用于许多场合。在物联网系统中实现图像采集,必须要考虑物联网的以下特点: (1)物联网节点对价格敏感。 物联网是信息传感技术的大规模应用,传感节点数目成百上千,若每个节点的成本提高一点,整个物联网系统的成本就会提高很多。所以传感节点图像采集的成本应尽量低。 (2)大部分物联网应用对图像质量要求不高。 图像采集主要是帮助用户不需要到现场就可以观察现场情况,对于大多数应用只要能分辨出现场场景即可,没必要采集很高像素的图像。
[单片机]
基于<font color='red'>单片机</font>的低成本CMOS图像采集系统
英飞凌推出高安全的非接触式微控制器系列
英飞凌科技股份公司(FSE: IFX/ OTCQX: IFNNY)近日在“智能卡暨身份识别技术工业展”(CARTES & IDentifica-tion)上推出了一款高安全的双界面微控制器系列产品,该系列产品实现了非接触式芯片前所未有的数字安全特性,是英飞凌在非接触式解决方案方面矢志创新的结果。全新SLE 78CL(CL意为非接触式)系列采用了屡获殊荣的“Integrity Guard”硬件安全技术,英飞凌发明的这项技术被芯片卡行业誉为“最佳硬件创新”。英飞凌将SLE 78CL系列产品瞄准下一代卡片或其它形式的政府身份识别及支付应用。 今后十年,在芯片卡和安全项目中,基于硬件的安全将日益成为重要的差异化因素。尤其是保
[RF/无线]
采用二维模糊控制器和C8051单片机实现室内自然采光系统的设计
1、 引言 从远古的篝火、油灯到蜡烛、白炽灯,再到今天千家万户的荧光灯,人类已经基本适应了人工光源的室内照明环境。但是由于千万年来的环境影响,自然光仍然是人类最习惯、感觉最舒适的光源,自然采光一直受到建筑师和照明设计师的高度重视。当今社会建筑的节能环保需求更对自然采光照明提出了进一步的要求。《建筑采光设计标准》 中的国家技术经济政策指出: 建筑设计要充分利用天然光,创造良好的光环境。 对室内照明自然采光的研究具有重要的意义: (1) 资料表明,照明用电占整个商业建筑能耗的25 - 40% ,而自然采光在特定的情况下可以节省52% 的照明用电,大大节约了能源。 (2) 相关研究表明,人在自然光条件下工作,可以增加满意度和提高工作
[单片机]
采用二维模糊控制器和C8051<font color='red'>单片机</font>实现室内自然采光系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved