فهرست مطالب:

نامه به مورس مترجم کد: 5 مرحله
نامه به مورس مترجم کد: 5 مرحله

تصویری: نامه به مورس مترجم کد: 5 مرحله

تصویری: نامه به مورس مترجم کد: 5 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
نامه به مورس مترجم کد
نامه به مورس مترجم کد

دیدن نمایندگی های کد مورس به صورت آنلاین برای یادگیری آن مفید است ، اما نمی توان آن را با دیدن شخص با چراغها/صداهای چشمک زن واقعی مقایسه کرد. این مترجم به شما امکان می دهد حرفی را که می خواهید در کد مورس بیاموزید انتخاب کنید و آن را درست در جلوی چشم خود با چشمک زدن LED ها در الگویی که برای آن حرف خاص نشان می دهد ، ترجمه کنید! این مترجم یک نمایش دوتایی از یک حرف را در الفبا دریافت می کند (بعداً نمودار برای معادل دوتایی هر حرف قابل مشاهده است ، اما فرض کنید که A - 01 ، B - 10 ، C - 11 و غیره) و تبدیل می کند آن را با یک چراغ چشمک زن برای کاربر معادل کد مورس قرار دهید. نسخه اعشاری این شماره نیز در یک صفحه هفت قسمتی نمایش داده می شود ، اما به شما اطلاع می دهد که در حال ایجاد معادل دوتایی صحیح هستید.

