ساعت دیجیتال توسط 8051 و اسمبلی
پنجشنبه, ۲۶ آبان ۱۳۹۰، ۰۲:۰۸ ب.ظ
قطعات مورد نیاز : 8عدد ای سی 4543 
  6 عدد سون سگمنت آند مشترک 1میکرو 8051 8 عدد مقاومت 10K بورد سوراخ دار 
 در این پروژه ما قصد داریم یک مدار ساعت 
 دیجیتالی با دقت بالا و دکمه های تنظیم دقیقه و ساعت ببندیم.
 در نمونه شبیه سازی شده ما می توانیم از سون سگمنت های BCD(ورودی BCD ) استفاده 
 کنیم اما در محیط واقعی چنین 7SEGMENT هایی در بازار وجود ندارد.
  
    
  
  
  
    
  
به همین دلیل ما از ای سی 4543 برای تبدیل کد ارسالی از میکرو (BCD ) به کد قابل 
فهم برای سون سگمنت استفاده می کنیم . این ای سی از 16 پایه تشکیل شده است.
  
  
از پایه 2 تا 5 برای ورودی و از پایه 9 تا 15 برای خروجی استفاده شده است.
  
همانطور که در شکل بالا مشاهده می کنید این مدار با ای سی 4543 بسته شده است 
البته هدف از این کار صرفه جویی در مصرف بیت پورت های خروجی می باشد اما می توان از 
7SEG های 2 تایی یا 4 تایی و یا 6 تایی هم استفاده کرد که البته به دلیل زیاد شدن 
خطوط برنامه و سخت تر شدن ان باعث خطاهای میلی ثانیه ای می شود که در استفاده دراز 
مدت از ساعت می توان مشاهده کرد . 
در این مدار ما از پورت صفر برای ثانیه و از پورت دو برای دقیقه و از پورت سه برای 
ساعت استفاده کردیم و با دو عدد دکمه (BUTTON ) ساعت (P1.0) و دقیقه (P1.1) را 
تنظیم می کنیم .
و برای کسانی که تاکنون بصورت سخت افزاری با میکرو 80C51 کار نکرده اند قابل ذکر 
است که برای راه اندازی میکرو پایه شماره 31 باید به VCC وصل شود و پایه 18 و 19 
باید به یک کریستال 12 مگاهرتز وصل شوند که هر پایه باید به یک خازن 30 پیکو فاراد 
وصل شود و سر دیگر خازن هم به زمین متصل می گردد. 
و همچنین برای استفاده از پورت صفر باید تک تک بیت ها به مقاومت10KΩ وصل شوند.
 
    ORG    0000H    MOV    P0,#00H    MOV    P1,#0FFH    MOV    P1,#00H    MOV    P2,#00H    MOV    P3,#00H    MOV    R0,#00H    MOV    R1,#00H    MOV    R2,#00H    MOV    R3,#00H    MOV    R4,#00H    MOV    R5,#00H    MOV    R6,#00H    MOV    R7,#00H    AAA:    MOV    R7,#60D    MOV    A,#00HALI:    MOV    P0,A    CALL    DELAY    JB    P1.0,DAGH    JB    P1.1,DAGH1    JB    P1.2,SAAT    JB    P1.3,SAAT1    INC    A    CJNE    A,#0AH,DDD    DA    ADDD:    CJNE    A,#1AH,EEE    DA    AEEE:    CJNE    A,#2AH,FFF    DA    AFFF:    CJNE    A,#3AH,GGG    DA    AGGG:    CJNE    A,#4AH,HHH    DA    A    HHH:    DJNZ    R7,ALIDAGH:    INC    R6    MOV    A,R6    CJNE    A,#0AH,III    DA    AIII:    CJNE    A,#1AH,JJJ    DA    AJJJ:    CJNE    A,#2AH,KKK    DA    AKKK:    CJNE    A,#3AH,LLL    DA    ALLL:    CJNE    A,#4AH,MMM    DA    AMMM:    CJNE    A,#5AH,NNN    DA    ANNN:    MOV    R6,A    MOV    P2,R6    CJNE    A,#60H,AAA    MOV    R6,#00H    MOV    P2,R6SAAT:    INC    R5    MOV    A,R5    CJNE    A,#0AH,OOO    DA    AOOO:    CJNE    A,#1AH,PPP    DA    APPP:    MOV    R5,A    MOV    P3,R5        CJNE    R5,#24H,AAA    MOV    R5,#00H    MOV    P3,R5        JMP    AAASAAT1:    DEC    R5    MOV    A,R5    CJNE    A,#1FH,OOOO    MOV    A,#19HOOOO:    CJNE    A,#0FH,PPPP    MOV    A,#09HPPPP:    CJNE    A,#0FFH,SSSS    MOV    A,#24HSSSS:    JMP    PPPDAGH1:    DEC    R6    MOV    A,R6    CJNE    A,#5FH,IIII    MOV    A,#59HIIII:    CJNE    A,#4FH,JJJJ    MOV    A,#49HJJJJ:    CJNE    A,#3FH,KKKK    MOV    A,#39HKKKK:    CJNE    A,#2FH,LLLL    MOV    A,#29HLLLL:    CJNE    A,#1FH,MMMM    MOV    A,#19HMMMM:    CJNE    A,#0FH,NNNN    MOV    A,#09HNNNN:    CJNE    A,#0FFH,QQQQ    MOV    A,#59HQQQQ:    JMP    NNNDELAY:    MOV    R4,#4DLEEP3:    MOV    R3,#199DLEEP2:    MOV    R2,#250DLEEP1:    NOP    NOP    DJNZ    R2,LEEP1    DJNZ    R3,LEEP2    DJNZ    R4,LEEP3    RET    END
    جهت دانلود نقشه و سورس برنامه به همراه توضیحات به اینجا بروید!
۹۰/۰۸/۲۶