1.แนวคิดและวิธีการเขียนโค๊ด
- ใช้พื้นฐานเรื่อง กราฟ sin(zeta) ครึ่งคาบจะตัดแกนx ที่ pi (pi=3.14159265359) ดังนั้นจึงให้ค่าตัวแปรเพิ่มไปเรื่อยๆจาก 0 จนถึงค่า pi เพื่อสร้างกราฟ sin(zeta) ในช่วง 0 ถึง 1
- ถ้าค่าเกินกว่า pi ให้เข้าเงื่อนไขเพื่อทำ Two's Complement เราจะได้กราฟ sin(zeta) ในช่วง 0 ถึง -1
- นำการเลื่อนแกนมาช่วยเพื่อให้กราฟขยับขึ้นไปจาก -1 ถึง 1 เป็น 0 ถึง 2 ด้วยการ บวกหนึ่งค่า sin(zeta)
- แปลงค่าจาก 0 ถึง 2 ให้เป็น 0 - 4095 เพื่อส่งออกด้วยคำสั่ง MCP.writeA()
2.การทำงานของโปรแกรม
Step 1 : ต่อ nucleo กับ IC MCP4922 เพื่อช่วยแปลงค่า digital เปลี่ยนให้เป็น analog เนื่องจากเป็นรุ่น F411RE
Step 3 : โปรแกรมจะสร้าง sin wave เริ่มจากค่า sin(zeta)ตั้งแต่ 1 ถึงสอง 2 แล้วค่อย Two's Complement เพื่อสร้าง sin wave ตั้งแต่ 1 ถึง 0 สลับไปเรื่อยๆ
3.code ที่กลุ่มของเราเขียนขึ้นครับ
http://www.mediafire.com/download/342w100zsmzqwwe/LAB_04_sinwave.rar
ไม่มีความคิดเห็น:
แสดงความคิดเห็น