Assignment_6_Solution.pdf

‫در اﻳ ﻦ ﺳﻴ ﺴﺘﻢ از ﻳ ﮏ ﭘﺮدازﻧ ﺪﻩ ‪ ٨٠٨۶‬و ﻳ ﮏ ‪ ٨٢٨۴‬ﺟﻬ ﺖ ﺗﻮﻟﻴ ﺪ ﮐ ﻼﮎ ﻣ ﻮرد اﺳ ﺘﻔﺎدﻩ در ﻗﻄﻌ ﺎت‬
‫اﺳ ﺘﻔﺎدﻩ ﺷ ﺪﻩ اﺳ ﺖ‪ .‬هﻤﭽﻨ ﻴﻦ دو ‪ USART‬وﺟ ﻮد دارد ﮐ ﻪ ﺟﻬ ﺖ ﮐ ﺎر ﺑ ﺎ ﺁﻧﻬ ﺎ اﺣﺘﻴ ﺎج ﺑ ﻪ ﻳ ﮏ ‪ PIT‬و ﻳ ﮏ ‪PIC‬‬
‫اﺳﺖ‪ .‬اوﻟﯽ ﺑﺮاﯼ ﺗﻮﻟﻴﺪ ﮐ ﻼﮎ ه ﺎﯼ ﻻزم ﺑ ﺮاﯼ ﻓﺮﺳ ﺘﺎدن و درﻳﺎﻓ ﺖ در ‪ USART‬ه ﺎ و دوﻣ ﯽ ﺟﻬ ﺖ اﺳ ﺘﻔﺎدﻩ از‬
‫اﻳﻨﺘﺮاﭘﺖ هﺎ‪ .‬ﻧﻤﺎﯼ ﮐﻠﯽ اﻳﻦ ﺳﻴﺴﺘﻢ در ﺷﮑﻞ زﻳﺮ ﻧﻤﺎﻳﺶ دادﻩ ﺷﺪﻩ اﺳﺖ ‪:‬‬
‫ﭘﺎﻳ ﻪ ه ﺎﻳﯽ ﮐ ﻪ در ﺷ ﮑﻞ ﻣﻘ ﺪار ﻣﺘﻨ ﺎﻇﺮ ﻧﺪارﻧ ﺪ ‪ ،‬ﻳ ﺎ ﺧﺮوﺟ ﯽ ه ﺴﺘﻨﺪ ﻳ ﺎ ﺑ ﻪ ﭘﺎﻳ ﻪ ﯼ هﻤﻨ ﺎم ﺧ ﻮد در ‪ ٨٠٨۶‬ﻣﺘ ﺼﻞ‬
‫هﺴﺘﻨﺪ‪.‬‬
‫ﮐﺮﻳﺴﺘﺎل ﻣﻮﺟﻮد در ﺳﻴﺴﺘﻢ داراﯼ ﻓﺮﮐﺎﻧﺲ ‪ 3MHz‬اﺳﺖ ﮐﻪ در ﻧﺘﻴﺠﻪ ﻓﺮﮐﺎﻧﺲ ﺧﺮوﺟﯽ ‪ ٨٢٨۴‬داراﯼ‬
‫ﻓﺮﮐ ﺎﻧﺲ ‪ 1MHz‬اﺳ ﺖ‪ .‬ﺑﺎﻳ ﺪ ﺑ ﻪ ﮐﻤ ﮏ ‪ PIT‬و ﻓﺮﮐ ﺎﻧﺲ ‪ 1MHz‬ﻓﺮﮐﺎﻧ ﺴﻬﺎﯼ ﻻزم ﺑ ﺮاﯼ ارﺳ ﺎل و درﻳﺎﻓ ﺖ در‬
‫‪ USART‬ه ﺎ را ﺳ ﺎﺧﺖ‪ .‬ﺑ ﺮاﯼ اﻳ ﻦ ﮐ ﺎر ‪ Baud Rate‬را در ‪ USRAT‬اول ﺑﺮاﺑ ﺮ ‪ ١‬و در ‪ USART‬دوم‬
‫ﺑﺮاﺑﺮ ‪ ١۶‬ﻗﺮار ﻣﯽ دهﻴﻢ‪ .‬ﺑﻪ اﻳﻦ ﺗﺮﺗﻴ ﺐ ﺑ ﺮاﯼ ارﺳ ﺎل در اوﻟ ﻴﻦ ‪ USART‬اﺣﺘﻴ ﺎج ﺑ ﻪ ﻓﺮﮐ ﺎﻧﺲ ‪ ١٩٢٠٠‬وﺑ ﺮاﯼ‬
‫درﻳﻔ ﺖ اﺣﺘﻴ ﺎج ﺑ ﻪ ﻓﺮﮐ ﺎﻧﺲ ‪ ٩۶٠٠‬دارﻳ ﻢ‪ .‬ﺑﻨ ﺎﺑﺮاﻳﻦ ﻣﻘ ﺪار اوﻟﻴ ﻪ ﯼ اوﻟ ﻴﻦ ‪ counter‬ﻣﻮﺟ ﻮد در ‪ PIT‬را ﺑﺮاﺑ ﺮ‬
‫‪ 1MHz/19200=52‬ﻗﺮار ﻣﯽ دهﻴﻢ و ﻣﻘﺪار اوﻟﻴﻪ ‪ counter‬دوم در ‪ PIT‬را ﺑﺮاﺑﺮ ‪ 1MHz/9600=104‬ﻣ ﯽ‬
‫ﮐﻨﻴﻢ‪ .‬ﺑﺮاﯼ درﻳﺎﻓﺖ در دوﻣﻴﻦ ‪ USART‬اﺣﺘﻴﺎج ﺑﻪ ﻓﺮﮐﺎﻧﺲ ‪ ۴٨٠٠‬دارﻳﻢ ﮐﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻘﺪار ‪ Baud Rate‬در‬
‫اﻳﻦ ‪ USART‬ﮐﻼﮎ ورودﯼ ﺟﻬﺖ ارﺳﺎل ﺑﺎﻳﺪ داراﯼ ‪ 4800*16=76800‬ﮐﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﺮﮐﺎﻧﺲ ﮐﻼﮎ اوﻟﻴ ﻪ‬
‫)‪ (1MHz‬ﺑﺎﻳ ﺪ ﻣﻘ ﺪار اوﻟﻴ ﻪ ﯼ ‪ counter‬ﺳ ﻮم ﻣﻮﺟ ﻮد در ‪ PIT‬را ﺑﺮاﺑ ﺮ ‪ 1MHz/76800=13‬ﻗ ﺮار ده ﻴﻢ‪.‬‬
‫ﺑﺮاﯼ درﻳﺎﻓﺖ در اﻳﻦ ‪ USART‬ﻓﺮﮐﺎﻧﺲ ‪ 1200*16=19200‬ﻻزم اﺳﺖ ﮐﻪ ﺑﺮاﺑ ﺮ ﻓﺮﮐ ﺎﻧﺲ ﻻزم ﺑ ﺮاﯼ ارﺳ ﺎل‬
‫در ‪ USART‬اول اﺳﺖ ‪ ،‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﯽ ﺗﻮان از هﻤﺎن ﮐﻼﮎ اﺳﺘﻔﺎدﻩ ﮐﺮد‪.‬‬
‫در اﻳﻦ ﺳﻴﺴﺘﻢ ‪ ۴‬اﻳﻨﺘﺮاﭘﺖ وﺟﻮد دارد ﮐﻪ ﺑﻪ ‪ PIC‬وﺻﻞ هﺴﺘﻨﺪ و ﺑﻘﻴﻪ ﯼ ﭘﺎﻳﻪ هﺎﯼ ورودﯼ اﻳﻨﺘﺮاﭘﺖ در‬
‫‪ PIC‬ﺑﻪ زﻣﻴﻦ وﺻﻞ هﺴﺘﻨﺪ‪.‬‬
‫ﯽ ﻧﻴﻤﻪ ﯼ ﺑﺎﻻ و‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﮑﻪ در ‪ ٨٠٨۶‬ﺑﺎس دادﻩ ‪ ١۶‬ﺑﻴﺘﯽ اﺳﺖ و ﺑﻴﺖ اول ﺁدرس ﺑﺮاﯼ ﺁدرس ده ِ‬
‫ﭘ ﺎﻳﻴﻦ دادﻩ ه ﺎ ﺑﮑ ﺎر ﻣ ﯽ رود ‪ ،‬ﺑ ﻪ ورودﯼ ‪ A0‬در ‪ PIC‬و ورودﯼ ‪ C/ D‬در ‪ USART‬ه ﺎ و ورودﯼ ‪ A0‬در‬
‫‪ ، PIT‬ﺑﺎﻳﺪ ﺑﻴﺖ دوم ﺑﺎس ﺁدرس و ﺑﻪ ورودﯼ ‪ A1‬در ‪ PIT‬ﺑﺎﻳﺪ ﺑﻴﺖ ﺳﻮم ﺑﺎس ﺁدرس وﺻﻞ ﺷﻮد‪.‬‬
‫ﺳ ﺎﺧﺘﺎر ﺗﺨ ﺼﻴﺺ ﺣﺎﻓﻈ ﻪ در ﺷ ﮑﻞ زﻳ ﺮ ﻧﻤ ﺎﻳﺶ دادﻩ ﺷ ﺪﻩ اﺳ ﺖ‪ ،‬ﺑ ﺎ ﺗﻮﺟ ﻪ ﺑ ﻪ ﺁن ﻣﻌﺎدﻟ ﻪ ه ﺎﯼ ﻻزم ﺑ ﺮاﯼ ﺗﻮﻟﻴ ﺪ‬
‫‪ CS‬هﺎ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ ‪:‬‬
‫‪CS PIT = A19 + A18 + A17 + ... + A11 + A10 + A9 + A8‬‬
‫‪CS PIC = A19 + A18 + A17 + ... + A11 + A10 + A9 + A8‬‬
‫‪CS USART 1 = A19 + A18 + A17 + ... + A11 + A10 + A9 + A8‬‬
‫‪CS USART 2 = A19 + A18 + A17 + ... + A11 + A10 + A9 + A8‬‬
‫ﺑﺮﻧﺎﻣﻪ هﺎﯼ ﻣﻘﺪار دهﯽ اوﻟﻴﻪ ‪:‬‬
‫‪: USART1‬‬
‫‪MOV A,4DH‬‬
‫‪OUT 402H‬‬
‫‪: USART2‬‬
‫‪MOV A,FAH‬‬
‫‪OUT 502H‬‬
‫‪: PIT‬‬
‫‪A,16H‬‬
‫‪706H‬‬
‫‪A,56H‬‬
‫‪706H‬‬
‫‪A,96H‬‬
‫‪MOV‬‬
‫‪OUT‬‬
‫‪MOV‬‬
‫‪OUT‬‬
‫‪MOV‬‬
OUT
MOV
OUT
MOV
OUT
MOV
OUT
706H
A,34H
700H
A,68H
702H
A,0DH
704H
;counter0 initial value = 52
;counter1 initial value = 104
;counter2 initial value = 13
: PIC
ICW1=17H
ICW2=28H
ICW4=03H
OCW1=F0H
OCW2=20H
OCW3=08H
MOV
OUT
MOV
OUT
MOV
OUT
MOV
OUT
MOV
OUT
MOV
OUT
A,17H
600H
A,28H
602H
A,03H
602H
A,F0H
602H
A,20H
600H
A,08H
600H