Presentation is loading. Please wait.

Presentation is loading. Please wait.

نوشتن كد برنامه در AVR STUDIO. شروع برنامه قسمت داده :.DSEG.ORG 0X60.DEF TEMP,R16.EQU LENGTH,10.SET KEY_PORT,PORTC.STRING:.BYTE 5.

Similar presentations


Presentation on theme: "نوشتن كد برنامه در AVR STUDIO. شروع برنامه قسمت داده :.DSEG.ORG 0X60.DEF TEMP,R16.EQU LENGTH,10.SET KEY_PORT,PORTC.STRING:.BYTE 5."— Presentation transcript:

1 نوشتن كد برنامه در AVR STUDIO

2 شروع برنامه قسمت داده :.DSEG.ORG 0X60.DEF TEMP,R16.EQU LENGTH,10.SET KEY_PORT,PORTC.STRING:.BYTE 5

3 قسمت كد برنامه.CSEG.ORG 0X80 MAIN: STR:.DB ” PLEASE INSERT NUM: “ ------------RET

4 قسمت كد برنامه مقدار دهي اشاره گر استك : LDI TEMP,HIGH(RAMEND) OUT SPH,TEMP LDI TEMP,LOW(RAMEND) OUT SPL,TEMP

5 اسكن صفحه كليد 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0XF7 0 1 1 1 0XF7 0 1 1 1 0XFB 1 0 1 1 0XFB 1 0 1 1 0XFD 1 1 0 1 0XFD 1 1 0 1 0XFE 1 1 1 0 0XFE 1 1 1 0

6 اسكن صفحه كليد LDI TEMP,0XF7 OUT PORTD,TEMP IN TEMP,PORTD --- A LDI TEMP,0XFB OUT PORTD,TEMP IN TEMP,PORTD ---- ----

7 A BST R16,4 BST R16,4 BRBS 6,M1 R16 BRBS 6,M1 R16 LDI A,'1' LDI A,'1' RCALL DISPLAY RCALL DISPLAY M1: T SREG M1: T SREG BST R16,5 BST R16,5 BRBS 6,M2 BRBS 6,M2 LDI A,'2' LDI A,'2' RCALL DISPLAY RCALL DISPLAY M2: M2: BST R16,6 BST R16,6 BRBS 6,M3 BRBS 6,M3 LDI A,'3' LDI A,'3' RCALL DISPLAY RCALL DISPLAY M3: M3:

8 كار با نمايشگر

9 DISPLAY: DISPLAY: LDI TEMP,0XFF LDI TEMP,0XFF OUT DDRC,TEMP جهت داده = خروجی OUT DDRC,TEMP جهت داده = خروجی OUT DDRA,TEMP جهت داده = خروجی OUT DDRA,TEMP جهت داده = خروجی OUT PORTC,A شامل کارکتر می باشد A رجيستر OUT PORTC,A شامل کارکتر می باشد A رجيستر SBI PORTA,5 SBI PORTA,5 CBI PORTA,6 CBI PORTA,6 SBI PORTA,7 SBI PORTA,7 CBI PORTA,7 CBI PORTA,7 RCALL DELAY برای کار با نمايشگر نياز به تاخير است RCALL DELAY برای کار با نمايشگر نياز به تاخير است RET RET

10 COMMAND: ارسال دستورات نمايشگر COMMAND: ارسال دستورات نمايشگر LDI TEMP,0XFF LDI TEMP,0XFF OUT DDRA,TEMP OUT DDRA,TEMP OUT DDRC,TEMP OUT DDRC,TEMP OUT PORTC,A OUT PORTC,A CBI PORTA,0 CBI PORTA,0 CBI PORTA,1 CBI PORTA,1 SBI PORTA,2 SBI PORTA,2 CBI PORTA,2 CBI PORTA,2 RCALL DELAY RCALL DELAY RET RET

11 DELAY: ايجاد تاخيری بيش از 10 ميلی ثانيه DELAY: ايجاد تاخيری بيش از 10 ميلی ثانيه ldi R20,250 ldi R20,250 BACK1:LDI R21,200 BACK1:LDI R21,200 HERE: dec r21 HERE: dec r21 cpi r21,0 cpi r21,0 brne HERE brne HERE dec r20 dec r20 cpi r20,0 cpi r20,0 brne BACK1 brne BACK1 RET RET

