您当前的位置:首页 > 生活 > 内容

数码管显示数字0到9(利用C语言编程在单只静态数码管循环显示0~9的10个数字)

本文目录

  • 利用C语言编程在单只静态数码管循环显示0~9的10个数字
  • 51单片机c语言设计,按键控制数码管,依次按下显示0到9循环
  • 数码管是共阳极接法,计算出LED数码管显示0-9的段码,列出分别用二进制数与十六进制数表示
  • 单片机数码管显示0到999c语言程序怎么编
  • 单数码管循环怎么显示0到9
  • 显示一个数码管0-9
  • 单片机数码管显示0到9
  • 单数码管循环显示0到9
  • 一位数码管循环显示0到9实验程序
  • 求:用单片机C语言编一位数码管的数字显示 要求可以从0变化到9

利用C语言编程在单只静态数码管循环显示0~9的10个数字

说明:主程序中的循环语句反复将 0~9 的段码送至 P0 口,使数字 0~9 循环显示*/#include《reg51.h》#include《intrins.h》#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//延时void DelayMS(uint x){uchar t;while(x--) for(t=0;t《120;t++);}//主程序void main(){uchar i=0;P0=0x00;while(1){P0=~DSY_CODE;i=(i+1)%10;DelayMS(300);}}

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环

假设你的是共阳极数码管,P0接数码。按键接P2^0;#include《reg52.h》typedef unsinged int uint;sbit key=P2^0;unsigned char tab={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void denay(uint x){uint i,j;for(i=x;i》0;i--) for(j=110;j》0;j--)}void main(){uchar a;while(1){P0=tab;if (key1==0){delay(10);if(key==0){while(!key1);a++;if(a==10) a=0;}}}

数码管是共阳极接法,计算出LED数码管显示0-9的段码,列出分别用二进制数与十六进制数表示

若数码管共阳,则低电平有效,所对应的16进制表示方式,为:0-0xc0,1-0xf9,2-0xa4,3-0xb0,4-0x99,5-0x92,6-0x82,7-0xf8,8-0x80,9-0x90。若数码管共阴则高电平有效,所对应的16进制表示方式为0-0x7f,1-0x06,2-0x5b,3-0x4f,4-0x66,5-0x6d,6-0x7d,7-0x07,8-7f,9-0x6f。

单片机数码管显示0到999c语言程序怎么编

#include《reg51.h》