عدد دودویی با سوئیچ های سمت راست ایجاد می شود و از کمترین مقدار بیت صعود می کند ، درست مانند آنچه در هنگام ایجاد یک عدد دودویی انتظار داشتید. عددی که ایجاد می کنید همانطور که قبلاً گفته شد در صفحه هفت قسمت نمایش داده می شود و در سمت چپ صفحه قرار دارد ، به سادگی به شما می گوید که در نمایش عدد دودویی با سوئیچ ها اشتباه کرده اید یا نه ، یا تأیید می کند عدد صحیح هر بار 1 حرف می گیرد ، آن را در حافظه ذخیره می کند و سپس هنگامی که کاربر آماده است ، کد مورس را با فعال کردن "چاپ کلید" موجود در سمت چپ برد BASYS3 چاپ می کند (این فقط یک سوئیچ دیگر است که ما "سوئیچ چاپ" یا یک سوئیچ دیگر در صورت استفاده از نوع متفاوت برد FPGA و تعیین سوئیچ متفاوت اختصاص داده شده است (مرحله 3 را ببینید). توصیه می شود برای سادگی از برد BASYS3 استفاده کنید ، اما نیازی نیست.

مرحله 1: مرحله 1: مواد خود را جمع آوری کنید

برای این پروژه ، فقط به موارد زیر نیاز دارید:

سخت افزار- Basys3 Board (یا FPGA معادل که می توانید متناسب با آن سیم کشی کنید)

-(اختیاری) اگر قصد دارید LED های اضافی یا سوئیچ های مختلف را به FPGA متناوب وصل کنید

Software-Vivado Design Suite (توصیه می کنیم 2014+)

مرحله 2: مرحله 2: ایجاد یک فایل

این فایلی است که برای اجرای مترجم کد مورس کد 1 در Vivado به زبان VHDL نوشته شده است. این فایل با تمام نسخه های Vivado کار می کند. اگر مشکلی در بارگیری فایل وجود دارد ، یک نمایش متن از کد را می توانید در فایل دیگری در زیر پیدا کنید و می توانید به راحتی آن را در پوشه فایل ایجاد شده کپی کنید. قبل از تلاش برای ایجاد جریان بیتی یا ترکیب هر چیزی ، مطمئن شوید که منبع اصلی و فایل محدودیت ها در منابع جداگانه خود وجود داشته باشند. برای کسانی که می خواهند توضیحات عمیق تری از کد و آنچه در واقع انجام می دهد را درک کنند ، مرحله 3 را بررسی کنید. اگر می خواهید به سادگی به مقصود برسید و شروع به ترجمه کنید ، به بخش 4 بروید.

مرحله 3: مرحله 3: کد

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

فرایند 1:

اولین فرایندی که ایجاد کردیم از تقسیم ساعت برای ایجاد نمایش هفت قسمت برای دو بخش استفاده کرد تا معادل دوتایی حرفی که شخص ایجاد می کرد را نشان دهد. ما باید مطمئن شویم که ساعت به درستی عدد را در هفت بخش صحیح مورد نظر ما نشان می دهد. ما بخش ها را بر این اساس اختصاص دادیم ، به طوری که وقتی از آنها می خواهیم ارقام خاصی را نشان می دهند ، و 2 رقم آخر را می چرخانیم ، زیرا برای نشان دادن همه اعداد الفبا فقط به 2 عدد نیاز داریم. ما نمایش هفت قسمتی را در سیستم اعداد اعشاری انجام دادیم تا مردم بتوانند ببینند چه حرفی را سعی می کنند نمایان کنند ، زیرا اکثر مردم از سیستم های شماره 10 پایه 10 استفاده می کنند.

فرایند 2:

فرایند دوم ساعت ما را برای عملکرد LED ها ایجاد می کند ، به طوری که ما می توانیم پالس ها را به وضوح ببینیم و بین نقطه و خط تمیز قائل شویم ، و همچنین زمان کافی بین هر بخش از کد مورس داشته باشیم. ما از یک سیگنال برای عبور یک گذرگاه پر از خروجی های LED کد مورس خارج از فرایند و روی LED های روی برد استفاده کردیم تا بتوانیم چندین فورا را به طور همزمان روشن کنیم ، نه اینکه فقط یک فلاش LED داشته باشیم.

فرایند 3:

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

فرایند 4:

چهارمین فرایند ، فرآیند "مترجم" است که شامل تمام اطلاعاتی است که ما تا کنون جمع آوری کرده ایم ، مانند فعال یا خاموش نشدن دکمه ذخیره ، روشن یا خاموش بودن کلید چاپ یا خیر ، و شماره ای که در آن قرار دارد. توسط سوئیچ ها نمایش داده می شود. سپس به آرایه ای که ساخته ایم نگاه می کند ، که دارای کد مورس است که نشان می دهد خروجی با دستورات 1 و 0 برابر است با دستورات روشن/خاموش برای LED ها. به جای استفاده از دو ساعت مجزا ، ما یک ساعت چرخه وظیفه ای 50٪ ایجاد کردیم که احساس می کردیم سرعت خوبی برای کد مورس است و از آن خواستیم یک نقطه با 1 "پالس" بالا و یک خط تیره برای 3 بالا انجام دهد. نبض " برای ساده سازی کد و اجرای سریعتر آن ، ما فقط یک نقطه برابر با "010" و یک خط برابر با "01110" ایجاد کردیم.

مرحله 4: مرحله 4: ایجاد Bistream و پیاده سازی

اگر شما یک برد BASYS3 دارید ، این پروژه بسیار آسان راه اندازی می شود ، زیرا همه سوئیچ ها و دکمه های مورد نیاز در حال حاضر روی برد برای استفاده شما وجود دارد ، به همراه محدودیت هایی که برای پین هایی که می خواهید از پیش تعیین شده است. اگر از FPGA متفاوتی استفاده می کنید ، باید وارد کد شده و محدودیت ها را پیدا کرده و دوباره آنها را به محدودیت های صحیح FPGA خود هدایت کنید. اگر قصد دارید سایر LED ها و کلیدها را برای استفاده به برد خود وصل کنید ، این امر نیز صادق است. ما به مثال هایی در این مورد نمی پردازیم ، اما استفاده از دفترچه راهنمای FPGA خاص شما در تعیین نحوه سیم کشی و هدایت همه چیز به پین های مناسب بسیار مفید خواهد بود.

در این مرحله ، پس از بارگیری کد و باز شدن فایل ، به سادگی در Vivado جریان بیت را ایجاد کرده و دستگاه خود را برنامه ریزی کنید. پس از انجام این کار ، می توانید شروع به وارد کردن حروف برای ترجمه به کد مورس کنید! لذت بردن!

*توجه: "چاپ کلید" در سمت چپ صفحه قرار دارد (کلید R2 برای برد BASYS3) و "دکمه ذخیره" دکمه U18 (دکمه مرکزی در برد BASYS3) است اگر محدودیت ها مستقیماً از کد نمونه ما

مرحله 5: مشکلات/عیب یابی

اگر در بارگیری فایل مشکل دارید ، می توانید کد را به صورت دستی از این فایل word کپی کنید. همچنین یک پیوست برای شما وجود دارد که می توانید از تبدیل آسان بین باینری به حرف و آنچه که نامه باید نشان دهد ، دیدن کنید ، بنابراین توصیه می کنیم آنها را بررسی کنید! اگر از BASYS3 Board استفاده می کنید ، باید بتوانید این دستورالعمل ها را دنبال کرده و کد را بدون هیچ مشکلی بارگیری کنید و پس از اتصال برد و برنامه ریزی آن ، بدون مشکل آن را پیاده سازی کنید.

*توجه: اگر متوجه شدید که مترجم شما کند کار می کند ، این طبیعی است! بین زمانی که چاپ را فشار می دهید و زمانی که نمایانگر کد مورس است ، تاخیر زمانی کمی وجود دارد. اگر چرخه را با خاموش کردن کلید چاپ متوقف کنید ، کد باید قبل از چاپ حرف جدید ، چرخه را تکمیل کند و منتظر پایان چرخه و شروع حرف بعدی باشید.

توصیه شده: