window.addEventListener("load", function(){ alert("کانال تلگرام ما : www.telegram.me/PulseLab"); }); ترشحات ذهنی | ۱۳۹۱/۰۶/۱ - ۱۳۹۱/۰۶/۳۱
جسارت های در باب امنیت اطلاعات و الکترونیک .
پردازش صدا با مطلب ( بخش دوم )
جمعه هفدهم شهریور ۱۳۹۱ ساعت 15:50 | نوشته ‌شده به دست سیروس | ( )

دوباره با بخش دوم آموزش پردازش صوت در مطلب برگشتم همون طور که در جلسه اول هم گفتم برای درک مطالب این بخش باید با برنامه نویسی در MATLAB آشنا باشید /.... با تشکر

در بخش به نحوه ذخیره سازی سیگنال صوتی می پردازیم . برای ذخیره صدا از دستور زیر استفاده می کنیم :

Start(xxxx);

که در اینجا xxxx همان متغییر است که صدا در داخل آن ذخیره می شود و ما هر بلای که می خواهیم سرش بیاریم سر این متغییر می آریم . چون در مباحث قبلی از متغییر X استفاده کردیم در اینجه هم به این صورت استفاده می کنیم :

Start(X);

در این مرحله صدا ضبط شده و در داخل متغییر X ریخته شده حال می خواهیم پردازش را شروع کنیم . چه جوری ؟ همان طور که می دونید مطلب با ماتریس تعریف می شود یعنی باید این صوت رو به یک ماتریس تبدیل کنیم برای این کار از دستور زیر استفاده می کنیم که مثال دستورات بالا هستش :

Y = Getdata(X);

به وسیله این دستور ما فایل ذخیره شده صوتی رو به یک ماتریس تبدیل ممی کنیم و همین طور در متغییر Y می ریزیم که تعداد ستون های این ماتریس برابر با 1 و تعداد سطر های آن بستگی به rate‌ و time دارد که در ابتدا آنها رو توضیح دادم .

همین طور برای نمایش اطلاعات به صورت یک نمودار می توان از دستور زیر استفاده کرد که متغییر Y که ماتریس در آن ذخیره شده رو رسم میکنه . فرم کلی دستور برابر است با :

Plot (Y);

خوب حالا در عمل . دستورات زیر را که تک تک آنها را در بالا بررسی کردیم را در داخل یک پروژه M-file نوشته و اجرا کنید . البته قبلش یک میکروفن به ورودی کارت صوتی خود نصب کنید .

توجه : ویندوز مورد نظر XP باشه 100٪ جواب می گیرید . زمان نمونه برداری هم برابر با 8 ثانیه می باشد یعنی همین قد وقت برای صحبت و ضبط سیگنال صوتی خود دارید . شروع کنید :

X=analoginput(‘winsound’);

Addchannel(X,1:2);

Set(X,’samplerate’,28000);

Set(X,’samplespertrigger’,244000);

Start(X);

Y = Getdata (Y);

Plot(Y);

پس از اجرای دستورات فوق نمودار سیگنال صوتی ضبط شده برای شما رسم می شود .

بخش دوم هم در اینجه به آخر می رسه . از عکس فعلا استفاده نمی کنم چون حال و حوصله ای مرتب کردن رو آرشیو مطالب و آپلودرها رو ندارم . ولی اگه لازم بود حتما براتون قرار می دم تا دچار سر در گمی نشید .

اگه سوالی داشتید من در خدمتم .

منابع : hoperf-12  و مخ خودم


Download Metasploit
یکشنبه دوازدهم شهریور ۱۳۹۱ ساعت 15:30 | نوشته ‌شده به دست سیروس | ( )

Start Penetration Testing

Download Metasploit

Select your preferred Metasploit installation

Metasploit Version 4.4

Arduino چیست ؟
یکشنبه دوازدهم شهریور ۱۳۹۱ ساعت 15:0 | نوشته ‌شده به دست سیروس | ( )

ardiuno

Arduino چیست ؟

Arduino یک پلات فورم پروتوتایپ الکترونیکی منبع باز انعطاف پذیر است که به سادگی چه از لحاظ سخت افزاری و چه از لحاظ نرم افزاری قابل استفاده است. امروز قصد داریم با این مقاله شما را با این قطعه های جالب آشنا کنیم و به شما نشان دهیم که استفاده از آن ها چقدر ساده و البته کاربردی است .