12 RESET_LCD: بردن نمايشگر به يک حالت اوليه مطلوب LDI A,0X0C LDI A,0X0C RCALL COMMAND RCALL COMMAND LDI A,0X01 LDI A,0X01 RCALL COMMAND RCALL COMMAND LDI A,0X06 LDI A,0X06 RCALL COMMAND RCALL COMMAND RET RET

13 كار با تايمرها T/C 0 Control T/C 0 TCCR0 TCNT0 TIMER 0 T/C Control register 1 A T/C Control register 1 B Timer/Counter 1 Output copmare Register 1A Output copmare Register 1b TCCR1A TCCR1B TCNT1OCR1AOCR1B TIMER 1

14 پورت هاى تايمر

15

16

17 پورت هاى تايمر يك

18

19 پورت تعيين كلاك تايمر يك

20

21 مثالى براى تايمر يك LDI TEMP,0X80فعال کردن تايمر يک LDI TEMP,0X80فعال کردن تايمر يک OUT TIMSK,TEMP OUT TIMSK,TEMP LDI TEMP,HIGH(-50000) LDI TEMP,HIGH(-50000) OUT TCNT1H,TEMP OUT TCNT1H,TEMP LDI TEMP,LOW(-50000) LDI TEMP,LOW(-50000) OUT TCNT1L,TEMP OUT TCNT1L,TEMP قرار دادن 50000در محتوای تايمر LDI TEMP,0X01 LDI TEMP,0X01 OUT TCCR1B,TEMP انتخاب کلاک OUT TCCR1B,TEMP انتخاب کلاک

22 وقفه ها General control MCUCR External SRAM/INT INT mask reg. INT flag reg. GIMSK GIFR External INT Timer INT mask Timer INT flag TIMSK TIFR Timer INT

23 پورت هاى وقفه

24

25 پورت ها

26

27 مثالى براى وقفه خارجى صفر LDI TEMP,0X40 فعال کردن وقفه صفر LDI TEMP,0X40 فعال کردن وقفه صفر OUT GIMSK,TEMP OUT GIMSK,TEMP LDI TEMP,0X02 تعيين نوع وقفه LDI TEMP,0X02 تعيين نوع وقفه OUT MCUCR,TEMP OUT MCUCR,TEMP SEI فعال کردن وقفه کلى SEI فعال کردن وقفه کلى

28 آدرس بردارهای وقفه ميکرو NameAddress Triggered by RESET0000 Hardware Reset, Power-On-Reset INT00001 Level change INT0 pin INT10002 Level change INT1 pin TIMER1CAPT0003 Capture event on TCO1 TIMER1COMPA0004 TCO1=Compare value A TIMER1 COMPB 0005 TCO1=Compare value B TIMER1 OVF 0006 TCO 1 Overflow

29 آدرس بردارهای وقفه ميکرو NameAddress Trtiggered by TIMER0 OVF 0007TCO0 Overflow SPI STC 0008Transmit Complete UART TX 0009 UART UDRE 000A UART TX 000BUART All Sent ANA_COMP000CAnalog Comparator TIMER1 COMP1 - - - - TCo1=Compare value 1

30 آدرس بردارهای وقفه.ORG 0000 Reset آدرس بردار وقفه.ORG 0000 Reset آدرس بردار وقفه RJMP ISERVICE0 (0x01) آدرس بردار وقفه صفر RJMP ISERVICE0 (0x01) آدرس بردار وقفه صفر.ORG 0006 آدرس بردار وقفه تايمر کانتر يک.ORG 0006 آدرس بردار وقفه تايمر کانتر يک RJMP TCO RJMP TCO


Download ppt "نوشتن كد برنامه در AVR STUDIO. شروع برنامه قسمت داده :.DSEG.ORG 0X60.DEF TEMP,R16.EQU LENGTH,10.SET KEY_PORT,PORTC.STRING:.BYTE 5."

Similar presentations


Ads by Google