演示圖片:
源程序
;*??描述:???????????????????????????????????????????????????????????????????????*
;*?????????簡易電子時鐘,數碼管顯示??????????????????????????????????????????????*
;*?????????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- 更多精彩內容請點擊http://www.nxhydt.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
評論
查看更多