سخت افزار Arduino یک برد گردشی منبع باز با یک میکروپروسسور و یک ورودی و یک خروجی است . همچنین دارای پین هایی برای ارتباط و کنترل کردن اشیای فیزیکی شامل (LED, servos و دکمه ها و …) است . این برد می تواند به کمک درگاه  یواس بی تغذیه شود و یا می توان آن را به کمک هر منبع تغذیه خارجی که دیگر سخت افزارها و سنسور ها را تغذیه می کند ، آن را تغذیه کرد .

Arduino همچنین دارای یک نرم افزاری منبع باز چیزی شبیه به C++ ، است. بخشی در این قطعه وجود دارد به نام Arduino    integrated development environment که به اختصار به آن IDE می گویند . IDE به شما این امکان را می دهد که کد نویسی کنید ، آن را کامپایل کنید و بر روی Arduino خودتان آپلود کنید تا از آن برای پروژ ها و کارهای پروتوتایپی استفاده کنید .

و تمامی این چیزها تنها برای این ساخته شده است تا هنرمندان و تولیدکنندگان به راحتی بتوانند ایده ها و افکار خود را واقعی ساخته و آن را با اشیا واقعی اجرا نمایند . اگر شما هم دوست دارید چیزی را از خودتان بسازید ، نگاهی داشته باشید تا آپشنهای سخت افزاری و نرم افزاری موجود را مشاهده کنید و سپس آغاز کنید .

انواع مختلف Arduino

سخت افزار Arduino به نام منبع باز خودش را معرفی کرده و این بدین معنی است که شما می توانید هر بردی را که موجود است بدین ترتیب داشته باشید و باز این بدین معنی است که شما می توانید هر قطعه دیگری را که خواستید بخرید و به آن اضافه کنید و در نهایت اگر تمایل داشتید می توانید قطعه نهایی را که درست کردید را به فروش برسانید . جالب است نه ؟

برای شروع به شما پیشنهاد می کنم که از کیتهای ۳۰ دلاری که این روزها معادل حدودا پنجاه هزار تومان است ، استفاده کنید . سپس اگر دیدید این کار را دوست داشتید می توانید از کیتهای گران تر استفاده کنید .

تصویری را که در زیر مشاهده می کنید بر پایه ی فریتایزینگ ساخته شده است و در واقع برای یک برد Arduino استاندارد می توان به آن رجوع کرد .

Arduino انواع مختلفی دارد که این باعث می شود که شما بازه گسترده ای از انتخاب را پیش رو داشته باشید . با این حال مزیت دیگرش هم این است که شما می توانید از میان قطعات فراوانی که پیش رو دارید راه حلها و انتخابات بهتری داشته باشید .

ادامه دارد /...

برچسب‌ها: Arduino

Learning Perl - Writing Exploits5-2
یکشنبه دوازدهم شهریور ۱۳۹۱ ساعت 14:56 | نوشته ‌شده به دست سیروس | ( )

این بخش برای کسانی مورد مفهوم است که در مورد پرل از قبل مطالعه داشتند . در زیر کد اصلی این کتاب رو می بینید که در مورد حلقه بحث شده است که کار هر خط در جلوی آن بعد از عملگر # نوشته شده است .

#!/usr/bin/perl -w
#Loop Tutorial
##################################
#                         FULLY Commented                       #
#################################
 
#While Loops
#Format
# while (Comparison) {
# Action }
#While loops will loop while the comparison is true, if it changes to false, it will no longer continue to loop through its set of action(s).
$i = 1;
while($i <= 5) {
print "While:" . $i . "\n";
$i++;
}
 
#For Loops
#Format
# for (init_expr; test_expr; step_expr;) {
#   ACTION  }
##
# Init expression is done first, then the test expression is tested to be true or false then --
#  the step expression is executed.
for($t = 1; $t <= 5; $t++) {
print "For:" . $t . "\n";
}
 
#Until Loops
#Format
# until (Comparison) {
# Action }
##
# An until loop tests the true false comparison, if it is true, it will continue to loop until the comparison changes to a
# false state.
$p = 1;
until($p == 6) { #It's six because when $p becomes = 5, it doesnt go through the set of action sequences; therefore, 5 isn't printed.
print "Until:" . $p . "\n";
$p++;
}
#Foreach Loops
#Used most commonly to loop through lists
#Format
# foreach $num (@array) {
# Action }
$n = 1;
foreach $n (1..5) {
print "Foreach:" . $n . "\n";
$n++;
}

 

