演示图片:
源程序
;* 描述: *
;* 简易电子时钟,数码管显示 *
;* K1---时调整 *
;* K2---分调整 *
;* *
;* *
CODE_SEG SEGMENT CODE
DATA_SEG SEGMENT DATA
STACK_SEG SEGMENT IDATA
K1 BIT P1.4
K2 BIT P1.5
RSEG DATA_SEG
KEY_S: DS 1
KEY_V: DS 1
DIS_DIGIT: DS 1
SEC: DS 1
DIS_INDEX: DS 1
HOUR: DS 1
MIN: DS 1
SEC100: DS 1
DIS_BUF: DS 8
BUF_HOUR_H EQU DIS_BUF ; 小时十位
BUF_HOUR_L EQU DIS_BUF+1 ; 小时个位
BUF_MIN_H EQU DIS_BUF+3 ; 分十位
BUF_MIN_L EQU DIS_BUF+4 ; 分个位
BUF_SEC_H EQU DIS_BUF+6 ; 秒十位
BUF_SEC_L EQU DIS_BUF+7 ; 秒个位
RSEG STACK_SEG
STACK: DS 20
;=======================================================
CSEG AT 0000H
JMP MAIN
CSEG AT 0000BH
LJMP TIMER0
CSEG AT 0001BH
LJMP TIMER1
;===================================================
RSEG CODE_SEG
MAIN:
USING 0
MOV SP, #(STACK-1) ;
MOV P0,#0FFH
MOV P2,#0FFH
MOV TMOD,#011H ; 定时器0, 1工作模式1, 16位定时方式
MOV TH0,#0FCH
MOV TL0,#017H
MOV TH1,#0DCH
CLR A
MOV TL1,A
MOV HOUR,#12 ;
CLR A ;
MOV MIN,A
MOV SEC,A
MOV SEC100,A
MOV A,HOUR
MOV B,#10
DIV AB
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR
MOV BUF_HOUR_H,A ; 时十位
MOV A,HOUR
MOV B,#10
DIV AB
MOV A,B
MOVC A,@A+DPTR
MOV BUF_HOUR_L,A ; 时个位
MOV A,MIN
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV BUF_MIN_H,A ; 分十位
MOV A,MIN
MOV B,#10
DIV AB
MOV A,B
MOVC A,@A+DPTR
MOV BUF_MIN_L,A ; 分个位
MOV A,SEC
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV BUF_SEC_H,A ; 秒十位
MOV A,SEC
MOV B,#10
DIV AB
MOV A,B
MOVC A,@A+DPTR
MOV BUF_SEC_L,A ; 秒个位
MOV BUF_HOUR_H+02H,#0BFH
MOV BUF_HOUR_H+05H,#0BFH
MOV DIS_DIGIT,#0FEH
CLR A
MOV DIS_INDEX,A
MOV IE,#08AH ; 使能timer0,1 中断
SETB TR0
SETB TR1
MOV KEY_V,#03H
MAIN_LP:
LCALL SCAN_KEY ; 键扫描
JZ MAIN_LP ; 无键返回
MOV R7,#10 ; 延时10ms
LCALL DELAYMS ; 延时去抖动
LCALL SCAN_KEY ; 再次扫描
JZ MAIN_LP ; 无键返回
MOV KEY_V,KEY_S ; 保存键值
LCALL PROC_KEY ; 键处理
SJMP MAIN_LP ; 调回主循环
;=======================================================
SCAN_KEY:
; 扫键扫描子程序
; 保存按键状态到key_s
; 返回: A --- 按键是否按下(BOOL)
CLR A
MOV C,K1 ; 读按键K1
MOV ACC.0,C
MOV C,K2 ; 读按键K2
MOV ACC.1,C
MOV KEY_S,A ; 保存按键状态到key_s
XRL A,KEY_V
RET
;========================================================
PROC_KEY:
; 键处理子程序
; 传入参数: KEY_V --- 按键值
; 返回值: 无
CLR EA
MOV A,KEY_V
JNB ACC.0,PROC_K1
JNB ACC.1,PROC_K2
SJMP END_PROC_KEY
PROC_K1: ; 按键k1处理
LCALL INC_HOUR ; 小时加1
SJMP END_PROC_KEY
PROC_K2: ; 按键K2处理
INC MIN ; 分钟加1
MOV A,MIN ;
SETB C
SUBB A,#59
JC K2_UPDATE_MIN ; 如果分钟等于60,则分清0,小时加1
CLR A ;
MOV MIN,A
K2_UPDATE_MIN: ; 更新分显示缓冲区
MOV A,MIN
MOV B,#10
DIV AB ; A = MIN / 10
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR
MOV BUF_MIN_H,A ; 更新分十位
MOV A,MIN
MOV B,#10
DIV AB
MOV A,B ; A = MIN % 10
MOVC A,@A+DPTR
MOV BUF_MIN_L,A ; 更新分个位
END_PROC_KEY:
SETB EA
RET
;========================================================
USING 0
TIMER0:
; 定时器0中断服程序, 用于数码管的动态扫描
; DIS_INDEX --- 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量
; DIS_DIGIT --- 位选通值, 传送到P2口用于选通当前数码管的数值, 如等于0xfe时,
; 选通P2.0口数码管
; DIS_BUF --- 显于缓冲区基地址
PUSH ACC
PUSH PSW
PUSH AR0
MOV TH0,#0FCH
MOV TL0,#017H
MOV P2,#0FFH ; 先关闭所有数码管
MOV A,#DIS_BUF ; 获得显示缓冲区基地址
ADD A,DIS_INDEX ; 获得偏移量
MOV R0,A ; R0 = 基地址 + 偏移量
MOV A,@R0 ; 获得显示代码
MOV P0,A ; 显示代码传送到P0口
MOV P2,DIS_DIGIT
MOV A,DIS_DIGIT ; 位选通值左移, 下次中断时选通下一位数码管
RL A
MOV DIS_DIGIT,A
INC DIS_INDEX ; DIS_INDEX加1, 下次中断时显示下一位
ANL DIS_INDEX,#0x07 ; 当DIS_INDEX等于8(0000 1000)时, 清0
POP AR0
POP PSW
POP ACC
RETI
;==================================================
USING 0
TIMER1:
; 定时器1中断服务程序, 产生时基信号10ms
;
;
PUSH PSW
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
MOV TH1,#0DCH
INC SEC100
MOV A,SEC100
CLR C
SUBB A,#100 ; 是否中断100次(达到1s)
JC END_TIMER1 ; < 1S
MOV SEC100,#00H ; 达到1s
LCALL INC_SEC ; 秒加1
END_TIMER1:
POP DPL
POP DPH
POP B
POP ACC
POP PSW
RETI ;
;========================================================
INC_SEC:
INC SEC
MOV A,SEC
SETB C
SUBB A,#59 ;
JC UPDATE_SEC
CLR A
MOV SEC,A
LCALL INC_MIN
UPDATE_SEC:
MOV A,SEC
MOV B,#10
DIV AB ; A = SEC / 10
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR ;
MOV BUF_SEC_H,A ;
MOV A,SEC
MOV B,#10
DIV AB
MOV A,B ; A = SEC % 10
MOVC A,@A+DPTR
MOV BUF_SEC_L,A
RET
;========================================================
INC_MIN:
INC MIN ; 分钟加1
MOV A,MIN ;
SETB C
SUBB A,#59
JC UPDATE_MIN ; 如果分钟等于60,则分清0,小时加1
CLR A ;
MOV MIN,A
LCALL INC_HOUR ; 小时加1
UPDATE_MIN: ; 更新分显示缓冲区
MOV A,MIN
MOV B,#10
DIV AB ; A = MIN / 10
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR
MOV BUF_MIN_H,A ; 更新分十位
MOV A,MIN
MOV B,#10
DIV AB
MOV A,B ; A = MIN % 10
MOVC A,@A+DPTR
MOV BUF_MIN_L,A ; 更新分个位
RET
;===========================================================
INC_HOUR:
INC HOUR ; 小时加1
MOV A,HOUR
SETB C
SUBB A,#24
JC UPDATE_HOUR ; 如果小时等于24,则小时清0
CLR A
MOV HOUR,A ; 小时清0
UPDATE_HOUR:
MOV A,HOUR
SETB C
SUBB A,#9
JC UPDATE_HOUR1 ; 如果小时小于10,则十位0不显示
MOV A,HOUR
MOV B,#10
DIV AB
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR ;
MOV BUF_HOUR_H,A
SJMP UPDATE_HOUR2
UPDATE_HOUR1:
MOV BUF_HOUR_H,#0FFH
UPDATE_HOUR2:
MOV A,HOUR
MOV B,#10
DIV AB
MOV A,B
MOV DPTR,#DIS_CODE
MOVC A,@A+DPTR
MOV BUF_HOUR_L,A
RET
;=================================================
DELAYMS:
; 延时子程序
; 传入参数:R7 --- 延时值(MS)
; 返回值:无
MOV A,R7
JZ END_DLYMS
DLY_LP1:
MOV R6,#185
DLY_LP2:
NOP
NOP
NOP
DJNZ R6,DLY_LP2
DJNZ R7,DLY_LP1
END_DLYMS:
RET
; END OF DELAYMS
;======================================================
DIS_CODE:
DB 0C0H
DB 0F9H
DB 0A4H
DB 0B0H
DB 099H
DB 092H
DB 082H
DB 0F8H
DB 080H
DB 090H
DB 0FFH
END
=========================
源程序(C语言)
* 描述: *
* 简易电子时钟,LED数码管显示 *
* K1---时调整 *
* K2---分调整 *
* *
* 上电时初始化显示: 12-00-00 *
* *
* * **** **** **** **** **** *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * **** ****** * * * * ****** * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * **** **** **** **** **** *
* *
* *
#include
#include
unsigned char data dis_digit;
unsigned char key_s, key_v;
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
unsigned char data dis_buf[8];
unsigned char data dis_index;
unsigned char hour,min,sec;
unsigned char sec100;
sbit K1 = P1^4;
sbit K2 = P1^5;
bit scan_key();
void proc_key();
void inc_sec();
void inc_min();
void inc_hour();
void display();
void delayms(unsigned char ms);
void main(void)
{
P0 = 0xff;
P2 = 0xff;
TMOD = 0x11; // 定时器0, 1工作模式1, 16位定时方式
TH1 = 0xdc;
TL1 = 0;
TH0 = 0xFC;
TL0 = 0x17;
hour = 12;
min = 00;
sec = 00;
sec100 = 0;
dis_buf[0] = dis_code[hour / 10]; // 时十位
dis_buf[1] = dis_code[hour % 10]; // 时个位
dis_buf[3] = dis_code[min / 10]; // 分十位
dis_buf[4] = dis_code[min % 10]; // 分个位
dis_buf[6] = dis_code[sec / 10]; // 秒十位
dis_buf[7] = dis_code[sec % 10]; // 秒个位
dis_buf[2] = 0xbf; // 显示"-"
dis_buf[5] = 0xbf; // 显示"-"
dis_digit = 0xfe;
dis_index = 0;
TCON = 0x01;
IE = 0x8a; // 使能timer0,1 中断
TR0 = 1;
TR1 = 1;
key_v = 0x03;
while(1)
{
if(scan_key())
{
delayms(10);
if(scan_key())
{
key_v = key_s;
proc_key();
}
}
}
}
bit scan_key()
{
key_s = 0x00;
key_s |= K2;
key_s <<= 1;
key_s |= K1;
return(key_s ^ key_v);
}
void proc_key()
{
EA = 0;
if((key_v & 0x01) == 0) // K1
{
inc_hour();
}
else if((key_v & 0x02) == 0) // K2
{
min++;
if(min > 59)
{
min = 0;
}
dis_buf[3] = dis_code[min / 10]; // 分十位
dis_buf[4] = dis_code[min % 10]; // 分个位
}
EA = 1;
}
void timer0() interrupt 1
// 定时器0中断服务程序, 用于数码管的动态扫描
// dis_index --- 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量
// dis_digit --- 位选通值, 传送到P2口用于选通当前数码管的数值, 如等于0xfe时,
// 选通P2.0口数码管
// dis_buf --- 显于缓冲区基地址
{
TH0 = 0xFC;
TL0 = 0x17;
P2 = 0xff; // 先关闭所有数码管
P0 = dis_buf[dis_index]; // 显示代码传送到P0口
P2 = dis_digit; //
dis_digit = _crol_(dis_digit,1); // 位选通值左移, 下次中断时选通下一位数码管
dis_index++; //
dis_index &= 0x07; // 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描
}
void timer1() interrupt 3
{
TH1 = 0xdc;
sec100++;
if(sec100 >= 100)
{
sec100 = 0;
inc_sec();
}
}
void inc_sec()
{
sec++;
if(sec > 59)
{
sec = 0;
inc_min();
}
dis_buf[6] = dis_code[sec / 10]; // 秒十位
dis_buf[7] = dis_code[sec % 10]; // 秒个位
}
void inc_min()
{
min++;
if(min > 59)
{
min = 0;
inc_hour();
}
dis_buf[3] = dis_code[min / 10]; // 分十位
dis_buf[4] = dis_code[min % 10]; // 分个位
}
void inc_hour()
{
hour++;
if(hour > 23)
{
hour = 0;
}
if(hour > 9)
dis_buf[0] = dis_code[hour / 10]; // 时十位
else
dis_buf[0] = 0xff; // 当小时的十位为0时不显示
dis_buf[1] = dis_code[hour % 10]; // 时个位
}
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
ME300实例-LED数码管显示电子钟(汇编、C语言)
- ME300实例(5011)
相关推荐
51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)
unsigned int/*七段共阴管显示定义*/ //此表为 LED 的字模, 共阴数码管 0-9- 更多精彩内容请点击https://www.elecfans.com/soft/33/2012/20120509270872.html下载观看~`
2014-11-12 15:33:41
51单片机输入,数码管显示数字的C语言程序
`求STC89C51单片机键盘输入,在2个4位七段数码管上显示8个数字的C语言程序,如输入后数码管显示 1162026。本人小菜鸟一枚,目前还不会编程,所以求大侠给一份完整的程序代码参考看看,不胜感激!我的单片机是这样子的`
2013-06-12 00:05:35
6位LED数码管显示Proteus仿真文件下载
开机显示PC机时分秒的时钟1302 Proteus仿真文件 实例92 开机显示PC机时分秒的时钟1302(LED数码管显示) 摘自张志良编著《单片机实验实训100例》 ISBN
2018-07-19 00:51:16
C51单片机学习笔记(五)——数码管的静态显示和动态显示 精选资料推荐
C51单片机学习笔记(五)——数码管的静态显示和动态显示文章目录C51单片机学习笔记(五)——数码管的静态显示和动态显示1.数码管的显示原理1.数码管的显示原理数码管有一位和多位一体两类,它是由8个
2021-07-14 06:34:05
C语言-仿真实现四位数码管计数器
本帖最后由 luna 于 2011-3-3 11:29 编辑
在三维提高班第一课中我们学习了C语言的基础及快速实现单片机C语言编程方法,硬件方面学习了LED闪烁原理、单位数码管数据显示
2011-03-02 12:04:46
C语言实现数码管动态扫描
数码管作为单片机系统人机交互界面成本最底最便捷的输出设备使用非常广泛,为了显示更多的信息,市场上有单位、双位、以及四位的数码管。当然了更多开发需要也可以通过平凑设计更多位数的数码管。通过前面课程
2011-03-04 16:03:04
LED数码管
LED数码管是目前最常见的一种MI800字符显示器件。LED数码管包括数字管和符号管等类型。其中的数字管由七段发光条组成一个“8”字形,称为7段LED数码管。只要按照规定使某些笔段上的发光二极管发光
2013-01-04 01:35:00
LED数码管显示电子钟设计
1、课题内容:设计一种基于AT89S52单片机的数码管显示电子时钟,要求如下:(1)、能正确显示时间,时钟由数码管显示,显示格式为:XX小时XX分XX秒。(2)、时间能够由按键调整,误差小于1S
2013-05-31 08:03:04
LED数码管分类和特点
字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。 LED数码管分类 1、按控制方式分:分为内控方式(内部有单片机,通电自动变色)和外控方式(需要外接控制器
2021-02-20 15:16:59
LED数码管动态显示实验
一、简介二、图解三、数码管动态显示实验一、简介LED数码管是由多个发光二极管封装在一起组成 “8” 字型的器件,引线已在内部连接完成,只需引出它们的各个笔划、公共电极。LED数码管常用的段数一般为7
2021-12-02 06:55:39
LED数码管循环移位显示如何去完成呢
单片机系统基础实验——LED数码管循环移位显示第一部分 前言第二部分 数码管的原理构成LED数码管的结构LED数码管的工作原理LED数码管的字形编码LED数码管的控制方式第三部分 设计项目
2021-11-18 06:38:03
LED数码管驱动芯片选型指南
本帖最后由 TM2008 于 2014-12-17 16:21 编辑
天微电子的LED数码管面板显示 驱动系列IC主要应用于段式和点阵式LED的显示驱动产品,应用范围:电磁炉、空调、微波炉
2014-12-17 16:20:11
LED显示器(数码管)简介
文章目录一、LED显示器(数码管)1数码管显示结构2 数码管显示原理3 数码管的动态显示驱动4 认识一个芯片74HC573二、键盘1 认识一下各种按键2 矩阵键盘扫描原理3 认识P3引脚的新功能4
2021-12-10 06:48:12
数码管显示原理及应用
单片机学习----数码管显示原理及应用代码规划内容:一、数码管显示原理二、如何用万用表检测数码管的引脚排列三、数码管与单片机的电气连接四、数码管的静态显示和动态显示五、数码管的应用代码规划一、数码管
2021-11-17 08:32:05
数码管显示原理是什么
1数码管显示原理我们先来看几个数码管的图片, 左图为单位数码管、中图为双位数码管、右图为四位数码管, 另外还有右下角不带点的数码管,最右图还有“米”字数码管等。不管将几位数码管连在一起,数码管的显示
2021-12-08 07:47:12
数码管显示的原理
这一节学的还是挺久的,180分的视频!其中的中断,定时需要好好理解,不是很明白。三、数码管显示的原理、数码管的静态显示....1. 引脚第二功能....2. 数码管显示知识....3. 中断系统4. 定时器....三、数码管显示的原理、数码管的静态显示1. 引脚第二功能1.1TXD...
2022-01-24 06:12:08
数码管的基本知识
文章目录基本知识数码管应用范围单片机常用显示器LED显示器显示结构LED数码管接法共阳数码管码表共阴数码管码表注意静态显示原理优点缺点基本知识数码管也称作辉光管,是一种可以显示数字和其他信息
2021-07-19 09:33:01
数码管的结构和功能,如何使用数码管
数码管显示一、实验目的:1、了解数码管的结构和功能;2、学会如何区分三极管的三个引脚并正确使用三极管;‘3、学会利用“星星点灯”实验原理来控制数码管发光,从而为后续试验(制作电子钟,电压表,温度计
2022-01-10 07:42:55
数码管静态显示原理
数码管显示数码管静态显示原理显示器及其接口数码管动态显示原理74HC138译码器代码实现数码管静态显示原理显示器及其接口单片机系统中常用的显示器有:发光二极管LED(Light Emitting
2021-11-22 08:38:10
STM32 – 数码管显示简介
STM32 – 数码管显示简介1.硬件部分STM32F103C8T6 最小系统板一位共阴数码管2.软件部分Keil软件编程 数码管码表硬件部分数码管简介数码管,也称作辉光管,是一种可以显示数字和其他
2021-08-04 08:51:18
TM1640驱动1.2寸数码管微亮
我是一个单片机学习新手,最近在制作一个电子钟,目前在显示这块遇到了问题,一共是15位0.56寸共阴数码管、2位1.2寸共阴数码管和4位一寸共阴数码管,共使用了两片TM1640,一片负责15位0.56
2017-04-14 10:01:36
proteus仿真8只数码管显示多个不同字符
名称:8 只数码管显示多个不同字符 软件:proteus keil 4 语言:C 语言 使用说明:本例中,通过proteus 仿真名称: 8 只数码管动态显示多个不同字符数码管动态扫描
2023-04-14 17:29:57
一个60秒的LED旋转显示电子钟
设计内容:用单片机作为主控器件,控制数码管LED彩灯,蜂鸣器等设计一电子钟;用5只LED数码管输出显示时,“-”和分;用60只LED发光二极管旋转显示,模拟“秒针”的行走;可通过控制按键设计闹钟功能
2012-12-03 18:33:42
七段数码管显示电子钟设计
状态监控16、七段数码管显示电子钟17、闪烁灯18、电子秒表19、跑马灯20、函数发生器21、环境温度采集系统[直接添加扣+3098024513]...
2021-09-06 07:46:50
什么是数码管LED
一.什么是数码管LED数码管(LED Segment Displays)是由8个发光二极管构成,并按照一定的图形及排列封转在一起的显示器件。其中7个LED构成7笔字形,1个LED构成小数点(固有
2021-12-08 08:19:08
什么是数码管静态显示
注意:本实验采用清翔电子51单片机开发板(同样的51单片机开发板,不同型号,内部设计会有一定差异,程序不一定适用)1、数码管知识a图为一个数码管每段对应的字母b图为共阴极数码管(他们的阴极都相连)c
2021-07-06 07:28:46
什么是数码管?静态数码管的驱动介绍
(1位)、联排(2位、4位、8位)2、工作原理(1)亮灭原理(其实就是内部的照明LED)(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字。3、共阳极和共阴极数码管(1)驱动方法的差异。必须清楚一个数码管内部的8颗LED是独立
2022-02-24 06:21:19
使用51单片机实现数码管的显示
数码管理解为数码管是由8个LED灯组成,并且这8个LED灯按照一定顺序排列且具有一个公共端。根据这样的结构,我们可以像点亮LED灯一样,将数码管点亮并显示所需内容。数码管又分为共阴和共阳,在这里
2021-11-22 07:11:27
关于电子钟新的案例
的实时时钟我们将主要介绍扫描频率可改变的电子钟扫描频率可改变的电子钟实验现象数字钟是通过计数模拟时钟,将计数值转换成时间形式,以格式时-分-秒在LED数码管上进行显示,并通过按键调...
2021-12-07 08:48:07
分享一个基本的数码管动态显示案例
稳定地显示各自的图案。在上个链接的文章,即介绍模块化设计的文章中,有一个实例是利用拨码开关手动地控制数码管的位选。而在实现数码管动态显示时,这个轮流选通的过程其实也是类似的,不过该过程需要电路能
2022-08-01 15:21:30
动态数码管与静态数码管介绍
一.动态数码管1.数码管介绍我的单片机上的显示器是液晶LED,液晶LED显示器可以分为:段显示(7段)和点阵(8*8)数码管静态显示是段显示,也就是7段加一个点,看上去像一个8字(如图)1-F的显示
2022-01-24 06:32:40
单片机C语言程序设计实例相关资料推荐
交通灯06 单只数码管循环显示0-907 8只数码管滚动显示单个数字08 8只数码管显示多个不同字符09 8只数码管闪烁显示10 8只数码管滚动显示数字串11 K1-K4 控制LED移位12 K1-K4 键状态显示13 K1-K4 分组控制LED14 K1-K4 控制数码管移位显
2022-01-24 08:21:30
单片机数码管显示实验报告
单片机数码管显示实验报告,一、 实验目的(一) 掌握单片机 I/O 口的输出控制;(二) 熟悉开发板上单片机 I/O 口与数码管的电路连接;(三) 掌握 keil C 软件的使用;(四) 掌握数码管
2021-07-21 09:12:23
原创 AT89C2051数码管1.8寸电子钟
` 本帖最后由 太子的空间 于 2016-12-26 20:34 编辑
家里的指针式电子钟坏了,本想上网买一个新的电子钟万年历,可是看了一圈没有一个看中的,因为大多数数码管显示的数字太小,远了
2016-12-26 20:26:44
基于51+DS18B20和数码管的显示程序,要C语言的!谢谢了!
想看看基于51+DS18B20+数码管的数字温度计的显示部分的程序,最好是C语言的,附带上汇编的也行,谢谢各位大神了啊!
2013-02-25 11:12:17
基于51程序的数码管显示
第三个51程序:数码管显示数码管是生活中常见的电子元件之一,它其实是由8个led连接而成。数码管又可以分为共阴极与共阳极之分。本实验采用共阴极为例了解数码管之后,就可以开始今天的实验了。打开
2021-07-14 06:17:20
基于labview的数码管控件及实例
关于labview"数码管"控件的使用,在此我发一个简单的例子具体说明其使用方法.作为一个通用控件LED文件夹下的东西只是被调用的子程序.具体的数据接口示例中有注释.谢谢大家的支持和建议.基于labview的数码管控件及实例[hide] [/hide]
2011-11-22 10:38:20
如何读取数码管显示的字母?
请问各位大佬,我有一个电路板,具有1个80C51的单片机,然后电路板上有6个LED数码管,我想读出其中1个数码管显示的字母,有什么好的方法?
2023-05-04 13:33:14
怎样让按键按下后,数码管能显示时钟芯片的时间???
现在在做一个数码管电子钟。但在按键这一块死掉了。我 想让功能键按下后,数码管显示按下之前的时间,但由于是动态显示,所以,这个老是实现不了,大神们有什么好的建议呢?真心求解答!!!我快崩溃啦{:4_106:}
2013-09-01 22:44:00
急需STC89C51单片机8位共阴极数码管动态显示01234567的汇编语言程序
我是51单片机新手,单片机是STC89C51单片机,8位共阴极数码管,急需数码管动态显示01234567的汇编语言程序,请高手帮助
2022-01-13 21:13:05
新手请教大神关于51单片机数码管闪烁程序
51单片机C语言程序想要控制四个数码管同时亮,并且其中一个闪烁并可通过键盘调节,通过按键使可调节的位(也就是闪烁的位)移动到下一位,类似于电子钟的程序。新手不知道应该把延时加在动态显示的什么位置。
2017-07-13 14:51:59
求AT89C51动态显示共阳极数码管的汇编程序
AT89C51动态显示共阳极数码管的汇编程序如何去编写?如何对AT89C51动态显示共阳极数码管的汇编程序进行仿真?
2021-07-15 06:59:39
设计内容:用单片机作为主控器件,控制数码管LED彩灯,蜂鸣器等设计一电子钟
设计内容:用单片机作为主控器件,控制数码管LED彩灯,蜂鸣器等设计一电子钟;用5只LED数码管输出显示时,“-”和分;用60只LED发光二极管旋转显示,模拟“秒针”的行走;可通过控制按键设计闹钟功能,设计校时***的仿真图
2016-10-23 22:27:18
采用AT89C2051的6位电子钟相关资料下载
9015即可。数码管最好采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度。
2021-05-14 06:27:11
数码管动态扫描原理
在ME500B、ME300B开发系统中,均采用了8位数码管动态扫描显示(见图1)。它将所有数码管的8个段线相应地并接在一起,并接到 AT89S52的P0口,由P0口控制字段输出。而各位数码管的共
2008-05-22 09:24:48125
ME300/ME500单片机开发系统编程控制软件
ME300/ME500开发系统编程控制软件:本软件可以同时支持伟纳ME300系列和ME500系列单片机开发系统(板)。伟纳ME系列单片机开发系统均具有实验仪、编程器、仿真器、ISP下载线四种功能
2010-04-20 19:15:5390
LED显示电脑电子钟电路原理图
本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、日及时间选用的是1.2寸共阳数码管,星期选用的是2.3寸数码管,温度选用的是
2012-07-17 10:05:128860
通过FPGA DIY开发板实现数码管电子钟功能
使用VHDL语言编写的数码管电子钟,数码管动态扫描,有三个调时按键,按一次个位+1,未做按键消抖处理,走时准确。
2018-06-20 14:11:003491
按键使数码管循环显示从0到9 (51单片机+汇编语言+Proteus仿真)
按键使数码管循环显示从0到9(51单片机+汇编语言+Proteus仿真)具体功能:显示按第一次数码管变亮显示0,然后每按一次数码管显示的数字加1,加到9后从0重新开始。汇编源代码
2021-11-22 20:51:0295
8段LED数码管显示(汇编语言)
目录一.常用指令1.单片机中LED数码管显示1).LED共阳极段码表一.常用指令1.单片机中LED数码管显示1).LED共阳极段码表不带小数点的数字以及字母:DB 0C0H, 0F9H, 0A4H
2021-12-31 19:31:396
评论
查看更多