unsigned char xs_d={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned int time=0,s,sz;delay(unsigned int k){

unsigned int i,j;

for(i=0;i《k;i++)

for(j=0;j《125;j++);

}INT_0()interrupt 0

{ delay(10);

if(INT0==0){sz++;《br》 if(sz》2){sz=0;}}}

void T0_int()interrupt 1{

TH0=(65535-50000)/256;//设置初值

TL0=(65535-50000)%256;

s++;if(s》20){s=0;《br》 if(sz==1)time++;《br》 if(time》999){time=0;}

if(sz==0){time=0;//清零《br》 }

扩展资料:

运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。

ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。

运算器有两个功能:

(1) 执行各种算术运算。

(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。

运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。

单数码管循环怎么显示0到9

方法如下:

#include “reg51.h“#define uchar unsigned char#define uint unsigned intuchar code table_numberP = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};    uchar code table = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint n;uint ge;void main(){ge = 0;TMOD = 0x01;TH0 = (65536-45872)/256;TL0 = (65536-45872)%256;EA = 1;ET0 = 1;TR0 = 1;while(1);}void T0_time()interrupt 1{TH0 = (65536-45872)/256;TL0 = (65536-45872)%256;n++;if(n%20 == 0){if(ge《=9){P1 = table_numberP;P0 = table;ge++;if(ge == 10){ge = 0;}}}}

主函数中的P2 = LED_CODE;led++;可以删去,没有任何的意义,因为定时和循环显示都在中断函数里面完成了,主函数只是起了一个初始化的作用,led++影响LED_CODE=0xF9,对应显示1,依次类推,从而显示0--9。

显示一个数码管0-9

先上数码管的引脚图

        首先,数码管的原理是,给数码管的某段加一个合适的电压,该段就会发亮。七段式数码管有七段加一点(DP),这种数码管有两种,一种是共阳极,这种接低电平时亮,另一种就是共阴极,就是楼主用的这种,通高电平亮。

        数码管左边的引脚从上至下依次是接a,b,c,d,e,f,g,dp。要让数码管显示数字,就是需要指定部分亮,比如0,就是需要a,b,c,d,e,f这六段亮,也就是P0.0~P0.5为1,即P0=00111111=0x3f,而现在shuma=0x3f,就不需要取反了。至于为何要这样做呢,统计不亮的段比较方便,毕竟不亮的少嘛,也许只是习惯问题。

单片机数码管显示0到9

#include《reg51.h》

sbit k1=P1^0;

#define uint16 unsigned int

#define uchar unsigned char

uchar code shuzu={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(){

uint16 i=1000;

while(i--);}

void main()

{

uchar n ;

P2=0xfe;

P1=0xff;

while(1)

{

if(k1==0){

if(n》=9) n=0;

else n++;

P0=shuzu;

while(!k1);

delay();

while(!k1);

}

}

}

扩展资料:

51单片机的功能特性

1,可以仿真63K程序空间,接近64K 的16位地址空间;

2,可以仿真64Kxdata 空间,全部64K 的16位地址空间;

3,可以真实仿真全部32 条IO脚;

4,完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;

5,可以使用C51语言或者ASM汇编语言进行调试 ;

6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某 变量上就会立即显示出它此的值;

7,可选 使用用户晶振,支持0-40MHZ晶振频率;

8,片上带有768字节的xdata,您可以在仿真时选 使用他们,进行xdata 的仿真;

9,可以仿真双DPTR 指针;

10,可以仿真去除ALE 信号输出. ;

11,自适应300-38400bps 的所有波特率通讯;

12,体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;

13,仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座. ;

14,仿真时监控和用户代码分离,不可能产生不能仿真的软故障;

15,RS-232接口不计成本采用MAX202集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

参考资料来源:百度百科-51单片机

单数码管循环显示0到9

我的是共阳数码管,是8位的,我选通的是第一位,你可以自己改一个地方#include《reg52.h》unsigned char code s8={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay(int i){ int j; for(;i》=0;i--) { for(j=0;j《115;j++) {;} }}void main(){ int i; while(1) { P2=0x7f;/*这是选通位,你可以根据自己的数码管来写*/ for(i=0;i《10;i++) { P0=s8; delay(400); P0=0xff; delay(100); } i=0; }}

一位数码管循环显示0到9实验程序

具体程序如下:

#include 《reg51.h》

#define uchar unsigned char 

sbit P20=P2^0;

void delay_ms(unsigned int ms) //1ms延时

{

uchar a;

while(ms--)

for(a=123;a》0;a--);

}

uchar code tab={0x3F,0x06,0x5B,0x4F,0x66,

0x6D,0x7D,0x07,0x7F,0x6F};

void main()

{

while(1)

{uchar b;

P20=0;

P0=tab;

delay_ms(1000);//1s延时

b++;

if(b==10)

b=0;

}

}

扩展资料:

数码管原理

数码管常用段数一般为7段有的另加一个小数点,还有一种数码管是类似于3位“+1”型。数码管位数有半位,1,2,3,4,5,6,8,10位等。数码管根据LED的接法不同分为共阴和共阳两类,了解数码管的这些特性,数码管对编程是很重要的。

因为不同类型的数码管,除了数码管的硬件电路有差异外,数码管编程方法也是不同的。数码管的发光原理是一样的,只是数码管的电源极性不同而已。

数码管颜色有红,绿,蓝,黄等几种。数码管广泛用于仪表,时钟,车站,家电等场合。选用数码管时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用数码管内部引脚图片。

数码管引脚定义每一笔划都是对应数码管一个字母表示数码管DP是小数点。数码管透过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是数码管动态驱动。每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应。

尽管实际上各位数码管并非同时点亮LED数码管,但只要数码管扫描的速度足够快,数码管给人的印象就是一组稳定的显示资料,数码管不会有闪烁感,数码管动态显示的效果和静态显示是一样的,数码管能够节省大量的I/O口,而且数码管功耗更低。

求:用单片机C语言编一位数码管的数字显示 要求可以从0变化到9

//程序功能:000-999显示//2012-//作者:李超峰//版本:VER:1.0//=============================#include《reg51.h》sbitSEG=P1^5;unsignedcharSEGTAB={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};////////延时子函数////////////////////voiddelay(intx){inti,j;for(i=0;i《x;i++)for(j=0;j《120;j++);}///////////主函数部分///////////////////main(void){while(1){inti;for(i=0;i《9;i++){SEG=0;P0=SEGTAB;delay(1000);}}}


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 格兰仕空调官网首页(格兰仕空调GZ-1002B怎么打开制热)

下一篇: 案例分析范文(创新创业案例分析范文)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号