این بخش هم ترجمه بالا است ولی با این فرق که خودم قسمت بالا رو بازنویسی کردم و این بخش رو هم می زارم تا خودتون بخونید ، تقریبا همونائی بودند که در بالا تفصیر کردیم ولی با مثالهای واقعی تر . ( البته گفته نویسنده ای اصلی )


پردازش صدا با مطلب ( بخش اول )
یکشنبه دوازدهم شهریور ۱۳۹۱ ساعت 14:46 | نوشته ‌شده به دست سیروس | ( )

برای درک این مبحث باید با برنامه نویسی در مطلب آشنا باشید /... با تشکر

نمی دونم اول از مبحث پردازش صوت شروع کنم یا نرم افزار مطلب !!!!!

اول می ریم سر پردازش صوت . امروزه پردازش صوت کاربردی های زیادی در صنعت و مباحث امنیتی و نظامی پیدا کرده از کاربردهاش می شه .

نمونه ای از کاربردها

کنترل وسایل با صدا کردن و نام بردن

کنترل بازی های رایانه ای با صحبت کردن

تماس تلفنی بدون لمس کردن کلید های تلفن و فقط با بردن نام اشخاص ( مثلا سیروس خان )

سیستم های امنیتی تشخیص صدا

ترجمه همزمان یک زبان به زبان دیگر

و برای همین گفتم که این چندتا پست رو بدم و شما رو با این روش استفاده کنم . البته بعد از آموزش با مطلب چند نمونه مدار عملی هم با میکرو کنترلر و همین طور IC مشهور HM2007 که قابلیت یاد گیری دارد را مورد بررسی قرار خواهیم داد .

حالا نوبت به مطلب می رسه . دقیقا ترم 2 برق-الکترونیک بودم که شروع به یادگیری نرم افزارهای مربوط به رشته خودم کردم در ابتدا اصلا تصور نمی کردم که روزی بخوام مطلب یا همون آزمابشگاه ریاضی رو یاد بگیرم و دلیلش هم این بود که اصلا آشنائی با این نرم افزار نداشتم ولی الان هر جا به بن بست می رسم مطلب .........

یکی از امکانات مطلب توانائی پردازش سیگنال و صوت است در این سری مقالات در ابتدا برای دوستان دستورات موجود در باکس پردازش صوت رو توضیح می دهیم و در بخش آخر دو صدا را با هم مقایسه می کنیم یکی از کاربردهای این کار مورد استفاده در سیستم های امنیتی است مانند درهای تشخیص صدا و یا صندوق پول ( با لهجه گفتم ) .

اولین کاری که ما باید در پردازش صدا انجام دهیم این است که صوت را به صورت سیگنال از ورودی دریافت کنیم برای این کار از کارت صوتی استفاده می کنیم و با دستور زیر آن را در مطلب پیکربندی میکنیم :

X= analoginput(‘winsound’);

در واقع ما با این دستور کارت صدا را در حالت ورودی پیکر بندی کردیم تا سیگنالهای صوتی را دریافت کنیم و مورد پردازش قرار دهیم .

در مرحله بعد کانال ورودی را باید در یکی از حالتهای Stereo و یا mono قرار دهیم . برای قرار دادن در حالت mono باید جای S عدد 1 و زمانی که می خواهیم در حالت Stereo قرار دهیم باید عدد ترکیبی 1:2 را قرار دهیم فرم کلی و یک مثال :

Addchannel(X,S);

Example :   addchannel(X,1:2);

در مثال بالا من سیگنال ورودی که در متغییر X قرار داده بودم رو در حالت Stereo قرار دادم .

خوب حالا به مرحله ای می رسیم که باید یک نرخی برای نمونه برداری تعیین کنیم - ( سرعت نمونه برداری ) – برای این کار می توانیم از دستور زیر استفاده کنیم و به جای کلمه rate که همان نرخ نمومه برداری است عدد خودمون رو قرار بدیم به KHz مثلا . در ادامه حالت کلی دستور و همین طور 1 مثال برای شما :

Set(X,’samplerate’,rate);

Example :  Set(X,’samplerate’,100000);

در این مثال من سرعت نمونه برداری برای متغییر X رو برابر با 100KHz قرار دادم .

