//0~200的计数器,原理图LEDshow/4.sch
#include
#include
void show(unsigned char x,unsigned char n);
void delay(unsigned int x);
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
main()
{ unsigned char x1,x10,x100;
TMOD=0x06;
TL0=56; //0~200计数
TH0=56;
TR0=1;
while(1)
{
x1=((TL0-56)%100)%10; //分离个位
x10=((TL0-56)%100)/10; //分离十位
x100=(TL0-56)/100; //分离百位
show(x1,0); //显示个位
delay(100);
show(x10,1); //显示十位
delay(100);
show(x100,2); //显示百位
delay(100);
}
}
void show(unsigned char x,unsigned char n)
//动态显示 ,n是个、十、百位标志码
{
switch(n)
{
case 0:P2=0xfe,P1=tab[x];break;
case 1:P2=0xfd,P1=tab[x];break;
case 2:P2=0xfb,P1=tab[x];break;
default:break;
}
}
void delay(unsigned int x) //延时
{
unsigned int i;
for(i=0;i
{}
}
关键字:c51 计数器程序
引用地址:
c51计数器程序
推荐阅读最新更新时间:2024-03-16 15:15
基于C51短距离无线供电装置设计
Abstract:Abstract: This paper is based on wireless power supply module, which consist of power transmitting circuit, receiving circuit, detection circuit. And this paper mainly introduces the wireless transmission system based on C51 MCU application efficiency of detection, and realize the wireless transmission functi
[电源管理]
基于C51单片机的通信测试仪器设计
随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。 1 硬件设计与实现 1.1 总体方案设计 在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。 根据待实现的系统功能要
[单片机]
C51的XTAL1,XTAL2的外接电源经验
C51的XTAL1,XTAL2的外接电源经验: 1.XTAL1 XTAL2 外接由两个电容与晶振的并联谐振时钟电路 C1,C2 选30pF,晶振选1.2-12MHz,设计时,当使晶振各电容尽可能的与C51单片机靠近,以保证稳定可靠 2.或用外部振荡器接至XTAL2,XTAL1接地,注意:XTAL1如果不接地的话,Electrical Rule Check会给出错误如下下: ELECTRICAL RULES CHECK REPORT ============================= Design: D:\proteus-design\yx-design\IO-1.DSN Doc. no.: NONE Revi
[单片机]
stm32f103r6仿真计数器程序+Proteus
单片机源程序如下: #include stm32f10x.h #include Delay.h #include smg.h #include sys.h #include timer.h #include led.h #include fmq.h #include key.h #include stm32f10x_tim.h uint16_t table = { /* 0, 1, 2, 3, 4, 5, 6, 7, 8, */ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, /* 9, A, B, C,
[单片机]
C51如何实现PID算法
真正要用 PID 算法的时候,发现书上的代码在我们51上来实现还不是那么容易的事情。简单的说来,就是不能直接调用。仔细分析你可以发现,教材上的、网上现行的PID实现的C语言代码几乎都是用浮点型的数据来做的,可以想象,如果我们的计算使用浮点数据,那我们的51单片机来运行的话会有多痛苦。 所以,本人自己琢磨着弄了一个整型变量来实现了PID算法,由于是用整型数来做的,所以也不是很精确,但是对于很多的使用场合,这个精度也够了。关于系数和采样电压全部是放大10倍处理的。所以精度不是很高,但是也不是那么低,大部分的场合都够用了。实在觉得精度不够,可以再放大10倍或者100倍处理,但是要注意不超出整个数据类型的范围就可以了。 本人做的是
[单片机]
c51单片机之利用外部中断实现数字时钟,且具有调时功能
仿真图: 代码段: /*整体功能:用八位共阳极数目管作电子时钟显示,并用key0位控制进行时分秒位的选择,当按一次时代表选中时位,两次选中分位,三次选中秒位,第四次取消选中时钟正常运行 且选中时该位的小数点会亮代表该位已被选中;key1按键用来对位进行加一操作,key2用来对位进行减一操作*/ #include reg52.h #define uint unsigned int //重定义,方便使用 #define uchar unsigned char sbit key0=P3^1; //位定义,此处赋予key0设置功能,通过对key0的操作来选中时钟的三个位 sbit key1=P3^2; //赋予
[单片机]
《初学者C51自学笔记》之步进机
一般电机都是连续旋转的,而步进电机却是一步一步地转动,故称之为步进电机,每次能转动的最小角度称为步距角。 每当步进电机的驱动器接收到一个驱动脉冲信号后,步进电机将会按照设定的方向转动一个固定的角度(有的步进电机可以直接输出线位移,称为直线电动机)。 对于角位移步进电机,可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的。 可以通过控制脉冲频率来控制步进电机的转动的速度和加速度,从而达到调速的目的。 步进电机按相数分可分为:单相,双相和多相三种。 设A相首先通电(B、C两相不通电),产生A-A′轴线方向的磁通,并通过转子形成闭合回路。这时A、A′极就成为电磁铁的N、S极。在磁场的作用下,转子总是力图转到磁阻
[单片机]
利用全局及外部变量实现C51无能数化调用A51函数
摘要: 利用C51全局及外部变量,可实现无参数化调用A51函数,不但避免开了传统C51调用C51时繁琐的接口约定,而且把在A51中所用到的变量全部放至C51程序中而不必考虑变量在内存中的位置,使编程更加简洁。用实例验证了该方法的优越性和有效性。 关键词: C51 A51 汇编语言 无参数化调用 电子技术应用 2001年第7期发表苟帅的文章“ASM51无参数化调用C51函数的实现”,阐述了ASM51无参数化调用C51函数的实现原理并给出实例来验证该方法的优越性和可行性。作者在文章中
[传感技术]