Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - mcuthailand

#1
Quote from: pa_ul on February 22, 2014, 02:01:55 PM

            mov A,INPUT_TEMP
            clr C
            SUBB A,SET_TEMP
            JC  LOWER                                   ; jump if INPUT < SET
EQ_HIGHER:
            ......                                      ; do something if INPUT >= SET
            ......
            JMP NEXT_THING_TO_DO
LOWER:
            ......                                      ; do another thing if INPUT < SET
            ......
            ......
NEXT_THING_TO_DO:
            ......






ขอบคุณพี่มาก ๆ ครับ
#2
ผมเขียนโปรแกรม assembly เพื่อทำการตรวจสอบค่า อุณหภูมิที่อ่านได้ ถ้ามากกว่า ให้รีเลย์ ON ถ้าน้อยกว่า ให้รีเลย์ OFF


ผมลองใช้คำสั่ง SUBB ในการเปรียบเทียบค่า ระหว่า อุณหภูมิที่อ่านได้ กับ อุณหภูมิที่ต้องไว้ โดยการเขียนแบบนี้ครับ

MOV A,INPUT_TEMP
SUBB A,SET_TEMP

ปัญหาของผมคือ เราจะเขียนตรวจสอบ carry flag ยังไงครับ


#4
    ก่อนอื่นผมขอแนะนำตัวนะครับ ผมทำงานด้านนี้มาพอสมควร แต่บางงานที่ทำๆ ก็ยังไม่เข้าใจทั้งหมด

  ผมเลยรบกวนผู้รู้ช่วยแนะนำหน่อ  ครับ เรื่องของโมดูล ADC คือการใช้งานโมดูล ADC จะมีการกำหนด Clock ที่จะจ่ายให้โมดูล ADC
และ Clock จะมีวงจรหาร ก่อนเข้าสู่วงจร ADC เลยอย่างถามพี่ๆ หน่อยครับ ว่า

1. การเลือกตัว หารความถี่ จะมีผลอะไรบ้างครับ เช่น ค่าที่อ่านได้ ไม่เที่ยงตรง เป็นต้น  ปกติผลจะให้ Clock/8 แต่ก้อไม่เคยลองเปลี่ยน ไม่รู้จะมีผลต่างจาก /16 หรือ ไม่หารเลย
2. การเลือกตัวหารความถี่ ปรีสเกล ควรเลือกอย่างไรครับ เช่น งานที่ต้องการความเร็วสูงในการอ่านค่า ต้องเลือก clock/1 หรือ งานที่ต้องการความแม่นยำสูง ต้องเลือก clock/มาก จะทำให้ได้ค่าที่เทียงตรงมากขึ้น (ผมคิดเองนะครับ ไม่รู้จริง)

ขอบคุณล่วงหน้านะครับ