حال می رسیم به زمان مورد نیاز برای دریافت صوت یعنی چه مقدار زمان می خواهید تا صدا ضبط شود 1 ثانیه 2 ثانیه و ... برای این کار مدت زمان خود را باید در مقدار rate ضرب کرده و آن را به جای کلمه Time در دستور زیر قرار دهید . برای درک بهتر به حالت کلی دستور و همین طور یک مثال توجه کنید :

Set(x,’Samplespertrigger’,time);

Example :

Set(X,’samplerate’,28000);

Set(x,’Samplespertrigger’,224000);

در این مثال ما عدد 224000 رو قرار دادیم همون طور که گفتیم برای این کار مدت زمان مورد نظر رو باید در rate‌ضرب کنیم تا عدد بدست آید . من می خواستم سیگنالم صوتیم به مدت 8 ثانیه ضبط شود برای همین 8 رو در 28KHz که نرخ نمونه برداری است ضرب میکنیم تا به نتیجه خوبی برسیم .

Time = Rate * Second

Time = 28000 * 8  è 224000

در همین جا بخش اول آموزش پردازش صدا به پایان می رسه /..... موفق باشید .

منابع : Techno-electro , hoperf-12 , google  و در آخر مخ خودم

می گریم /...
چهارشنبه هشتم شهریور ۱۳۹۱ ساعت 22:13 | نوشته ‌شده به دست سیروس | ( )

123

آذربایجان بوگونلرده اُویاخدی / اُوز ائلینه،اُوزیوردونا دایاخدی

حیدر بابا یولوم سندن کج اولدی / هچ بیلمدیم گوزللرون نئجه اولدی

برچسب‌ها: زلزله آذربایجان

Elcom CMS آسیب پذیر است !
سه شنبه هفتم شهریور ۱۳۹۱ ساعت 21:36 | نوشته ‌شده به دست سیروس | ( )

Release Date.              24-Aug-2012
Last Update.               -
Vendor Notification Date.  28-Oct-2011
Product.                   Elcom CMS - Community Manager
Platform.                  ASP.NET
Affected versions.         Elcom Community Manager version 7.4.10 and
possibly others
Severity Rating.           High
Impact.                    Exposure of system information
                           Exposure of sensitive information
                           System Access
Attack Vector.             Remote with authentication
Solution Status.           Fixed in version 7.5 and later (not verified by
SOS)
CVE reference.             CVE - not yet assigned

Details.
The https://[server]/UploadStyleSheet.aspx script does not validate the file
type passed in the parameter "myfile0" on the server side allowing the
uploading and execution of ASPX files. An attacker can upload an ASPX web
shell and execute commands with web server user privileges.

