دستور IN (IN I/O loacation) :
IN Rd,A
;Load an I/O location to the GPR (0<=d<=31) ,(0<= A<=63)
دستور IN به CPU میگوید یک بایت از یک ثبات I/O را به ثبات همهمنظوره کپی کند. بعد از اجرای این دستور ، ثبات همهمنظوره مقداری برابر با ثبات I/O خواهد داشت برای مثال :
IN R20 ,0x16
محتوای خانه ۱۶ I/O را بر روی R20 کپی میکند. همانطور که میدانید هر خانه حافظه I/O دو آدرس دارد : آدرس I/O و آدرس حافظه داده ، هر خانه حافظه داده یک آدرس یکتا دارد هر ثباتI/O
یک آدرس نسبی در مقایسه با شروع حافظه I/O دارد که آدرس I/O خوانده میشود
#میکروکنترلر #AVR
🆔@Computeronic
IN Rd,A
;Load an I/O location to the GPR (0<=d<=31) ,(0<= A<=63)
دستور IN به CPU میگوید یک بایت از یک ثبات I/O را به ثبات همهمنظوره کپی کند. بعد از اجرای این دستور ، ثبات همهمنظوره مقداری برابر با ثبات I/O خواهد داشت برای مثال :
IN R20 ,0x16
محتوای خانه ۱۶ I/O را بر روی R20 کپی میکند. همانطور که میدانید هر خانه حافظه I/O دو آدرس دارد : آدرس I/O و آدرس حافظه داده ، هر خانه حافظه داده یک آدرس یکتا دارد هر ثباتI/O
یک آدرس نسبی در مقایسه با شروع حافظه I/O دارد که آدرس I/O خوانده میشود
#میکروکنترلر #AVR
🆔@Computeronic
ماژول math در پايتون:
براي استفاده از ماژول math در پايتون ابتدا بايد آنرا بِه ابتداي برنامه بِه يكي از حالات زير اصافه كنيم:
import math يا
from math import*
(*بدين معناست كه تمامي توابع ماژول را در برنامه نياز داريم)
پس از افزودن ماژول math بِه برنامه ميتوانيم از توابع آن استفاده كنيم كه در ادامه بِه پركاربردترينهاي آنها ميپردازيم.
#پايتون
🆔@Computeronic
براي استفاده از ماژول math در پايتون ابتدا بايد آنرا بِه ابتداي برنامه بِه يكي از حالات زير اصافه كنيم:
import math يا
from math import*
(*بدين معناست كه تمامي توابع ماژول را در برنامه نياز داريم)
پس از افزودن ماژول math بِه برنامه ميتوانيم از توابع آن استفاده كنيم كه در ادامه بِه پركاربردترينهاي آنها ميپردازيم.
#پايتون
🆔@Computeronic
كد زير كدام را چاپ ميكند؟
for i in range(0,5,0.5):
print(i,end=“ “)
for i in range(0,5,0.5):
print(i,end=“ “)
Anonymous Quiz
34%
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
24%
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
41%
Error!
🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵
اعداد مختلط در پايتون:
همانگونه كه از رياضي١ بِه ياد داريد اعداد مختلط شامل يك قسمت موهومي و يك قسمت حقيقي بودند مانند اعداد زير:
w=3+i
z=4+2i
در زبان پايتون نيز براي نوشتن اعداد مختلط بِه همين شكل عمل ميكنيم با اين تفاوت كه بِه جاي i بايد از j استفاده كنيد:
w=3+j
z=4+2j
همچنين ميتوانيد از تابع complex نيز براي توليد اعداد مختلط استفاده كنيد:
w=complex(3,1)
z=complex(4,2)
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡
#پايتون
🆔@Computeronic
اعداد مختلط در پايتون:
همانگونه كه از رياضي١ بِه ياد داريد اعداد مختلط شامل يك قسمت موهومي و يك قسمت حقيقي بودند مانند اعداد زير:
w=3+i
z=4+2i
در زبان پايتون نيز براي نوشتن اعداد مختلط بِه همين شكل عمل ميكنيم با اين تفاوت كه بِه جاي i بايد از j استفاده كنيد:
w=3+j
z=4+2j
همچنين ميتوانيد از تابع complex نيز براي توليد اعداد مختلط استفاده كنيد:
w=complex(3,1)
z=complex(4,2)
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡
#پايتون
🆔@Computeronic
حلقه while در پايتون:
بِه طور كلي در برنامه نويسي زماني از while استفاده ميكنيم كه دفعات تكرار مشخص نباشد.
براي استفاده از while فقط بِه يك شمارنده و عبارت نياز داريم تا در هر بار پيمايش حلقه شرط جلوي while چك شود و تغييرات روي شمارنده انجام شود.
بِه عنوان مثال در عكس فوق شمارنده ما i بوده كه ابتدا با ١ مقداردهي شده بوده و شرط اين بوده كه تا زماني كه i كوچكتر مساوي يك است بايد i چاپ شود و سپس در هر بار پيمايش حلقه يك واحد بِه i اضافه شود!
#پايتون
🆔@Computeronic
بِه طور كلي در برنامه نويسي زماني از while استفاده ميكنيم كه دفعات تكرار مشخص نباشد.
براي استفاده از while فقط بِه يك شمارنده و عبارت نياز داريم تا در هر بار پيمايش حلقه شرط جلوي while چك شود و تغييرات روي شمارنده انجام شود.
بِه عنوان مثال در عكس فوق شمارنده ما i بوده كه ابتدا با ١ مقداردهي شده بوده و شرط اين بوده كه تا زماني كه i كوچكتر مساوي يك است بايد i چاپ شود و سپس در هر بار پيمايش حلقه يك واحد بِه i اضافه شود!
#پايتون
🆔@Computeronic
كدام حلقه تا بي نهايت ميرود؟
Anonymous Quiz
28%
while True:
8%
while true:
6%
while 1:
58%
گزينه هاي ١و٣
مقایسه دستور IN با LDS :
همانطور که پیش از این نیز اشاره شد از دستور LDS برای کپی محتوای خانه حافظه یک ثبات همهمنظوره استفاده میکنیم این بدین معناست که میتوان با استفاده از دستور LDS مقدار یک ثبات I/O را درون یک ثبات همهمنظوره کپی کنیم.
برتری های دستور IN :
1. در CPU دستور IN سریع تر از دستور LDS اجرا میکند همانطور که خواهیم خواند دستور IN یک چرخه ماشین طول میکشد درحالی که LDS دو چرخه ماشین طول میکشد.
2. پهنای دستور IN برابر 2 بایت است ، در حالی که پهنای دستور LDS برابر 4 بایت است این بدین معناست که دستور IN حافظه کد کمتری را اشغال میکند.
3. وقتی از دستور IN استفاده میکنیم ، میتوانیم از نام ثبات های I/O بجای آدرس آنها استفاده کنیم.
4. دستور IN درتمام AVR ها قابل استفاده است درحالی که دستور LDS در برخی پیاده سازی نشده است.
توجه کنید که با دستور IN فقط به حافظه استاندارد I/O میتوان دسترسی پیدا کرد ولی با دستور LDS به تمام حافظه داده دسترسی داریم
#میکروکنترلر #AVR
🆔@computeronic
همانطور که پیش از این نیز اشاره شد از دستور LDS برای کپی محتوای خانه حافظه یک ثبات همهمنظوره استفاده میکنیم این بدین معناست که میتوان با استفاده از دستور LDS مقدار یک ثبات I/O را درون یک ثبات همهمنظوره کپی کنیم.
برتری های دستور IN :
1. در CPU دستور IN سریع تر از دستور LDS اجرا میکند همانطور که خواهیم خواند دستور IN یک چرخه ماشین طول میکشد درحالی که LDS دو چرخه ماشین طول میکشد.
2. پهنای دستور IN برابر 2 بایت است ، در حالی که پهنای دستور LDS برابر 4 بایت است این بدین معناست که دستور IN حافظه کد کمتری را اشغال میکند.
3. وقتی از دستور IN استفاده میکنیم ، میتوانیم از نام ثبات های I/O بجای آدرس آنها استفاده کنیم.
4. دستور IN درتمام AVR ها قابل استفاده است درحالی که دستور LDS در برخی پیاده سازی نشده است.
توجه کنید که با دستور IN فقط به حافظه استاندارد I/O میتوان دسترسی پیدا کرد ولی با دستور LDS به تمام حافظه داده دسترسی داریم
#میکروکنترلر #AVR
🆔@computeronic
دستور OUT (OUT to I/O location) :
OUT A,Rr
;Store register to I/O location (0<=r<= 31) , (0 <= A <=63)
دستور OUT به CPU میگوید محتوای ثبات همهمنظوره را در یک ثبات I/O ذخیره کند. بعد از اجرای این دستور ، ثبات I/O مقداری برابر با ثبات همهمنظوره خواهد داشت برای مثال دستور :
OUT PORTD , R10
محتوای R10 را بر روی PORTD (خانه 12 حافظه I/O ) کپی میکند
#میکروکنترلر #AVR
🆔@computeronic
OUT A,Rr
;Store register to I/O location (0<=r<= 31) , (0 <= A <=63)
دستور OUT به CPU میگوید محتوای ثبات همهمنظوره را در یک ثبات I/O ذخیره کند. بعد از اجرای این دستور ، ثبات I/O مقداری برابر با ثبات همهمنظوره خواهد داشت برای مثال دستور :
OUT PORTD , R10
محتوای R10 را بر روی PORTD (خانه 12 حافظه I/O ) کپی میکند
#میکروکنترلر #AVR
🆔@computeronic
Python crash course
کتابی مناسب برای یادگیری پایتون از مقدماتی تا پیشرفته به زبان انگلیسی.
#کتابخانه
#پایتون
🆔@Computeronic
کتابی مناسب برای یادگیری پایتون از مقدماتی تا پیشرفته به زبان انگلیسی.
#کتابخانه
#پایتون
🆔@Computeronic
ليست ها در پايتون:
ليست در پايتون مانند آرايه در زبانهاي ديگر است گرچه ليست در برخي زبانها مانند سي شارپ نيز وجود دارد اما كار با آن در پايتون بِه مراتب ساده تر است.
از مزاياي ليستها نسبت به آرايه ها اين است كه در آرايه ها حتما بايد طول آرايه را مشخص كنيد كه شامل چندين عضو است اما در ليست ها اينگونه نيست و شما ميتوانيد تا هر موقع كه خواستيد عضو به آن اضافه كنيد.
ليست ها را در پايتون با [ ] نشان ميدهند و بِه صورت زير در ابتدا تعريف ميشود:
List name=[ ]
در تصوير فوق ما ليستي بِه نام list داريم كه از قبل مقدار دهي شده بِه صورت زير:
List=[0,1,2,3,4,5]
و براي نمايش هر عنصر آن مانند آرايه ها عمل ميكنيم فقط توجه كنيد كه در برنامه نويسي شمارش همواره از صفر شروع ميشود پس [0]list نشان دهنده اولين عضو ليست است!
و همانگونه كه در تصوير مشاهده ميكنيد براي نمايش هر عنصر بِه چه شكل عمل كرديم و همچنين در ليستها slicing نيز مانند رشته ها وجود دارد!
#پايتون
🆔@Computeronic
ليست در پايتون مانند آرايه در زبانهاي ديگر است گرچه ليست در برخي زبانها مانند سي شارپ نيز وجود دارد اما كار با آن در پايتون بِه مراتب ساده تر است.
از مزاياي ليستها نسبت به آرايه ها اين است كه در آرايه ها حتما بايد طول آرايه را مشخص كنيد كه شامل چندين عضو است اما در ليست ها اينگونه نيست و شما ميتوانيد تا هر موقع كه خواستيد عضو به آن اضافه كنيد.
ليست ها را در پايتون با [ ] نشان ميدهند و بِه صورت زير در ابتدا تعريف ميشود:
List name=[ ]
در تصوير فوق ما ليستي بِه نام list داريم كه از قبل مقدار دهي شده بِه صورت زير:
List=[0,1,2,3,4,5]
و براي نمايش هر عنصر آن مانند آرايه ها عمل ميكنيم فقط توجه كنيد كه در برنامه نويسي شمارش همواره از صفر شروع ميشود پس [0]list نشان دهنده اولين عضو ليست است!
و همانگونه كه در تصوير مشاهده ميكنيد براي نمايش هر عنصر بِه چه شكل عمل كرديم و همچنين در ليستها slicing نيز مانند رشته ها وجود دارد!
#پايتون
🆔@Computeronic
🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵
⚠️ليست ها ميتوانند شامل انواع داده ها باشند و ما مي توانيم در يك ليست داده هايي از نوعint,string,float و ساير را داشته باشيم!
L=[“apple”,”tangerine”,”car”]
L=[1,2,3,4,5]
L=[1.5,3.25,4.5]
⚠️در ليستها نيز عملگرهاي + و * تعريف شده اند و بِه عنوان مثال داريم:
[1,2]+[3,4]=[1,2,3,4]
[0]*6=[0,0,0,0,0,0]
___________________________________
توابع از پيش تعريف شده در ليست ها:
⚠️len():
اين تابع يك ليست را گرفته و طول آنرا بر ميگرداند:
len(نام ليست)
⚠️sum():
اين تابع مجموع اعضاي ليست دريافتي را بر ميگرداند:
sum(نام ليست)
⚠️max():
اين تابع بزرگترين عضو موجود در ليست را برميگرداند:
max(نام ليست)
⚠️min():
اين تابع كوچكترين عضو موجود در ليست را برميگرداند:
min(نام ليست)
#پايتون
🆔@Computeronic
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡
⚠️ليست ها ميتوانند شامل انواع داده ها باشند و ما مي توانيم در يك ليست داده هايي از نوعint,string,float و ساير را داشته باشيم!
L=[“apple”,”tangerine”,”car”]
L=[1,2,3,4,5]
L=[1.5,3.25,4.5]
⚠️در ليستها نيز عملگرهاي + و * تعريف شده اند و بِه عنوان مثال داريم:
[1,2]+[3,4]=[1,2,3,4]
[0]*6=[0,0,0,0,0,0]
___________________________________
توابع از پيش تعريف شده در ليست ها:
⚠️len():
اين تابع يك ليست را گرفته و طول آنرا بر ميگرداند:
len(نام ليست)
⚠️sum():
اين تابع مجموع اعضاي ليست دريافتي را بر ميگرداند:
sum(نام ليست)
⚠️max():
اين تابع بزرگترين عضو موجود در ليست را برميگرداند:
max(نام ليست)
⚠️min():
اين تابع كوچكترين عضو موجود در ليست را برميگرداند:
min(نام ليست)
#پايتون
🆔@Computeronic
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡
🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵
كاربرد حلقه for در پيمايش رشته ها و ليست ها:
اگر بِه ياد داشته باشيد گفتيم كه در حلقه for براي پيمودن يك بازه ميتوانيد از تابع range استفاده كنيد.
بِه طور كلي براي پيمايش يك ليست و رشته نيز ميتوان از حلقه for استفاده كرد و فقط كافيست بِه جاي range نام ليست يا رشته را قرار دهيد،به مثالهاي زير دقت كنيد:
List=[1,2,3,4]
for i in List:
print(i)
>> 1
2
3
4
—————————————
for i in “Apple”:
print(i,end=“ “)
>> A p p l e
#پايتون
🆔@Computeronic
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡
كاربرد حلقه for در پيمايش رشته ها و ليست ها:
اگر بِه ياد داشته باشيد گفتيم كه در حلقه for براي پيمودن يك بازه ميتوانيد از تابع range استفاده كنيد.
بِه طور كلي براي پيمايش يك ليست و رشته نيز ميتوان از حلقه for استفاده كرد و فقط كافيست بِه جاي range نام ليست يا رشته را قرار دهيد،به مثالهاي زير دقت كنيد:
List=[1,2,3,4]
for i in List:
print(i)
>> 1
2
3
4
—————————————
for i in “Apple”:
print(i,end=“ “)
>> A p p l e
#پايتون
🆔@Computeronic
🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡🟡