📥 این پروژه یک سیستم کنترل و مانیتورینگ جامع بر پایه میکروکنترلر 8051 است که برای اندازهگیری و نمایش پارامترهای الکتریکی مانند جریان و ولتاژ سه فاز، همراه با مدیریت زمان و تاریخ طراحی شده است. این سیستم از مبدل آنالوگ به دیجیتال (ADC) برای جمعآوری دادهها و از نمایشگر LCD برای ارائه اطلاعات به کاربر استفاده میکند. همچنین، قابلیت ارتباط سریال برای انتقال دادهها و یک رابط کاربری مبتنی بر کیبورد برای تنظیمات و تعامل را فراهم میآورد.
🎯 مناسب برای: دانشجویان رشتههای مهندسی برق، مهندسی کامپیوتر (گرایش سختافزار و سیستمهای نهفته)، پروژههای آزمایشگاهی میکروکنترلر، و علاقهمندان به طراحی سیستمهای کنترل صنعتی و اتوماسیون.
📂 ویژگیهای فایل:
– کد اسمبلی کامل برای میکروکنترلر 8051.
– پیادهسازی رابط ADC برای اندازهگیری دقیق جریان و ولتاژ.
– کنترل و نمایش اطلاعات بر روی LCD شامل ساعت، تاریخ، مقادیر اندازهگیری شده و منوهای تنظیمات.
– مدیریت ورودی از طریق کیبورد برای تنظیم ساعت، تاریخ، نوع ترانس و دسترسی به منوها.
– قابلیت ارتباط سریال برای ارسال دادههای اندازهگیری شده به سیستمهای دیگر یا کامپیوتر.
– پیادهسازی وقفه تایمر برای محاسبه و نمایش ساعت و تاریخ شمسی.
– ردیابی و ذخیره مقادیر ماکزیمم جریان برای هر فاز همراه با زمان وقوع.
– مکانیزم رمز عبور برای دسترسی به بخشهای حساس منو.
– ساختار ماژولار و زیربرنامههای متعدد برای خوانایی و توسعهپذیری آسان.
دانلود پروژه آماده ویژه دانشجویان.
نامگذاری حافظه RAM و پورتها
CONTROL BYTE
COMMAND BYTE
CONTROL BIT
CONTROL BIT PORT
STARTING PROGRAM
INTERUPT TIMER
INTERUPT SERIAL
MAIN PROGRAM
▪ زیر برنامه اصلی
SERIAL
▪ زیر برنامه وقفه سریال
WATCH
▪ زیر برنامه وقفه تایمر صفر (محاسبه ساعت و نمایش LCD)
SHOW_CLOCK
▪ زیر برنامه نمایش ساعت بر روی LCD
SHOW_DATE
▪ زیر برنامه نمایش تاریخ بر روی LCD
TRANS
▪ زیر برنامه ارسال اطلاعات ولتاژ و جریان سه فاز
KEY BOARD
▪ زیر برنامه چک کردن کی بورد
GET_KEY
▪ زیر برنامه بررسی و خواندن کلیدها
KEY_FUN
▪ زیر برنامه تنظیم ساعت در منو
KEY_FUN_TRANS
▪ زیر برنامه تنظیم نوع ترانس در منو
KEY_FUN_PASS
▪ زیر برنامه گرفتن کلمه رمز
KEY_FUN1
▪ زیر برنامه تنظیم تاریخ سیستم در منو
KEY_FUN2
▪ زیر برنامه منوی اصلی دستگاه
RESTART_RAM
▪ زیر برنامه ذخیره مجدد اطلاعات (با رمز)
SELECT_TRANS
▪ زیر برنامه زیر منوی تنظیم نوع ترانس
BTB_TRANS
▪ زیر برنامه تبدیل عدد جریان به ضریب ترانس
SET_CLOCK
▪ زیر برنامه زیر منوی تنظیم ساعت
SET_DATE
▪ زیر برنامه زیر منوی تنظیم تاریخ
INIT_MAXIMOM
▪ زیر برنامه صفر کردن مقادیر ماکزیمم جریان
INIT_VALUE
▪ زیر برنامه مقداردهی اولیه به متغیرها
READ_CURRENT_1
▪ زیر برنامه فعال سازی کانال صفر ADC و خواندن جریان فاز یک
READ_CURRENT_2
▪ زیر برنامه فعال سازی کانال یک ADC و خواندن جریان فاز دو
READ_CURRENT_3
▪ زیر برنامه فعال سازی کانال دو ADC و خواندن جریان فاز سه
READ_VOLT_1
▪ زیر برنامه فعال سازی کانال سه ADC و خواندن ولتاژ فاز یک
READ_VOLT_2
▪ زیر برنامه فعال سازی کانال چهار ADC و خواندن ولتاژ فاز دو
READ_VOLT_3
▪ زیر برنامه فعال سازی کانال پنج ADC و خواندن ولتاژ فاز سه
SHOW_MAX
▪ زیر برنامه نمایش مقادیر ماکزیمم جریان و ساعت
SHOW_T_MAX
▪ زیر برنامه نمایش زمان ماکزیمم
SHOW_TEXT_VAL
▪ زیر برنامه نمایش نوشتههای ثابت در صفحه اصلی
SHOW_ZARIB
▪ زیر برنامه نمایش ضریب ترانس
MENU
▪ زیر برنامه نمایش منو بر روی LCD
MAX_TIME_REC_1
▪ زیر برنامه ثبت ساعت ماکزیمم جریان فاز یک
MAX_TIME_REC_2
▪ زیر برنامه ثبت ساعت ماکزیمم جریان فاز دو
MAX_TIME_REC_3
▪ زیر برنامه ثبت ساعت ماکزیمم جریان فاز سه
TEST_MAX_1
▪ زیر برنامه تست و ذخیره ماکزیمم جریان فاز یک
TEST_MAX_2
▪ زیر برنامه تست و ذخیره ماکزیمم جریان فاز دو
TEST_MAX_3
▪ زیر برنامه تست و ذخیره ماکزیمم جریان فاز سه
INIT_DATE
▪ زیر برنامه محاسبه تاریخ شمسی
TARIKH
▪ زیر برنامه محاسبه تاریخ (فراخوانی هر 24 ساعت)
LCD_INIT
▪ زیر برنامه راه اندازی صفحه نمایش
BTB
▪ زیر برنامه تبدیل عدد سه رقمی به سه عدد تک رقمی (BCD)
DELAY0
DELAY
DELAY2
DELAY_FOR_ADC
DELAY5
▪ زیر برنامههای تاخیر زمانی
SET_CURS
▪ زیر برنامه تنظیم مکان نما
SHOW
▪ زیر برنامه نمایش اطلاعات بر روی صفحه نمایش
PRI1
PRI2
PRI3
PRI4
PRI6
PRI7
PRI10
PRI11
PRI12
PRI13
PRI14
PRI15
PRI18
PRI19
PRI24
PRI27
PRI28
PRI29
▪ زیر برنامههای نمایش اطلاعات ثابت بر روی صفحه نمایش
نقد و بررسیها
هنوز بررسیای ثبت نشده است.