Proof of Concept (port scanning).
A shell uploaded using the vulnerable
(https://[server]/UploadStyleSheet.aspx) script can be accessed at the
following location: https://[server]/UserUploadedStyles/shell.aspx

Solution.
Upgrade to version 7.5 or later.


کدهای مخرب
دوشنبه ششم شهریور ۱۳۹۱ ساعت 23:16 | نوشته ‌شده به دست سیروس | ( )

با گسترش فرهنگ استفاده از رایانه و راهیابی آن به ادارات و منازل، این ابزار از حالت آکادمیک و تحقیقاتی خود به در آمده و مبدل به پاره‌ای از نیازهای معمول زندگی شده‌است. ابداع واژه نفوذگر به دههٔ شصت میلادی در دانشگاه MIT آمریکا بر می‌گردد.در آن زمان نفوذگر به این صورت معنا می‌شد: نفوذگر کسی است که از سرکشی کردن به جزئیات سیستم‌های قابل برنامه ریزی و نفوذ و رخنه در آن لذت می‌برد و مصمم به شکست دادن توانایی محاسباتی ماشین در برابر هوش و ذکاوت بشری خویش است. با توجه به نوپا بودن شبکه اینترنت که عملاً پس از ابداع و فراگیر شدن وب در دهه نود به یک پدیده جهانی مبدل شده‌است نمی‌توان انتظار داشت که یک فرهنگ صحیح و غنی بر آن حاکم شده باشد. هرگاه تفکر و اندیشه یک نفوذگر در راستای انگیزه‌های نامتعادل و غیر انسانی قرار بگیرد، خطری جدی شبکه‌ها و به تبع آن انسانها را تهدید خواهد کرد. کدها ی مخر ب براساس کارکردی که دارند به انواع مختلفی تقسیم و نام گذاری می‌شوند که نرم‌افزارهای ضد ویروس براساس این دسته بندی‌ها قادر به تشخیص آنها می‌باشند . در این بخش به معرفی دسته بندی‌های متداول می‌پردازیم و وجود ۳ مشخصه زیر را در هر دسته بررسی می‌کنیم : ۱-خود همتاسازی : این مشخصه بدین معنی است که کد مخرب با استفاده از تولید نسخه‌های مشابه خود انتشار پیدا کند. ۲-رشد جمعیت : این مشخصه بدین معنی است که کد مخرب در هنگام انتشار، نسخه‌های جدید و متفاوت از خود را تولید نماید. ۳ -خاصیت انگلی : این مشخصه بدین معنی است که کد مخرب وجود مستقل ندارد یعنی به وجود یک برنامه به عنوان میزبان نیازمند است .برای مثال ویروسی که در فایل‌های اجرایی کد خود راکپی می‌کند و با اجرای فایل‌های اجرایی اجرا می‌شود نمونه‌ای ازاین عملکرد انگلی است .بر اساس این ویژگی‌ها کدهای مخرب را به انواع زیر تقسیم می‌کنند:

  • بمب منطقی
  • اسب تروجان
  • درب پشتی
  • ویروس
  • کرم
  • خرگوش
  • جاسوس
  • Adware
  • روت کیت

که هر کدام را جداگانه بررسی می‌کنم.

بقیه رو از اینجا بخونید /...


Learning Perl - Writing Exploits5
دوشنبه ششم شهریور ۱۳۹۱ ساعت 20:43 | نوشته ‌شده به دست سیروس | ( )

حلقه ها

با استفاده از ساختارهای تکراری می توانیم تصمیم بگیریم که که چه دستوراتی در چه وضیعتی اجرا و چه دستراتی اجرا نشوند . سه دستور مورد استفاده در تکرار و درست کرده حلقه عبارتند از while ، Untilو از همه مهمتر for و برای تکرار در آرایه ها هم می توان foreach که ما درر این کتاب نحوه ای کار while و for را که برای ما پر کاربردتر از بقیه هستند تفصیر می کنیم :

ساختار While را می توان به دوگونه استفاده کرد به مثال زیر توجه فرمائید :

Do

{

دستور 1

. . . .

 دستور n

{

While(Conditionals)

توجه داشته باشید منظور از Conditionals شرط ساختار است و یا اینکه :

While(Conditionals)

{

دستور 1 

. . .

دستور n

};

ساختار دیگری که باعث اجاد حلقه در پرل می شود ساختار Until می باشد که آن هم به دو نوع در برنامه نویسی وشباهت زیادی به while دارد که به دلیل کاربرد کم از توضیح آن چشم پوشی می کنم .

یکی از مهمترین و پر کاربردترین ساختارها برای حلقه ساختار for می باشد که می توان به شکل زیر از آن استفاده کد :

 )گام افزایش/گام کاهش ; شرط حلقه ; مقدار اولیه شمارنده حلقه ( for

{

     دستورات حلقه

};

این مثال حالت کلی برای نحوه استفاده از ساختار for است یه مثال و نحوه ای کار این ساختار رو در پایئن می بینید :

For ($s=1;$s<=4;$s++)

{

دستورات حلقه

};

یک مثال ساده می باشد که در آن متغییر $S برابر با 1 است و در شرط حلقه گفته شده که اگر $s کوچکتر ویا مساوی 4 باشد گام افزایش رو ادامه بده .  $s++ یعنی اینکه یکی به $s اضافه کن .

برچسب‌ها: perl, socket, socket programming, exploit

دانلود ImageEn
دوشنبه ششم شهریور ۱۳۹۱ ساعت 20:36 | نوشته ‌شده به دست سیروس | ( )
 

ImageEN

ImageEn یک ActiveX خوب برای پردازش تصویر در محیط Visual Studio می باشد .

این نرم افزار همون طور که گفته شد یک نرم افزار برای انجام پردازش تصویر می باشد . البته برای این کار این بهترین نیست و من خودم هم آشنائی با این ActiveX ندارم . علاقه مندان می توانند به سایت این نرم افزار که در پایین است مراجعه فرمائید دارای یک انجمن تخصصی نیز می باشد که آموزش های لازم و همین طور جواب سوال های خود رو از اونجا در یافت کنید . من خودم با MATLAB کار کردم و کتابخانه OpenCV هم که یکی از افزونه های Visual Studio‌ می باشد که یکی از کاملترین کتابخانه ها برای این کار می باشد در آینده حتما به اون هم خواهیم رسید البته قبلش برای شما پردازش تصویر با MATLAB رو می گم .

سایت رسمی ImageEn

دانلود ImageEn از بخش دانلود سایت

موفق باشید /....


آموزش سیمولیک
دوشنبه ششم شهریور ۱۳۹۱ ساعت 20:33 | نوشته ‌شده به دست سیروس | ( )
 

matlab,مطلب

یکی از کاربردهای مطلب بخش شبیه ساز یا همون سیمولیک است برای همین گفتم اگه بتونم براتون یک مقاله بنویسم خیلی خوب می شه . در همین حال بودم به یک مقاله برخورد کردم که توسط آقای مجتبی آیتی نیا نوشته شده است . به نظر من که خیلی خوب بودش براتون هر چند روز یک بار یک بخش رو می زارم . البته سری مقالات آقای آیتی نیا در 6 بخش است و ما نیز نمی زاریم از این تعداد تجاوز کنه .

سخنی از نویسنده : قصد دارم در چند قسمت، نحوه كاركردن با Simulink رو به شما آموزش بدم پس اگه تا حالا با Simulink كار نكرديد و يا مشكلاتي در كاركردن با اون داريد مي‌تونيد با من همراه باشيد درصورتي‌كه پاسخ مشكلتون رو دريافت نكرديد مي‌تونيد در قسمت نظرات اون مشكل رو مطرح كنيد، اگه بلد بودم پاسختون رو مي‌دم.

برای دریافت متن کامل مقاله لطفا به ادامه مطلب مراجعه فرمائید /...

 


دانلود کامپایلر قدرتمند CCS برای میکروکنترلرهای PIC
دوشنبه ششم شهریور ۱۳۹۱ ساعت 20:29 | نوشته ‌شده به دست سیروس | ( )

کامپایلر CCS یکی از قدرتمندترین و همین طور به نظر خودم محبوبترین کامپایلر برای میکروکنترلهای ساخت شرکت Microchip هستش . همین طور به خاطر داشتن بخش Wizard برنامه نویسی رو نسبت به Micro C در این میکروکنترلرهای PIC آسانتر کرده .

ورژن 4 این نرم افزار همراه با کرک اون ور می تونید از لینک زیر در یافت کنید .

دانلود کامپایلر CSS برای میکروکنترلرهای PIC

موفق و شاد باشید /..

کریستال در AVR - ATmega
شنبه چهارم شهریور ۱۳۹۱ ساعت 20:49 | نوشته ‌شده به دست سیروس | ( )

با سلام "

این پست مخصوص یکی از مخاطب ها می باشد البته عمومی هم هست هر کسی خواست می تونه استفاده کنه . در مورد تنظیم کریستال بر روی سری AVR-ATMEGA8 , 16 و همین طور 32 که مثل 16 هست .

چرا و چه وقت و چطور از کریستال استفاده می کنیم ؟

هر وقت بخواهیم سرعت پردازش بیشتر شود باید از کریستال استفاده کنیم یعنی هر چه کریستال بیشتر باشد سرعت پردازش هم به همون اندازه بالا می رود .

البته باید این رو بگم که خود میکروکنترلرهای AVR دارای یک اسیلاتور داخلی 8MHz می باشد و هر بخواهیم از یک کریستال خارجی استفاده کنیم باید از یک کریستال استفاده کنیم که بالاتر از کریستال داخلی باشد دلیل اون هم این هست که کریستال خارجی توان بالای رو از میکرو می گیره برای همین اگر قرار باشه از کریستال با مقدار 8MHz استفاده کنیم بهتر هست که از کریستال داخلی استفاده کنیم به 2 دلیل اولی اینکه کریستال خارجی توانش بالاست و دومی اینکه از نظر اقتصادی نیز 400 تومنی تو جیبت می مونه و البته سومی مدار شلوغ نمی شه .

اتصال کریستال به میکرو AVR

همون طور که اکثر دوستان می دونن برای اتصال کریستال به میکرو باید از پایه های XTAL1 و XTAL2 در میکروکنترلرهای AVR استفاده کرد . البته به چه نحوه در میکرو کنترلرهای mega16 , mega32  که رایجترین هستن کریستال به وسیله 2 خارن عدسی به این پایه ها وصل می شوند مثل شکل شماره 1- الف .

دلیل استفاده از خازن ها هم گرفتن نویز بر روی اسیلاتور می باشد و مقدار اون بسته به مقدار کریستال از 15pF تا 22pF می باشد .

در میکرو mega8‌پایه های XTAL1 و XTAL2 با دوتا از بیتهای پورت B مشترک هست اگر بخواهیم توی این میکرو از کریستال استفاده کنیم پیشنهاد می کنیم بیشتر از 12MHz‌نباشه چون زیاد جواب نمی ده . در حالت پیش فرض پایه ها برای پورت B هست . یعنی اگه کریستال رو به این پایه ها وصل کنیم در هنگام کار هیچ اتفاق خاصی نمی افته . برای فعال کردن باید هنگام پروگرام کردن میکرو تو بخش فیوزبیت ( البته توی AVR Studio‌ ) گزینه  اکسترنال رو انتخاب کنید . اینطوری حله . نحوه اتصال کریستال به میکرو رو هم می تونید در شکل 1 – ب ببینید .

123456789

شکل اول

جواب سوال دوستمون : بله وقتی از یک کریستال خاص استفاده می کنیم باید تنظیمات اون رو انجام بدیم برای مثال توی Codvision باید در بخش code wizard و تب chip باید مقدار کریستال رو روی مقداری که می خواهیم قرار بدیم و در BASCOM باید در مقابل دستور $crystal = CRYSTAL VALUE یعنی جای CRYSTAL VALUE مقدار کریستال مورد استفاده رو انجام داد .

اگه سوالی داشتی باز من در خدمتم /...

برچسب‌ها: AVR, micro, میکرو, فیوزبیت

Learning Perl - Writing Exploits4
شنبه چهارم شهریور ۱۳۹۱ ساعت 20:46 | نوشته ‌شده به دست سیروس | ( )

شرطی

در هر زبان برنامه نویسی توابه شرطی وجود دارد و زبان پرل نیز از این قاعده خارج نیست . برای این منظور بیشتر در زبان پرل از If استفاده می شود .

کار توبع شرطی به این صورت است که یک شرط را بیان می شود اگر ورودی طبق شرط تعریف شده بود عمل ادامه برنامه در غیر این صورت error به برای مثال بچه که بودم بابام به من گفته اگه درس بخونی معدلت بالا بشه برات به PS می گیرم در غیر این صورت باید تابستان می رفتم سر کلاسهای سال آینده صورت کلی این تابع به صورت زیر است .

#!/usr/bin/perl –w

$variables[1]=  XXXXXX

$Variables[2]= YYYYY

If ($Variables[1]>$Variables[2])

{

ادامه برنامه دنبال شود ...........

}

Else

{

نمایش خطاء .......

};

حالا بیاید توی این یک برنامه واقعی ایجاد کنیم . به کد زیر توجه کنید :

#!/usr/bin/perl –w

$s1=22

$s2=11 

If ($s1>$s2)

{

Print “$s1 is Greater”

}

Else

{

Print “$s2 is Greater”

};

بیایئد ببینیم چی کار کردیم ما در ابتدا دو متغییر تعریف کردیم که به ترتیب عبارتند از$s1 و $s2 که به ترتیب مقدار آنها برابر با 22 و 11 بوده است . با تابع if شرط را اینگونه بیان کردیک که اگر$s1 از$s2 بزرگتر باشد در خروجی چاپ کن $s1 is Greater که بعد از آن هم با else که با if می اید گفیتم اگه شرط درست نبود در خروجی $s2 is greater رو چاپ کن .

در کد بالا از دستور else استفاده شده ، اما همیشه این طور نیست گاهی اوقات برنامه نویسی فقط درستی را چک میکند و در صورت اینکه شرط درست نباشد چی می شه چیزی رو تعیین نمی کنه  برای مثال بالا اگر از else استفاده نکنیم موردی پیش نمی اید بری مثال کوتاه شده ای کد بالا را مشاهده کنید :

#!/usr/bin/perl –w

$s1=22

$s2=11

If ($s1>$s2)

{

Print “$s1 is Greater”

};

البته روشهای دیگر نیز برای استفاده از ساختار وجود دارد که در این مقاله نمی گنجد . برای مطالعه بیشتر می توانید به کتابهای در این زمینه مراجعه فرمائید.  ;)


 
دیگر موارد