ساعت دیجیتال توسط 8051 و اسمبلی تاریخ : چهارشنبه، 3 شهريور ماه ، 1389
موضوع : مدارات ميكروكنترولر


قطعات مورد نياز :
  •  8عدد اي سي 4543
  • 6 عدد سون سگمنت آند مشترك
  •  1ميكرو 8051
  •  8 عدد مقاومت 10K
  •  بورد سوراخ دار

در اين پروژه ما قصد داريم يك مدار ساعت ديجيتالي با دقت بالا و دكمه هاي تنظيم دقيقه و ساعت ببنديم.
در نمونه شبيه سازي شده ما مي توانيم از سون سگمنت هاي BCD(ورودي BCD ) استفاده كنيم اما در محيط واقعي چنين 7SEGMENT هايي در بازار وجود ندارد.

نقشه مدار ساعت و تقویم توسط 8051 و اسمبلی



pre.asmcode { background: #FFFFFF; color: #000000; border:2px dashed #0000FF; font: 10pt; font-family: Lucida Console , DejaVu Sans Mono; direction: ltr; } .asm01{ color: #007F00; } .asm02{ color: #007F7F; } .asm03{ color: #7F007F; } .asm05{ color: #7080FF; } .asm06{ color: #0000EF; } .asm07{ color: #0000EF; font-weight: bold; } .asm08{ color: #46AA03; font-weight: bold; } .asm09{ color: #0000EF; } .asm10{ color: #0000EF; } .asm12{ color: #7F007F; } .asm13{ background: #E0C0E0; } .asm14{ color: #B00040; } .asm32{ } .asm34{ color: #0000EE; font-weight: bold; } .asm35{ color: #EE0000; font-weight: bold; } .asm36{ color: #808080; } به همين دليل ما از اي سي 4543 براي تبديل كد ارسالي از ميكرو (BCD ) به كد قابل فهم براي سون سگمنت استفاده مي كنيم . اين اي سي از 16 پايه تشكيل شده است.

نمای پایه های آی سی 4543

از پايه 2 تا 5 براي ورودي و از پايه 9 تا 15 براي خروجي استفاده شده است.

نقشه شماتیک مدار ساعت دیجیتال توسط میکرو 8051 و اسمبلی

همانطور كه در شكل بالا مشاهده مي كنيد اين مدار با اي سي 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,#00H ALI: 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 A DDD: CJNE A,#1AH,EEE DA A EEE: CJNE A,#2AH,FFF DA A FFF: CJNE A,#3AH,GGG DA A GGG: CJNE A,#4AH,HHH DA A HHH: DJNZ R7,ALI DAGH: INC R6 MOV A,R6 CJNE A,#0AH,III DA A III: CJNE A,#1AH,JJJ DA A JJJ: CJNE A,#2AH,KKK DA A KKK: CJNE A,#3AH,LLL DA A LLL: CJNE A,#4AH,MMM DA A MMM: CJNE A,#5AH,NNN DA A NNN: MOV R6,A MOV P2,R6 CJNE A,#60H,AAA MOV R6,#00H MOV P2,R6 SAAT: INC R5 MOV A,R5 CJNE A,#0AH,OOO DA A OOO: CJNE A,#1AH,PPP DA A PPP: MOV R5,A MOV P3,R5 CJNE R5,#24H,AAA MOV R5,#00H MOV P3,R5 JMP AAA SAAT1: DEC R5 MOV A,R5 CJNE A,#1FH,OOOO MOV A,#19H OOOO: CJNE A,#0FH,PPPP MOV A,#09H PPPP: CJNE A,#0FFH,SSSS MOV A,#24H SSSS: JMP PPP DAGH1: DEC R6 MOV A,R6 CJNE A,#5FH,IIII MOV A,#59H IIII: CJNE A,#4FH,JJJJ MOV A,#49H JJJJ: CJNE A,#3FH,KKKK MOV A,#39H KKKK: CJNE A,#2FH,LLLL MOV A,#29H LLLL: CJNE A,#1FH,MMMM MOV A,#19H MMMM: CJNE A,#0FH,NNNN MOV A,#09H NNNN: CJNE A,#0FFH,QQQQ MOV A,#59H QQQQ: JMP NNN DELAY: MOV R4,#4D LEEP3: MOV R3,#199D LEEP2: MOV R2,#250D LEEP1: NOP NOP DJNZ R2,LEEP1 DJNZ R3,LEEP2 DJNZ R4,LEEP3 RET END جهت دانلود نقشه و سورس برنامه به همراه توضیحات بیشتر از لینک زیر استفاده کنید.

http://www.hlachini.com/download-file-19.html

همچنین برای تماس با آقای علیرضا نخعی از ایمیل ar_nakhaee2000[at]yahoo[dot]com استفاده کنید.


ساعت دیجیتال توسط 8051 و اسمبلی clock 7segment نخعی



منبع این مقاله : سايت مهندس لاچيني | پروژه ها و آموزش الكترونيك و تابلوروان
http://www.HLachini.elewiz.com

آدرس این مطلب :
http://www.HLachini.elewiz.com/modules.php?name=News&file=article&sid=46