单片机屏幕循环显示数字程序设计

作者&投稿:成蝶 (若有异议请与网页底部的电邮联系)
一个单片机要设计0-9的数字显示循环~

单片机不同,电路也是不同的,不过原理相同,想学单片机其实和简单,而学习要从基础开始,
而你的问题不是一句两句就能说明白的,即使说明白了 你也不一定能听明白,即使听懂了,也不代表你以后不会遇到问题,不过理解你,因为你真是不懂
我简单说一下 单片机也好,计算机(电脑)也好,它们都有两个能耐,计算和储存,而运行的都是两进制。就是1和0 我们可以吧1定位开,0定位关, 开就是一个 高电位,而关就是一个低电位,连续的1010101010 我就就得到一组方波脉冲
也就是说连续的方波脉冲就可以理解为信息,当然在实际电路工作中不是这么简单,比如位数了,速率了等等

而数码显示管可以看做用发光二极管组成的显示灯,用不同的灯的显示完成组合就成了数字了

A_BIT EQU 20H



;个位数存放处
B_BIT EQU 21H



;十位数存放处
TEMP EQU 22H



;计数器寄存处
STAR: MOV TEMP,#0


;初始化计数器
STLOP: ACALL DISPLAY

;

INC TEMP

MOV A,TEMP

CJNE A,#100,NEXT

;等于100重来

MOV TEMP,#0

NEXT: LJMP STLOP

;显示子程序
DISPLAY: MOV A,TEMP


MOV B,#10
DIV AB
MOV B_BIT,A
MOV A_BIT,B
MOV DPTR,#NUMTAB
MOV R0,#4

DPL1:
MOV R1,#5
DPLOP: MOV A,A_BIT

MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
ACALL D1MS
SETB P2.7
MOV A,B_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
ACALL D1MS
SETB P2.6
DJNZ R1,DPLOP
DJNZ R0,DPL1
RET
D1MS:
MOV R7,#50
D1: MOV R6,#20
D2: DJNZ R6,$

DJNZ R7,D1

RET

NUMTAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;013456789字形码

END
这是两位从0到99的,你参考下。

#include<reg51.h>
#define INT8U unsigned char
#define INT16U unsigned int
//共阴极数码管段码
INT8U SEG_CODE[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F, //0~9
};
void delay_ms(INT16U x)
{
INT8U t;while(x--) for(t=0;t<120;t++);
}
void main()
{ INT8U i;
while(1)
{
for(i=0;i<9;i++)
{
P0=SEG_CODE[i];
delay_ms(550);
}
}
}
这是0~9的程序,给个采纳咯,注意是共阴极的数码管

将0-7的数码管码段依次送入数码管,分时显示。


VB用列表框自动循环数字
label自动显示列表框内数字循环,用按钮控制,单击一次开始循环,单击二次继续循环如果用VB写成似这个http:\/\/pan.baidu.com\/s\/1mg9V33y... label自动显示列表框内数字循环,用按钮控制,单击一次开始循环,单击二次继续循环如果用VB写成似这个http:\/\/pan.baidu.com\/s\/1mg9V33y 展开 ...

光绘菲林冲片机多久换一次药水?
基本情况下,水需要每周更换一次,显影液半个月一次,定影液一个月一次。如果冲片数量少或者出的菲林无透光无沙眼等问题,可以适当延长一段时间再更换。

《单片机C语言程序设计实训100例——基于8051+Proteus仿真》 第03...
数码管显示*数码管显示 数码管显示数码管显示*\/ 实例60:用LED数码显示数字5 实例61:用LED数码显示器循环显示数字0~9 实例62:用数码管慢速动态扫描显示数字"1234"实例63:用LED数码显示器伪静态显示数字1234 实例64:用数码管显示动态检测结果 实例65:数码秒表设计 实例66:数码时钟设计 实例67:用...

华为手机循环显示“ HUAWEI”怎么办?
如果华为手机循环显示"HUAWEI"字母而无法开机或关闭机器,可以尝试以下步骤来解决问题:1. 强制重启手机:按住手机的电源键和音量下键同时长按约10秒钟,直到手机震动并重新启动。这通常被称为硬重启或强制重启,可以帮助解决一些软件问题。2. 安全模式进入:如果重启后仍然出现问题,可以尝试进入安全模式。...

电脑一直循环这个界面,无法成功开机,如何解决?
电脑作为如今的生产力工具,在使用过程中大家会遇到各种各样的问题,其中无法正常开机是最令大家头疼的问题之一,因为这种情况下坐在屏幕前的你真的会两眼一摸黑,不知所措。实际上,对于电脑无法正常开机的情况是有规律可循的,接下来笔者就为大家盘点一下电脑无法正常开机的情况以及相应的解决方案。01 ...

如何让图片在屏幕保护时一直循环播放
早期的一些xp版本没有幻灯片屏保,你可以在别人的xp系统的电脑上找到\\windows\\system32\\ssmypics.scr,这就是幻灯片的屏保文件,然后拷贝到你电脑相同的目录下,应该就有了 如果桌面右键属性里的"屏幕保护程序"里没有"图片收藏幻灯片"只要按下面方法操作,就能加入"图片收藏幻灯片".在有"图片收藏幻灯片"...

