دانلود پروژه مدار شماره گیر تلفن با avr و بسکام
همانطوریکه می دانید در سیستمهای تلفن قدیم برای شماره گیری از پالس استفاده می شد و به برای گرفتن هر رقم میبایستی به تعداد آن رقم دو سر خط را اتصال کوتاه کرده و قطع کنیم. به طور مثال برای گرفتن شماره 9 مجبور بودیم که 9 بار سیم های تلفن را قطع و وصل کنیم به عبارت دیگر 9 پالس متوالی سریال به خط بدهیم. ولی در سیستم های تلفن جدید برای شماره گیری از تن دی تی ام اف DTMF به جای پالس استفاده می شود و هر به هر رقم یک تن صوتی خاص اختصاص داده شده است که استاندارد بین المللی می باشد و در تمام دنیا مورد توافق و استفاده قرار گرفته است. (در تلفن های استاندارد 16 کلید وجود دارد که معمولاً 12 کلید استفاده می شود؛ 10 کلید برای ارقام و 2 کلید * و # ) با فشار هر کلید تن های مربوط به سطر و ستون آن کلید با هم پخش می شوند.
توضیحات پروژه:
هسته اصلی این پروژه استفاده از تابع DTMFOUT موجود در میکروی AVR به شماره ATMEGA8 می باشد که می تواند با استفاده از تایمر شماره یک تن صوتی مورد نظر را تولید کند (برای اطلاعات بیشتر در مورد چگونگی عملکرد این دستور به پست "شماره گیری تلفن با میکروکنترلر AVR" در پایین همین صفحه مراجعه فرمایید). در قسمت ارتباط با کاربر از صفحه کلید 24 رقمی استفاده شده تا از حداکثر کلید های مجاز بتوان برای حافظه استفاده کرد. البته می توان از کی پد های 16 رقمی استاندارد نیز برای این پروژه استفاده کرد ولی در این صورت می بایستی در خط 5 برنامه Config Kbd = Portd , Rows = 6 , Row5 = Pinb.2 , Row6 = Pinb.3 قسمت های اضافه پاک کنید تا به صورت Config Kbd = Portd در بیاید و نیز در خط 22 برنامه If Key > 23 Then Goto Memory_key عدد 23 را به 16 تغییر دهید چرا که تابع کی پد های 24 کلیدی در صورت فشار ندادن کلید ها عدد 24 را بر می گرداند و تابع کلید های 16 کلیدی در صورت فشار ندادن کلید ها عدد 17 را بر می گرداند که بایستی توجه شود. بخش دیگر برنامه استفاده از تایمر 0 برای چشمکزدن LED قرمز می باشد. همانطوریکه ملاحظه می فرمایید از تایمر 0 به عنوان زمانسنج استفاده کرده ایم و مقدار پرسکالر آن را روی حد اکثر ممکن یعنی 1024 قرار داده ایم تا فرکانس اسیلاتور میکرو را به کمترین مقدار ممکن تبدیل کند و به عبارتی بیشترین تاخیر زمانی را تولید نماید. استفاده از این تایمر اختیاری بوده و تاثیری در عملکرد کلی مدار ندارد فقط سبب چشمک زدن LED قرمز می شود که نشان دهنده آماده به کار بودن سیستم است. طرز کار آن نیز بدین صورت می باشد که تایمر پس از سر ریز شدن به برچسب Blink_led پرش می کند و مقدار Time_led را که بر حسب بایت می باشد یک واحد افزایش می دهد. این کار در هر ثانیه ده ها بار اتفاق می افتد. سپس مقدار Time_led مورد بررسی قرار می گیرد. در صورتی که این مقدار از 50 بزرگتر شد مساوی با صفر می گردد. تا اینجا موفق شدیم که با استفاده از تایمر صفر یک مقدار عددی را از 0 تا 50 به طور متوالی افزایش دهیم. در شرط بعدی برای بار دوم مقدار Time_led بررسی می شود. در صورتی که این مقدار در بازه بین 0 تا 2 قرار داشت دیود LED قرمز روشن می شود و در غیر این صورت (در بازه بین 3 تا 50 ) LED خاموش می شود. با توجه به این که زمان تغییر عدد از 0 تا 50 حدود ۴ ثانیه طول می کشد، تقریباً یک پنجاهم این زمان LED روشن بوده و در بقیه زمان خاموش می باشد و در نهایت یک لامپ چشکمزن خواهیم داشت که آماده به کار بودن مدار را نشان می دهد. اما بخش اصلی برنامه پردازش در حلقه در یافت از کی پد می باشد که در خطوط 20 تا 29 قرار دارد. با فشار هر یک از کلید های روی کی پد عدد متناظر با آن در متغیر Key از نوع بایت قرار گرفته سپس رله و چراغ سبز روشن می شوند و دستور Number = Lookupstr(key , Memory اجرا می گردد. در این دستور شماره تلفن متناظر با کلید فشار داده شده از جدول Memory استخراج شده و در متغیر رشته ای Number قرار می گیرد. این متغیر یک متغیر موقتی می باشد که طول آن را متناسب با بزگترین شماره تلفن موجود در جدول انتخاب کنید. (توجه کنید که منظور از بزرگترین، یعنی طولانی ترین شماره) در خط بعد شماره مورد نظر توسط دستور DTMFOUT شماره گیری می شود و منظور از عدد 50 در جلوی آن اینست که هر یک از ارقام شماره تلفن به مدت 50 میلی ثانیه تولید می شوند و در واقع گرفتن یک شماره تلفن 10 رقمی حدود نیم الی یک ثانیه طول می کشد که کمترین سرعت ممکن برای مخابرات ایران است. ( مقادیر کمتر از 50 را نیز امتحان کردم ولی توسط سیستم های مخابرات آشکار نمی گردد!) پس از این دستور رله و چراغ سبز بلافاصله خاموش می شوند و چوک کوپل را از خط تلفن آزاد می کنند.( این چوک معروف به چوک آبی رادیو می باشد که می توانید از تمام مغازه های تعمیرات رادیو و یا الکترونیکی ها تهیه فرمایید و برای جدا کردن خط تلفن از مدار شماره گیر به کار می رود). توجه کنید هنگامی که قصد شماره گیری دارید می بایستی حتماً گوشی تلفن را برداشته باشید تا خط آزاد بماند چه در غیر این صورت هیچ شماره ای گرفته نمی شود و قبل از پردازش تن توسط مخابرات، خط توسط میکرو قطع می گردد. بخش حافظه دستگاه در قسمت آخر برنامه قرار گرفته و شامل 24 قسمت می باشد. (در صورتی که از کی پد 16 کلیدی استفاده کنید باید تعداد آن را به 16 کاهش دهید). در این قسمت تعداد خطها اهمیتی ندارد و می توان هر 24 رقم را در یک خط DATA پشت سر هم نوشت ولی به خاطر تطبیق شماره ها با کلید های کی پد به صورت 6 خط 4 تایی نوشته شده است. شایان ذکر است که هر یک از ارقام نوشته شده یک بایت از حافظه کدی میکرو ROM را اشغال می کنند و اگر هر شماره تلفن را 10 رقم فرض کنیم (10 بایت) حدود 6هزار شماره تلفن را می توان در این میکرو نوشت که با توجه با محدودیت کلید های کی پد کار مشکلی می باشد و نیاز به برنامه نویسی حرفه ای تر و استفاده از LCD دارد ولی در صورتی که تمایل به ساخت چنین چیزی داشتید می توانید با من تماس بگیرید.
طرز کار پروژه:
j1:سوکت تلفن می باشد که باید به خط تلفن وصل شود.
R3: مقاومت ۳۳۰ اهم جهت کاهش دادن مقاومت خط تلفن. با قرار دادن این مقاومت در مدار، خط تلفن اشغال خواهد شد.
RL1: در مسیر چک تلفن و خط تلفن باید یک رله قرار بگیرد ، تا هر زمان که نیاز شد یا وصل کردن رله بتوانیم خط را اشغال کنیم. بعد از فعال شدن رله مقاومت ۳۳۰ اهم در مدار خط تلفن قرار میگیرد و با کاهش مقاومت خط ، به مرکز مقاومت می فهماند که خط اشغال است و آماده شماره گیری میباشد.
TR1: برای اینکه پالس های تن را به خط تلفن اعمال کنیم از یک چوک استفاده شده است. برای این شماتیک از چوک قرمز استفاده کنید. این چک مدار تلفن را از میکروکنترلر ایزوله میکند. و پایه میکروکنترلر با خط تلفن تماس الکتریکی ندارد.
Sounder1: جهت پخش کردن صدای تن میتوان از یک اسپیکر کوچک ۸ اهم ۰٫۵W استفاده کرد.
Sounder2: جهت پخش صدای BIB به منظور صحت فشرده شدن کلیدهای کیپد. برای این کاز از بیزر استفاده شود. توجه: در صورت استفاده عملی از این پروژه حتما از کریستال خارجی استفاده شود. این پروژه با کریستال داخلی قادر به شماره گیری نیست.
توجه: از کریستال ۴MHz تا ۱۰MHz استفاده شود.
قابلیتها:
شماره گیری به صورت عددی بعد از وارد کردن شمارهشماره گیری از روی موارد ذخیره شده در حافظهقابلیت ذخیره شماره جدید در حافظههمراه با pcbسورس بسکامسورس پروتیوس و شماتیکعدم حذف شماره ها با قطع برق
بخشی از متن اصلی :
فرمت فایل : PDF, C#, ASPX
همراه سورس پروژه + داکیومنت
این فایل، در دسته نرم افزارهای تحت وب قرار می گیرد که امروزه کاربردهای وسیعی یافته اند و روز به روز بر گسترش آنها افزوده می شود. هدف از تولید این نرم افزار تحت وب، کم کردن میزان رفت و آمد به موسسه کاریابی و همچنین کم کردن میزان تماس های تلفنی، زیاد کردن درآمد شرکت از طریق آگاهی سریع کارفرماها، کارجوها، و موسسه کاریابی به اطلاعات همدیگر و نیز به فرصتهای شغلی می باشد. استفاده از قابلیتهای جدیدی مثل CSS 3 هم در این نرم افزار به چشم می آید. امید است که شما از این نرم افزار در جهت خدمتی هر چند ناچیز به بشریت استفاده کنید.
این پایان نامه شامل چهار فصل می باشد. در فصل اول مقدمه ای از سیستم کاریابی را ذکر کرده ایم. در فسل دوم تئوری پروژه، کاربردهای مبتنی بر آن، تحلیل سیستم موسسه کاریابی و نیز نمودارهای زبان مدلسازی یکپارچه مربوط به سیستم آورده شده اند. در فصل سوم، شرح کامل پروژه و نحوه اجرای نرم افزار و نیز شرح برخی از کدهای نرم افزار صورت گرفته است. در فصل چهارم نیز نتیجه گیری کرده ایم و در انتها نیز ضمیمه و مراجع آورده شده اند. این پروژه شامل امکانات زیر می باشد:
1) کنترل پنل برای مدیر وب سایت، کارجو و کارفرما
2) امکان مشاهده لیست کارفرمایان، کارجویان، فرصتهای شغلی، و پیوندهای بیرونی برای مدیر
3) امکان حذف کارفرما، کارجو، فرصت شغلی، و پیوند بیرونی توسط مدیر
4) امکان اضافه کردن یک پیوند بیرونی
5) ثبت نام از کافرمایان و کارجویان
6) اعلام نیروی انسانی مورد نیاز توسط کارفرمایان
7) نمایش لیست کلیه فرصتهای شغلی موجود در سایت
8) امکان ابراز علاقه به فرصت شغلی توسط کارجویان لاگین کرده
9) امکان دیدن رزومه کاندید فرصت شغلی برای کارفرما
10) امکان مشاهده لیست کارجویان برای کارفرما
11) امکان دیدن رزومه کارجو توسط کارفرما و مدیر
12) امکان دعوت از کارجو برای استخدام توسط کارفرما
13) استخدام کارجو در صورت تایید کارفرما
کارفرما می تواند با ثبت نام و متعاقبا وارد شدن به پنل خود، درخواست نیروی انسانی خود را بدهد یا به عبارت دیگر فرصتهای شغلی خود را ارائه بدهد. کارجویانی که در سایت ثبت نام کنند میتوانند بدون مراجعه حضوری و یا بدون تماس تلفنی با موسسه، از فرصتهای شغلی اطلاع پیدا کنند تا اینکه شاید شغل مناسب با خود را پیدا کنند. همچنین هر کارجو با وارد شدن به پنل خود می تواند به شغل مورد علاقه خود ابراز علاقه کند. این باعث می شود تا کارفرمایی که آن شغل را ارائه کرده است از وجود چنین کارجویی آگاه شده و بتواند رزومه کارجو را ببیند. همین امر می تواند در امر استخدام کارجویان سرعت بخشد. مدیر وب سایت هم یک سری اعمال مدیریتی مثل مشاهده لیست کارفرمایان، لیست کارجویان، لیست فرصتهای شغلی، لیست پیوندها به سایتهای دیگر را ببیند. همچنین مدیر می تواند با انتخاب کارفرما، کارجو، فرصت شغلی، یا یک پیوند از لیستهای مربوطه آنها، جزئیات مربوط به آن موجودیت را ببیند و در صورت صلاحدید آنرا حذف کند. این پایان نامه شامل چهار فصل می باشد. در فصل اول مقدمه ای از سیستم کاریابی و روند کاری را ذکر کرده ایم. در فصل دوم تئوری پروژه، کاربردهای مبتنی بر آن، تحلیل سیستم موسسه کاریابی و نیز نمودارهای زبان مدلسازی یکپارچه آورده شده اند. در فصل سوم، نحوه اجرای نرم افزار و نیز شرح برخی از کدهای نرم افزار صورت گرفته است. در فصل چهارم نیز نتیجه گیری کرده ایم. بعد در انتها نیز مراجع آورده شده اند.
در این پروژه سعی شده است از فناوریهای به روزی مثل jQuery، CSS 3، HTML 5، C# 4 و غیره استفاده شود. شما می توانید برای اطلاع کامل از ابزارهای استفاده شده برای تحلیل و پیاده سازی این پروژه به فصل سوم مراجعه فرمائید. قالب صفحات وب این سیستم را خودم طراحی کرده ام و با نرم افزار خاصی کار نکرده ام. برای این کار باید تقریبا آشنایی کاملی با سی اس اس و html داشت. البته کلاسهایی که رفته بودم خیلی به من کمک کردند که سی اس اس و html را یاد بگیرم. ولی به عنوان یک کتاب خوب می توانم مرجع شماره 1 را معرفی کنم که واقعا کتاب خوبی است. برای یادگیری html هم مرجع شماره 2 را توصیه می کنم. همچنین در این پروژه سعی کرده ام که از جداول html کمتر استفاده کنم. به جای جداول html از تگهای div استفاده کرده ام. استفاده از تگهای div به جای تگهای table مزیتهایی دارد. مثلا خزندگان وب محتویات تگهای div را بهتر index گزاری می کنند و همین امر می تواند باعث افزایش بازدیدکنندگان وب سایت شود. و البته تگهای table هم مزیتشان این است که با اکثر مرورگرها سازگار هستند و در کلیه مرورگرها تقریبا به یک شکل دیده خواهند شد. می توانید برای اطلاعات بیشتر در مورد فرق استفاده از تگهای div به جای تگهای table به مرجع شماره 3 مراجعه کنید.
همچنین استفاده از مفاهیم پیشرفته در مهندسی نرم افزار، یعنی برنامه نویسی شیء گرا و همچنین برنامه نویسی چند لایه در این پروژه ، باعث شده است که کیفیت و قابلیت استفاده مجدد بالا رود و نگهداری این نرم افزار ساده تر شود. سعی شده است امنیت این وب سایت در برابر حملات نفوذگرها کمی بالا برده شود. استفاده از امکان پردازه های ذخیره شده در سیکوال سرور، استفاده از پارامترها برای ارسال و دریافت مقادیر از پایگاه داده، استفاده از الگوریتم رمزنگاری MD5 برای ذخیره کلمات عبور در پایگاه داده، استفاده از تصویر امنیتی (Captcha) موقع ثبت نام، اعتبارسنجی اطلاعات وارد شده در جعبه های متن هم در سمت سرور و هم در سمت کاربر همه گویای این مطلب هستند. اما باید این نکته را هم ذکر کنیم که این وب سایت کاملا ایمن نیست و هنوز از لحاظ امنیتی خیلی جای کار دارد. ولی به هر حال در برابر حملاتی مثل SQL Injection قدرت مقابله دارد.
فهرست:
فصل اول مقدمه
فصل دوم: تحلیل سیستم
نمودار مورد کاربرد
مشخصات موارد کاربرد
نمودار کلاس
نمودار کلاس لایه BLL
نمودار کلاس لایه DAL
پایگاه داده
رابطه بین جداول پایگاه داده
جزئیات جدول Users
جزئیات جدول Applicant
جزئیات جدول Employer
جزئیات جدول Administrator
جزئیات جدول Job
جزئیات جدول FavoriteJobs
جزئیات جدول davit
جزئیات جدول Applications
جزئیات جدول Anchor
فصل سوم پیاده سازی سیستم کاریابی آنلاین
سند مشخصات پیاده سازی
صفحات وب سیستم کاریابی آنلاین
صفحاتی که همه می توانند ببینند
صفحات مربوط به کارفرمایان
صفحات مربوط به کارجویان
صفحات مربوط به مدیر سایت
فصل چهارم: نتیجه گیری
ضمیمه : نحوه اجرای نرم افزار
منابع و مراجع
فرمت فایل : PDF, C#, ASPX
همراه سورس پروژه + داکیومنت