สารบัญ:

ตัวแปลอักษรเป็นรหัสมอร์ส: 5 ขั้นตอน
ตัวแปลอักษรเป็นรหัสมอร์ส: 5 ขั้นตอน

วีดีโอ: ตัวแปลอักษรเป็นรหัสมอร์ส: 5 ขั้นตอน

วีดีโอ: ตัวแปลอักษรเป็นรหัสมอร์ส: 5 ขั้นตอน
วีดีโอ: วิทยาการคำนวณ ตัวแปลรหัสมอส 2024, พฤศจิกายน
Anonim
ตัวแปลจดหมายถึงรหัสมอร์ส
ตัวแปลจดหมายถึงรหัสมอร์ส

การดูรหัสมอร์สแทนการเรียนรู้ทางออนไลน์นั้นมีประโยชน์ แต่ไม่สามารถเทียบได้กับการได้เห็นตัวจริงด้วยไฟ/เสียงที่กะพริบ นักแปลนี้จะช่วยให้คุณเลือกตัวอักษรที่คุณต้องการเรียนรู้ด้วยรหัสมอร์ส และแปลมันต่อหน้าต่อตาคุณด้วยการกะพริบไฟ LED ในรูปแบบที่แสดงแทนตัวอักษรตัวนั้น! นักแปลนี้ใช้แทนเลขฐานสองของตัวอักษรในตัวอักษร (สามารถเห็นแผนภูมิได้ในภายหลังสำหรับค่าเลขฐานสองของตัวอักษรแต่ละตัว แต่สมมติว่า A - 01, B - 10, C - 11 เป็นต้น) และแปลง ให้เทียบเท่ากับรหัสมอร์สโดยไฟกะพริบสำหรับผู้ใช้ ตัวเลขรุ่นทศนิยมยังแสดงบนจอแสดงผลเจ็ดเซกเมนต์ อย่างไรก็ตาม เพื่อแจ้งให้คุณทราบว่าคุณกำลังสร้างไบนารีที่เทียบเท่าที่ถูกต้อง