机箱内,主板上的红色指示灯显示的数字什么意思?
机箱内部,主板上有一个红色的指示灯,显示的是数字,2位数,有时候还是字母,刚开机不久就显示52。就停止了。有时就是显示52后再显示92。之后也停了。。而且重启那里的红色指示灯一直... 机箱内部,主板上有一个红色的指示灯,显示的是数字,2位数,有时候还是字母,刚开机不久就显示52。就停止了。有时就是显示52后...

一个按键怎么控制数码管显示不同的字符
这个要加程序的,按一下按键,程序中变量自加1,然后根据程序变量的值,显示相应的字符。例如:1 MP3 2 CD 3 DVD,如果当前变量值为3,下一次按键有效时,应直接赋值为1,这样就形成了循环

...比如显示数字,还是闪烁什么的?求解释求详细
p0=com是单片机控制1602液晶一般主要对其进行写操作,控制1602显示,很少从1602读数据。运算语句一般来说都表现了在存储器内的数据进行运算的行为,然后将结果存入存储器中以便日后使用。高阶命令式编程语言更能处理复杂的表达式,可能会产生四则运算和函数计算的结合。循环语句容许一些语句反复运行数次。循环...

电影院放映机到屏幕距离怎么计算
电影院放映机到屏幕距离计算方法:银幕宽度比片门宽度=放映距离比镜头焦距(片门就是放映机压片板上片窗的宽度)屏幕,也称显示屏,是用于显示图像及色彩的电器。荧幕尺寸依荧幕对角线计算,通常以英寸(inch)作单位,现时一般主流尺寸有17"、19"、21"、22"、24、27"等,指荧幕对角的长度。常用的显示屏又有标屏(窄屏...

龙山区19337058319: 51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序. -
詹寇普罗: #include<reg51.h>#define uchar unsigned char uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9 uchar time,scanled,tiao; uchar disdat[6]="201803"; void delay(unsigned int x) {unsigned int i,j;for(i=0;i<x;i++)...

龙山区19337058319: 编写51单片机实现液晶上字的循环显示和移动程序? -
詹寇普罗: #include "reg52.h" sbit LED=P1^0;//LED锁存器 sbit SEG=P1^1;//数码管段选锁存器 sbit DIG=P1^2;//数码管位选锁存器 unsigned char t; sbit LCDRS=P2^7;//数据指令控制 sbit LCDRW=P2^6;//读写控制 sbit LCDEN=P2^5;//液晶屏使能...

龙山区19337058319: 用单片机实现一位数码管循环显示'0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 0',当按一个按键后就停止循环,只显示一个数字 -
詹寇普罗: 用单片机实现一位数码管循环显示'0-1-2-3-4-5-6-7-8-9-0',当按一个按键后就停止循环,只显示一个数字

龙山区19337058319: 用单片机控制的16x16(或8x8)点阵LED循环显示“生日快乐”,这个程序该怎么写啊?
詹寇普罗: //-------------------------------- // // 16*16点阵LED显示中文程序 // 本程序逐个显示中文,从右至左流动显示 // 使用横向,流动只有字节间操作 // 字模数据:文字下侧存储为数组中奇数 // 文字上侧存储为数组中偶数 // //-------------------------------- #i nclude <at...

龙山区19337058319: 求一段能在51单片机共阳数码管中左移循环显示数字的程序
詹寇普罗: #include &lt;reg52.h&gt; #include &lt;intrins.h&gt; #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; void DelayMS(uint x) { uchar t; while(x--) { for(t=120;t&gt;0;...

龙山区19337058319: 51单片机问题 编写4个LED数码管循环显示2008的程序. 用C语言写.. -
詹寇普罗: #include<reg51.h> //----------------------------------------------- void delay(unsigned int i) //延时 {unsigned char j;while(i--) for(j = 0; j < 115; j++); } //----------------------------------------------- void main(void) {unsigned char n1;unsigned char code SEG[] = {0xc0, ...

龙山区19337058319: 1602显示数字0 - 99循环,求例子啊,最好是51单片机的噢~~ -
詹寇普罗: 给你写一个参考程序 /***************************************** * * * 显示0-99 * * ******************************************/ #include "REG52.H" sbit LCD_RS = P2^0;sbit LCD_EN = P2^1; #define LCD_DATA P0 unsigned char INT_TEMP; unsigned char ...

龙山区19337058319: 51单片机c语言设计,按键控制数码管,依次按下显示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; ...

龙山区19337058319: 实现一个循环显示程序.循环显示数字0到9,更新周期为0.5秒 -
詹寇普罗: //用LED数码显示器循环显示数字0~9 #include<reg52.h> // 包含51单片机寄存器定义的头文件 /************************************************** 函数功能:延时函数,延时一段时间 ***************************************************/ void delay(void) { ...

龙山区19337058319: AT89c51单片机编程实现9–0循环显示数码管显示,求图求程序 -
詹寇普罗: sbuf=dispcode[num0];//第1位 while(!ti); ti=0; led0=0; delay(2); led0=1; sbuf=dispcode[num1];//第2位 while(!ti); ti=0; led1=0; delay(2); led1=1; sbuf=dispcode[num2];//第3位 while(!ti); ti=0; led2=0; delay(2); led2=1;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网