导航:首页 > 操作系统 > 单片机使数码管显示0099

单片机使数码管显示0099

发布时间:2022-11-01 21:06:46

❶ AVR单片机数码管显示00-99

这个和你的硬件环境有关,共阴共阳,使用串行还是并行显示。还有avr单片机种类很多的,我用过8位的用过32位的。写这类驱动软件一定要了解硬件环境的。

一定要使用汇编么,C同样可以完成,免费的AVR C编译器可以使用 GCC。

❷ 用单片机控制两个led数码管采用静态连接方式要求两个数码管显示00-99,

程序是刚做的,没测试过,你试试,能用再给分吧。P0口是位选,P2口段选。#includeunsignedintbittime=0;unsignedcharbitdisplay=0;unsignedcharmg=0,ms=0;unsignedcharTab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00};voidtimer0(void)interrupt1{TH0=0xF0;TL0=0x60;switch(bitdisplay){case0:P2=Tab[mg];P0=0xFE;break;case1:P2=Tab[ms];P0=0xFD;break;}bitdisplay++;bittime++;if(bitdisplay>=2)bitdisplay=0;if(bittime>=500){bittime=0;mg++;if(mg>9){mg=0;ms++;}if(ms>9)ms=0;}}voidmain(void){TMOD=0x01;TH0=0xF0;TL0=0x60;TR0=1;EA=1;while(1);}

❸ 求单片机采用外部中断0和1控制数码管进行00到99的计数c语言程序

程序是刚做的,没测试过,你试试,能用再给分吧。P0口是位选,P2口段选。
#include<reg52.h>
unsigned
int
bittime=0;
unsigned
char
bitdisplay
=
0;
unsigned
char
mg=0,ms=0;
unsigned
char
Tab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,
0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00};
void
timer0(void)
interrupt
1
{
TH0=0xF0;
TL0=0x60;
switch(bitdisplay)
{
case
0:P2=Tab[mg];P0=0xFE;break;
case
1:P2=Tab[ms];P0=0xFD;break;
}
bitdisplay++;
bittime++;
if(bitdisplay>=2)
bitdisplay=0;
if(bittime>=500)
{
bittime=0;
mg++;
if(mg>9)
{mg=0;ms++;}
if(ms>9)
ms=0;
}
}
void
main(void)
{
TMOD=0x01;
TH0=0xF0;
TL0=0x60;
TR0=1;
EA=1;
while(1);
}

❹ 单片机控制四位数码管显示0000-9999

首先告诉你,AT89C51已基本上没人用了,代替它的是AT89S51。
共阳数码管,OK,单片机设计多数使用共阳数码管。
单片机控制四位数码管显示0000-9999
我给你提供一个每秒自动加1的四位数码管循环显示0000~9999的程序。
D0 equ 0c0h ; 11000000B
D1 equ 0F9h ; 11111001B
D2 equ 0A4h ; 10100100B
D3 equ 0B0h ; 10110000B
D4 equ 99h ; 10011001B
D5 equ 92h ; 10010010B
D6 equ 82h ; 10000010B
D7 equ 0F8h ; 11111000B
D8 equ 80h ; 10000000B
D9 equ 90h ; 10010000B

org 0000h
jmp start
org 0030h
start:
mov dptr,#data0
mov r2,#0
mov r3,#0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
next: call display
inc r2
cjne r2,#100,next
mov r2,#0
inc r3
cjne r3,#100,next
mov r3,#0
jmp next

display:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov r4,#250
lpr4: mov p2,#0ffh
mov a,r3
mov b,#10
div ab
movc a,@a+dptr
mov p0,a
clr p2.0
call t1ms

mov p2,#0ffh
mov a,b
movc a,@a+dptr
mov p0,a
clr p2.1
call t1ms

mov p2,#0ffh
mov a,r2
mov b,#10
div ab
movc a,@a+dptr
mov p0,a
clr p2.2
call t1ms

mov p2,#0ffh
mov a,b
movc a,@a+dptr
mov p0,a
clr p2.3
call t1ms
djnz r4,lpr4
ret
data0: db d0,d1,d2,d3,d4,d5,d6,d7,d8,d9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

t1ms:
mov r7,#250
djnz r7,$
mov r7,#250
djnz r7,$
ret

jmp $
end

❺ 单片机用汇编写两个数码管显示0到99循环的程序

1、新建项目,做好准备。

❻ 单片机数码管显示0到9

#include<reg51.h>

sbitk1=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[n];

while(!k1);

delay();

while(!k1);

}

}

}

(6)单片机使数码管显示0099扩展阅读:

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集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

❼ 单片机 数码管动态显示 0-99

你说的总是先亮第一个,是哪一个??有个位,还是十位?还有你说的一秒是指数字增一,延迟一秒?如果是,那你在MAIN WHILE中加个delayms延迟。具体是延迟多少,就要看你的晶振了。

❽ 51单片机数码管显示0-99的问题

那个lalala有什么用?看程序是在P0口接一个共阳数码管。那同样在P2口再接一个数码管。这样,P0口的数码管显示十位数,P2口的数码管显示个位数。或在P2,P3口各接一个数码管。见下图。


这种接法属于静态显示电路。这个学会后,再练习动态显示电路。

❾ 求用单片机驱动数码二级管的C语言程序,要求二级管显示00~99

两位数码管显示00~99,无需采用数码管扫描,通常采用静态显示。

给你提供一个两位数码管00~99循环加法计数的CC语言程序。

程序中,采用了软件延时的方法,每半秒自动加1。

#include<reg52.h>

unsignedcharcount=0;

unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//段码

voiddelay500ms(); //延时子程序声明

voiddisplay(unsignedcharX); //显示子程序声明

voidmain()

{

while(1)

{

delay500ms();

count++;

if(count>=100)count=0;

display(count);

}

}

voiddelay500ms()

{

unsignedchari,j,k;

for(i=5;i>0;i--)

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

for(k=248;k>0;k--);

}

voiddisplay(unsignedcharX)

{

P0=table[X/10];

P2=table[X%10];

}

阅读全文

与单片机使数码管显示0099相关的资料

热点内容
pboc长度加数据加密 浏览:187
英雄联盟国际服手游怎么下安卓 浏览:297
程序员的思路 浏览:234
只能用命令获得的四种方块 浏览:358
怎么用命令方块防止开创造 浏览:807
扫描版的pdf 浏览:790
编程猫怎样做3d游戏 浏览:207
怎么查找云服务器上的ftp 浏览:156
我的世界服务器如何注册账号 浏览:934
统计英文字符python 浏览:423
linux信息安全 浏览:908
压缩机接线柱爆 浏览:999
程序员自主创业 浏览:584
汇编程序员待遇 浏览:359
怎么批量有顺序的命名文件夹 浏览:211
杭州程序员健身 浏览:20
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145