เลขฐานสองถูกสร้างขึ้นด้วยสวิตช์ทางด้านขวามือ และขึ้นจากบิตที่มีนัยสำคัญน้อยที่สุด เหมือนกับที่คุณคาดหวังเมื่อสร้างเลขฐานสอง ตัวเลขที่คุณสร้างจะแสดงบนจอแสดงผลทั้งเจ็ดส่วนตามที่ระบุไว้ก่อนหน้านี้และอยู่ทางด้านซ้ายของกระดาน ซึ่งจะบอกคุณได้ง่ายๆ ว่าคุณทำผิดพลาดหรือไม่แสดงแทนเลขฐานสองด้วยสวิตช์ หรือยืนยันว่าคุณทำ หมายเลขที่ถูกต้อง ใช้ตัวอักษรครั้งละ 1 ตัว เก็บไว้ในหน่วยความจำ แล้วพิมพ์รหัสมอร์สเมื่อผู้ใช้พร้อม โดยเปิดใช้งาน "สวิตช์การพิมพ์" ที่ด้านซ้ายสุดของบอร์ด BASYS3 (นี่เป็นเพียงสวิตช์อื่นที่เรา กำหนดให้เป็น "สวิตช์การพิมพ์" หรือสวิตช์อื่นหากใช้บอร์ด FPGA ชนิดอื่นและกำหนดสวิตช์อื่น (ดูขั้นตอนที่ 3) ขอแนะนำให้ใช้บอร์ด BASYS3 เพื่อความง่าย แต่ไม่จำเป็น

ขั้นตอนที่ 1: ขั้นตอนที่ 1: รวบรวมเอกสารของคุณ

สำหรับโครงการนี้ คุณจะต้องมีสิ่งต่อไปนี้เท่านั้น:

ฮาร์ดแวร์ - บอร์ด Basy3 (หรือ FPGA เทียบเท่าที่คุณสามารถต่อสายได้)

- (ตัวเลือก) สายไฟ หากคุณกำลังวางแผนที่จะเชื่อมต่อไฟ LED พิเศษหรือสวิตช์ต่าง ๆ กับ FPGA สำรอง

Software-Vivado Design Suite (เราแนะนำปี 2014+)

ขั้นตอนที่ 2: ขั้นตอนที่ 2: สร้างไฟล์

นี่คือไฟล์ที่เขียนด้วย VHDL เพื่อเรียกใช้โปรแกรมแปล Morse Code 1 Bit ใน Vivado ไฟล์นี้ใช้ได้กับ Vivado ทุกรุ่น หากมีปัญหากับการดาวน์โหลดไฟล์ สามารถพบการแสดงข้อความของรหัสในไฟล์อื่นด้านล่าง และสามารถคัดลอกและวางลงในโฟลเดอร์ไฟล์ที่คุณกำลังสร้างได้อย่างง่ายดาย ตรวจสอบให้แน่ใจว่าทั้งไฟล์ต้นทางหลักและไฟล์ข้อจำกัดมีอยู่และอยู่ในแหล่งที่แยกจากกันก่อนที่จะพยายามสร้างบิตสตรีมหรือสังเคราะห์อะไรก็ตาม สำหรับผู้ที่ต้องการเข้าใจคำอธิบายเชิงลึกของโค้ดและสิ่งที่โค้ดทำจริงๆ ให้ดูที่ขั้นตอนที่ 3 หากคุณต้องการเข้าใจประเด็นและเริ่มแปล ให้ข้ามไปยังส่วนที่ 4

ขั้นตอนที่ 3: ขั้นตอนที่ 3: รหัส

รหัสของเรามี 4 กระบวนการแยกกันซึ่งทั้งหมดทำงานพร้อมกัน แต่ละส่วนย่อยต่อไปนี้ในขั้นตอนนี้จะให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่แต่ละหัวข้อทำ

กระบวนการ 1:

กระบวนการแรกที่เราสร้างขึ้นนั้นใช้ตัวแบ่งนาฬิกาเพื่อทำให้การแสดงเจ็ดส่วนทำงานสำหรับสองส่วน เพื่อแสดงเลขฐานสองที่เทียบเท่ากับตัวอักษรที่บุคคลนั้นสร้างขึ้น เราจำเป็นต้องตรวจสอบให้แน่ใจว่านาฬิกาแสดงตัวเลขอย่างถูกต้องในส่วนเจ็ดส่วนที่เราต้องการ เรากำหนดส่วนต่างๆ ตามลำดับ เพื่อให้แสดงตัวเลขบางตัวเมื่อเราถามพวกเขาด้วย และวนรอบ 2 หลักสุดท้ายเพราะเราต้องการเพียง 2 หลักเพื่อแสดงตัวเลขทั้งหมดในตัวอักษร เราได้แสดงเจ็ดเซกเมนต์ในระบบเลขฐานสิบ เพื่อให้ผู้คนเห็นตัวอักษรที่พวกเขาพยายามจะเป็นตัวแทนได้ง่ายขึ้น เนื่องจากประชากรส่วนใหญ่ใช้ระบบตัวเลขฐาน 10

กระบวนการ 2:

กระบวนการที่สองสร้างนาฬิกาของเราเพื่อให้ LED ทำงาน เพื่อให้เราสามารถเห็นพัลส์ได้ชัดเจนและแยกความแตกต่างระหว่าง Dot และ Dash พร้อมทั้งมีเวลาเพียงพอระหว่างแต่ละส่วนของรหัสมอร์ส เราใช้สัญญาณเพื่อส่งผ่านบัสที่เต็มไปด้วยเอาต์พุต LED ของรหัสมอร์สนอกกระบวนการไปยัง LED บนบอร์ด เพื่อให้เราสามารถจุดไฟได้หลายอันพร้อมกัน แทนที่จะใช้แฟลช LED เพียงอันเดียว

กระบวนการ 3:

กระบวนการที่สามของเราจะพิจารณาสถานะปัจจุบันของสวิตช์และกำหนดตัวอักษรให้กับการแสดงเลขฐานสองในขณะนั้น โดยจะต้องผ่านตัวอักษรแต่ละตัว พร้อมด้วยการเว้นวรรค จุด และลูกน้ำ กระบวนการนี้สิ้นสุดที่นี่ และทุกส่วนจะถูกรวบรวมเป็นกระบวนการที่สี่เพื่อสิ้นสุดการแปล

กระบวนการ 4:

ขั้นตอนที่สี่คือกระบวนการ "ตัวแปล" ซึ่งใช้ข้อมูลทั้งหมดที่เรารวบรวมมาเช่นว่าเปิดใช้งานปุ่มร้านค้าหรือไม่เปิดหรือปิดสวิตช์การพิมพ์หรือไม่และหมายเลขใด แสดงโดยสวิตช์ จากนั้นจะตรวจสอบอาร์เรย์ที่เราทำซึ่งมีการแสดงรหัสมอร์สว่าเอาต์พุตจะเป็นอย่างไรด้วยคำสั่งเปิด/ปิดที่เท่ากับ 1 และ 0 สำหรับ LED แทนที่จะใช้นาฬิการอบการทำงานที่แยกจากกัน เราทำนาฬิการอบการทำงาน 50% ตัวเดียวที่เรารู้สึกว่าเป็นความเร็วที่ดีสำหรับรหัสมอร์ส และให้มันแสดงจุดที่มี "พัลส์" สูง 1 อันและแดช 3 สูง " ชีพจร" เพื่อลดความซับซ้อนของโค้ดและทำให้รันเร็วขึ้น เราเพิ่งสร้าง Dot เท่ากับ "010" และ Dash เท่ากับ "01110"

ขั้นตอนที่ 4: ขั้นตอนที่ 4: สร้าง Bistream และ Implement

โปรเจ็กต์นี้ตั้งค่าได้ง่ายมากหากคุณมีบอร์ด BASYS3 เนื่องจากสวิตช์และปุ่มที่จำเป็นทั้งหมดมีอยู่แล้วบนบอร์ดเพื่อให้คุณใช้งาน พร้อมด้วยข้อจำกัดที่ตั้งไว้ล่วงหน้าสำหรับพินที่คุณต้องการ หากคุณกำลังใช้ FPGA อื่น คุณจะต้องเข้าไปที่โค้ดและค้นหาข้อจำกัดและกำหนดเส้นทางใหม่ไปยังข้อจำกัดที่ถูกต้องสำหรับ FPGA ของคุณ สิ่งนี้ก็เป็นจริงเช่นกัน หากคุณกำลังวางแผนที่จะเชื่อมต่อ LED อื่นๆ และสวิตช์กับบอร์ดของคุณเพื่อใช้งาน เราจะไม่ยกตัวอย่างเรื่องนี้ แต่การใช้คู่มือการใช้งานของ FPGA เฉพาะของคุณจะมีประโยชน์มากในการพิจารณาวิธีการต่อสายและกำหนดเส้นทางทุกอย่างไปยังพินที่ถูกต้อง

ณ จุดนี้ เมื่อคุณดาวน์โหลดโค้ดและเปิดไฟล์แล้ว ให้สร้างบิตสตรีมใน Vivado และตั้งโปรแกรมอุปกรณ์ของคุณ เมื่อคุณมีแล้ว คุณจะสามารถเริ่มป้อนตัวอักษรเพื่อแปลเป็นรหัสมอร์สได้! สนุก!

*หมายเหตุ: "สวิตช์การพิมพ์" อยู่ที่ด้านซ้ายสุดของบอร์ด (สวิตช์ R2 สำหรับบอร์ด BASYS3) และ "ปุ่มจัดเก็บ" คือปุ่ม U18 (ปุ่มตรงกลางในบอร์ด BASYS3) หากนำข้อจำกัดมาจาก โค้ดตัวอย่างของเรา

ขั้นตอนที่ 5: ปัญหา/การแก้ไขปัญหา

หากคุณประสบปัญหาในการดาวน์โหลดไฟล์ คุณสามารถคัดลอกและวางโค้ดด้วยตนเองจากไฟล์คำนี้ นอกจากนี้ยังมีไฟล์แนบให้คุณตรวจสอบการแปลงง่าย ๆ ระหว่างเลขฐานสองเป็นตัวอักษร และตัวอักษรควรแสดงถึงอะไร ดังนั้นเราขอแนะนำให้คุณลองดู! หากคุณกำลังใช้บอร์ด BASYS3 คุณควรปฏิบัติตามคำแนะนำเหล่านี้และดาวน์โหลดโค้ดโดยไม่มีปัญหาใดๆ และใช้งานได้โดยไม่มีปัญหาเมื่อคุณเชื่อมต่อบอร์ดและตั้งโปรแกรมแล้ว

*หมายเหตุ: หากคุณพบว่านักแปลของคุณทำงานช้า นี่ถือเป็นเรื่องปกติ! มีการหน่วงเวลาเล็กน้อยระหว่างเมื่อคุณกดพิมพ์ และเมื่อคุณเห็นการแสดงรหัสมอร์ส หากคุณหยุดรอบการทำงานชั่วคราวโดยปิดสวิตช์การพิมพ์ โค้ดจะต้องทำงานให้เสร็จสิ้นก่อนที่จะพิมพ์ตัวอักษรใหม่ ปล่อยให้คุณรอให้วงจรสิ้นสุดลงและตัวอักษรตัวต่อไปจะเริ่มขึ้น

แนะนำ: