Anh em nào có mạch hiển thì giờ bằng LED 7 đoạn không ( mất điện vẫn còn lưu giờ ) cho em xin 1 cái ( mạnh dễ đọc dễ hiểu tí nha ) . Cảm Ơn
Thông báo
Collapse
No announcement yet.
Led 7 đoạn
Collapse
X
-
Chú em muốn làm cái đồng hồ có lưu thời gian khi mất điện (RTC Clock) thì bắt buộc phải lập trình thôi.
Lập trình cho hiện thị trên 7-Seg là đơn gian nhất.
Ngoài ra còn có hiển thị trên LCD, Quang báo ...
Mạch đó có dư ma trận phím.
Ngoài ra các phần khác là bắt buộc
Mới học lớp 9 mà làm cái này có vẻ khó khăn đây.
Phải có đầy đủ dụng cụ, phụ tùng mới làm được.
<== Chữ Yahoo màu đỏ to tướng kìa
Comment
-
Nguyên văn bởi eyered3xxx Xem bài viếtAnh em nào có mạch hiển thì giờ bằng LED 7 đoạn không ( mất điện vẫn còn lưu giờ ) cho em xin 1 cái ( mạnh dễ đọc dễ hiểu tí nha ) . Cảm Ơn
bạn thử coi cái mạch này nhé cũng khá rõ ràng đấy
Code cho bạn
;************************************************* ******************************
;* *
;* Program: LED-DCF-v25a.asm *
;* For PIC16F876 and 6x Common Anode 7-Segment LED displays *
;* DCF77 routines initially based on Yves Heilig's DCF77 routines *
;* Added DD,MM,YY DCF77 decoding *
;* Clock/Calendar routines based on Jaakko Ala-Paavola's Clock routines *
;* *
;* DCF77 LED Clock *
;* Version 2.5a - 28/09/2005 *
;* *
;* TO DO: *
;* - Automatic Time/Date routine? *
;* *
;************************************************* ******************************
;************************************************* ******************************
;
; Xtal=4.096MHz
; Timer0 Prescaler=8
; ISR=every 2.0msec
; Interrupt on Timer0 overflow
;
;************************************************* ******************************
LIST p=16F876 ; PIC16F876 is the target processor
#include "P16F876.INC" ; Include header file
RADIX HEX
EXPAND
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _LVP_OFF & _BODEN_OFF & _PWRTE_ON
;************************************************* ******************************
;* - Declarations - *
;************************************************* ******************************
; DCF77 Variables
SEC_DUR EQU 0x30 ; DCF second duration, used to test absence of 59th sec
BIT_DUR EQU 0x31 ; DCF bit duration
BIT_NBR EQU 0x32 ; DCF bit number (0 to 58)
PARITY EQU 0x33 ; Even Parity check bit
MINDCF EQU 0x34 ; DCF Minutes in packed BCD format: 10's,1's
HOURDCF EQU 0x35 ; DCF Hours in packed BCD format: 10's,1's
DAYDCF EQU 0x36 ; DCF Days in packed BCD format: 10's,1's
MONTHDCF EQU 0x37 ; DCF Months in packed BCD format: 10's,1's
YEARDCF EQU 0x38 ; DCF Years in packed BCD format: 10's,1's
; Flag bytes
FLAG1 EQU 0x39 ; 1st Flag byte
FLAG2 EQU 0x3A ; 2nd Flag byte
FLAG3 EQU 0x3B ; 3rd Flag byte
FLAG4 EQU 0x3C ; 4th Flag byte
; BIN2BCD Conversion Variables
BIN EQU 0x3D ; Temp register for BIN to BCD conversion
BIN1 EQU 0x3E ; Temp register for BIN to BCD conversion
BIN10 EQU 0x3F ; Temp register for BIN to BCD conversion
; BCD Clock Variables for display output
SEC1 EQU 0x40 ; Contains 1's of Seconds
SEC10 EQU 0x41 ; Contains 10's of Seconds
MIN1 EQU 0x42 ; Contains 1's of Minutes
MIN10 EQU 0x43 ; Contains 10's of Minutes
HOUR1 EQU 0x44 ; Contains 1's of Hours
HOUR10 EQU 0x45 ; Contains 10's of Hours
DAY1 EQU 0x46 ; Contains 1's of Days
DAY10 EQU 0x47 ; Contains 10's of Days
MONTH1 EQU 0x48 ; Contains 1's of Months
MONTH10 EQU 0x49 ; Contains 10's of Minutes
YEAR1 EQU 0x4A ; Contains 1's of Years
YEAR10 EQU 0x4B ; Contains 10's of Years
; EQU 0x4C ;
LDR EQU 0x4D ; Contains result from A/D conversion
PWM EQU 0x4E ; Value to put in CCPR1L register for PWM function
; EQU 0x4F ;
; Display Variables
D1 EQU 0x50 ; Contains BCD value of Digit 1 to display (most right)
D2 EQU 0x51 ; Contains BCD value of Digit 2 to display
D3 EQU 0x52 ; Contains BCD value of Digit 3 to display
D4 EQU 0x53 ; Contains BCD value of Digit 4 to display
D5 EQU 0x54 ; Contains BCD value of Digit 5 to display
D6 EQU 0x55 ; Contains BCD value of Digit 6 to display (most left)
DIGIT EQU 0x59 ; Holds digit number to display (1 to 6)
; Counter Variables
CNT1 EQU 0x5A ; Counter for 0.5sec Beat timing delay
CNT2 EQU 0x5B ; Counter for Scrolling Routine delay
CNT3 EQU 0x5C ; Counter for Date display timing delay
CNT4 EQU 0x5D ; Counter for hourly Gong timing delay
CTR1 EQU 0x5E ; Delay counter for Main routine
CTR2 EQU 0x5F ; Delay counter for Main routine
; Clock/Calendar Variables
MSEC EQU 0x60 ; 4 millisecs counter (*XD=1sec)
SEC EQU 0x61 ; 24H-Clock Seconds
MIN EQU 0x62 ; 24H-Clock Minutes
HOUR EQU 0x63 ; 24H-Clock Hours
DAY EQU 0x64 ; Calendar Days
MONTH EQU 0x65 ; Calendar Months
YEAR EQU 0x66 ; Calendar Years
; Timer Variables
TIME_ON_H EQU 0x67 ; Time ON Hours
TIME_ON_M EQU 0x68 ; Time ON Minutes
TIME_OFF_H EQU 0x69 ; Time OFF Hours
TIME_OFF_M EQU 0x6A ; Time OFF Minutes
AUX1 EQU 0x6B ; Used for 16-bit comparisons
AUX2 EQU 0x6C ; Used for 16-bit comparisons
; Conversion Variables
BCD EQU 0x6D ; Temp storage for BCD to BIN conversion
BCD1 EQU 0x6E ; Temp storage for BCD to BIN conversion
BCD10 EQU 0x6F ; Temp storage for BCD to BIN conversion
; Common Variables
W_TEMP EQU 0x70 ; W Register storage during Interrupt
STATUS_TEMP EQU 0x71 ; STATUS Register storage during Interrupt
PCLATH_TEMP EQU 0x72 ; PCLATH Register storage during Interrupt
TEMP EQU 0x73 ; Temp storage
OFFSET EQU 0x74 ; Temp storage for Table reads
; Constants (for 4.096MHZ XTAL)
XD EQU D'250' ; Xtal divider = D'250' for 4.096MHz Xtal
; FLAG1 bits assignments
M0 EQU 0 ; Indicates start of new minute for Time Check
S0 EQU 1 ; Indicates start of new minute for DCF_OK
BEATF EQU 2 ; Colon Beat indicator update flag (for 1Hz Beat delay)
TIMERF EQU 3 ; Time Check status flag (0=OFF, 1=ON)
TDF EQU 4 ; Display Time/Date bit (0=Time, 1=Date)
PBF EQU 5 ; Indicates Push button press
TZ0F EQU 6 ; Indicates Time Zone ; TZ1F/TZ0F=11=CET
TZ1F EQU 7 ; Indicates Time Zone ; TZ1F/TZ0F=01=CET-1H
; TZ1F/TZ0F=10=CET+1H
; FLAG2 bits assignments
ISR EQU 0 ; Flag for DCF77 and Clock update in ISR
RXD EQU 1 ; Indicates reception of a DCF bit (0 or 1)
DCF_BIT EQU 2 ; Value of actual received DCF bit
S59 EQU 3 ; Indicates missing 59th pulse of DCF timeframe
CET EQU 4 ; CET Time Zone flag (0= not CET; 1= CET)
DCF_ERR EQU 5 ; DCF Error flag (=0 when Startbit and Parity are OK)
DCF_OK EQU 6 ; DCF frame OK status indicator flag
DCF_ON EQU 7 ; Indicates presence of DCF signal (checked every sec)
; FLAG3 bits assignments
MINF EQU 0 ; Indicates reception of DCF Minute bits
HOURF EQU 1 ; Indicates reception of DCF Hour bits
DAYF EQU 2 ; Indicates reception of DCF Day bits
MONTHF EQU 3 ; Indicates reception of DCF Month bits
YEARF EQU 4 ; Indicates reception of DCF Year bits
DOWF EQU 5 ; Indicates reception of DCF DOW bits
LYF EQU 6 ; Leap year flag
SCROLL EQU 7 ; Indicates change of state of Pushbutton for Scroll routine
; FLAG4 bits assignments
AUTOF EQU 0 ; Automatic Time/Date flag (0=ON, 1=OFF)
GONGF EQU 1 ; Hourly Gong flag (1=ON, 0=OFF)
; PORTA assignments
LDR_IN EQU 0 ; AN0 bit: LDR Analog input
TD EQU 1 ; RA1 bit: "Time/Date" Push Button input
TZ0 EQU 2 ; RA2 bit: "Time Zone0" Jumper input
TZ1 EQU 3 ; RA3 bit: "Time Zone1" Jumper input
DCF_IN EQU 4 ; RA4 bit: DCF77 signal input
AUTOTD EQU 5 ; RA5 bit: Automatic Time/Date switch
; PORTB assignments
RB0 EQU 0 ; RB0 bit: 4543 D0 bit output
RB1 EQU 1 ; RB1 bit: 4543 D1 bit output
RB2 EQU 2 ; RB2 bit: 4543 D2 bit output
RB3 EQU 3 ; RB3 bit: 4543 D3 bit output
SA_LED EQU 4 ; RB4 bit: Free-running & no DCF signal LED output
DCF_LED EQU 5 ; RB5 bit: DCF77 Beat LED output
BEAT_LED EQU 6 ; RB6 bit: 0.5sec Colon Beat LEDs output
LD EQU 7 ; RB7 bit: Blank output to 4543 LD input
; PORTC assignments
ERR_LED EQU 0 ; RC0 bit: DCF77 Error LED output
AM_PM EQU 1 ; RC2 bit: AM/PM Indicator output
CCP1 EQU 2 ; RC2 bit: PWM output to 74HCT238 E3 input
GONG EQU 3 ; RC3 bit: Gong output to SAE800
RC4 EQU 4 ; RC4 bit: 74HCT238 A0 bit output
RC5 EQU 5 ; RC5 bit: 74HCT238 A1 bit output
RC6 EQU 6 ; RC6 bit: 74HCT238 A2 bit output
OK_LED EQU 7 ; RC7 bit: DCF Frame OK LED output
Comment
-
Nguyên văn bởi eyered3xxx Xem bài viếtmà cái code gì là sao thế
IC đầu tiên là trống rỗng ấy, mình nạp câu lệnh cho nó chạy hiển thị giờ thì nó mới làm việc được mà .
Để tuần sau mình làm 1 cái đồng hồ LED rùi mình update ảnh lên cho bạn coi và hướng dẫn cách làm nhé !!
Comment
Bài viết mới nhất
Collapse
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
hôm nay, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment