WINTESLA2003.COM เราซ่อมมือถือ

3 กันยายน 2557, 01:50:13
ยินดีต้อนรับผู้เยี่ยมชม เพื่อสิทธิการเข้าถึงข้อมูลเชิงลึกมากกว่าที่เห็น เราขอแนะนำให้ท่านสมัครสมาชิก!
  • noavata
  • กรุณา เข้าสู่ระบบ หรือ สมัครสมาชิก

    เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
การค้นหาชั้นสูง  
ท่านจะใช้งานเว็บบอร์ดนี้ได้อย่างเต็มประสิทธิภาพ หากท่านใช้   Firefox Browser  ตัวอักษรจะดูเป็นระเบียบและอ่านง่ายยิ่งขึ้นเมื่อท่านปรับเป็นชนิด  ClearType
            ร้านเคบ๊อกซ์ทีม อาคารแค๊ปปิตอลพลาซ่า ชั้น 2 โซนใหม่ (ด้านหน้า)

            ส่วนจำหน่ายสินค้าโทรฯ  0-2622-6560 ,08-6342-7832

            แผนกช่าง ซ่อม/แฟลชเครื่อง โทรฯ  0-2223-0595

   
 




หน้า: 1    ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ:  เรียนรู้อิเล็กทรอนิกส์ ด้วยไมโครคอนโทลเลอร์ ตอนที่ 3 วงจร ADC (ละครเรื่องยาว..)  (อ่าน 10729 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« เมื่อ: 7 กันยายน 2552, 12:05:51 »

กลับมาอีกครั้ง ตามคำเรียกร้อง..(หรือเปล่าไม่รู้... ) แต่ก็อยากทำอะไรให้มันเคลื่อนไหวบ้างครับ
พักนี้รู้สึกบอร์ดไม่ค่อยกระเตื้อง ......  no1

ครับ วันนี้เป็นเรื่องที่ผมคิดว่า สำคัญมากครับ ในวงจร อิเล็กทรอนิกส์
วงจรที่จะกล่าวถึงก็คือวงจรทางด้าน อนาล็อค... Analog หรือ non-linear ซึ่งวงจรที่เกี่ยวกับ
Analog มีมากมาย ...ที่เห็นกันทั่วไปคือ .... วงจรพวกมอเตอร์ วงจรชาร์ทไฟ วงจร MIC,SPeaker
วงจรขยายสัญญาณ ...วงจร OSC วงจรทางด้านสัญญาณ (แต่ก็มีวงจรดิจิตอลควบคู่ไปด้วย)

เอาหละครับ เพื่อความเข้าใจ ผมจะยกตัวอย่างวงจรดิจิตอลที่เกี่ยวกับมือถือ ที่พวกเราได้จับได้ต้องกัน
ทุกวันครับ..  cool2 อืม ขอเอาวงจรรุ่นนี้  มาวิเคราะห์เกี่ยวกับสัญญาณอนาล็อค...
5130 รุ่นนี้ ตอนนี้รู้สึก hot มากๆ ครับ.. เป็น s40 คือตระกูลเดียวกับ 6300 , 5300

http://rs31.rapidshare.com/files/201344829/SM_Sch_5130XM.rar

ขอไปเรื่องไฟก่อนครับ..ในตัวนี้จะมีไฟดังนี้...



1. ไฟ VCP 1 ... ข้อมูลจากพี่โอ๊ค มหาชัยครับ...

ไฟ VCP 1  เป็นไฟในวงจร PLL ของตัว HINKU    ทำหน้าที่    ไฟเลี้ยงวงจร charge pump ใน hinku   ไม่ใช่ไฟเลี้ยงหลักอย่างที่
เข้าใจกัน  
ไฟ VCP 2  เป็นไฟในวงจร PLL ของตัว VINKU    ทำหน้าที่เหมือนกับ VCP1  แต่จะอยู่ในส่วนของ VINKU
   ปกติไฟพวกนี้ไม่สามารถวัดได้ถ้าเครื่องเปิดไม่ติด  จะวัดได้ก็ต่อเมื่อเครื่องเปิดติด แล้วมีการใส่ซิม เท่านั้น
การทำงานของพวก HINKU  VINKU  ในส่วนของภาคสัญญาณ จะทำงานได้ต้อง มี  CLK 38.4 Mhz  เป็นตัวกำเนิดความถี่ เพื่อใช้เป็นความถี่อ้างอิงของวงจร
ไฟ VCP 1 เป็นไฟ ที่จ่ายให้กับชุด charge pump ในวงจร PLL   ของตัว HINKU  เพื่อ ให้ charge pump   จ่ายไฟเพื่อเปลี่ยนความถี่
ของตัว VCO   เพื่อทำให้ความถี่คงที่  ไฟชุดนี้เมื่อผ่านวงจรแล้ว จะออกมาเป็น ไฟ VC  เพื่อไปใช้งานในส่วนของ VCO
ถ้าไฟ ชุดนี้ไม่ออก ( VCP 1 ) จะทำให้ระบบการทำงานในส่วนของภาคสัญญาณนั้นทำงานไม่ได้  adore

2. ไฟ VSIM2
VSIM2 =  ควบคุม MMC ประมาณ 2.8V (ไฟดิจิตอล)


3. ไฟ VSIM1
VSIM1 = ควบคุม sim ซึ่งมาจาก AVILMAS ได้ 1.8V



4. ไฟ VRFC
ไฟ VRFC มันจะออกก็ต่อเมื่อเครื่องอยู่ในโหมปรกติเท่านั้น ประมาณ 1.3V


5. ไฟ VR1  2.8V
ไฟเลี้ยงภาควิทยุ

6. ไฟ VAUX (เครดิต ท่าน bamboo)
(ในเครื่องBB5 เมื่อเปิดเครื่องต้องวัดไฟ VAUXได้ครับ
1. RETUจ่ายไฟ"VAUX"2.5Vเป็นไฟเลี้ยงหลักให้แก่กล้องและจอ ดังนั้นเวลาเปิดเครื่องต้องมีไฟจ่ายตัวนี้แน่นอนครับ
    มีไฟเลี้ยงบางตัวที่มาตอนเปิดเครื่องแต่จะหยุดจ่ายเมื่อเครื่องเข้าสู่สภาวะSleep modeเช่นไฟเลี้ยง RF Clock 38.4MHz (VR1)
2. จากข้อมูลของผม(ไม่รู้ถูกหรือป่าวนะ)
    "ในเครื่องBB5 ถ้าอยู่ในสภาวะ Sleep Mode ตัวRETUยังจ่ายไฟ VIO, VDRAM ,VSIM1 ,VSIM2 ,VAUX และVana
     อยู่ในระดับโวลย์เท่าเดิมแต่จ่ายกระแสไฟออกมาน้อยลง"
     ดังนั้นก็ควรจะวัดไฟVAUXได้ตลอด  ผมก็ไม่เคยลองวัดนะ แต่ถ้าใครมีเครื่องลองวัดไฟข้างต้นเพื่อพิสูจน์ความถูกต้อง หรือท่านผู้รู้
     แล้วมาช่วยตอบเพื่อเป็นความรู้ก็จะขอบคุณมาก
     แต่อย่างไรแล้วเสียตอนเปิดเครื่องก็ควรจะมีไฟVAUXออกมาครับ อย่างน้อยก็สักระยะหนึ่ง
3. ส่วนไฟที่ควบคุบการปิดเปิดการทำงานกล้องจะเป็นอีกชุดที่มาจาก Omap ครับ
4. เครื่องคุณxyzเปิดไม่ติด มีการกินไฟค้าง ให้ไล่วัดไฟหลักที่จ่ายจากRETUออกมา  ถ้าลายไหนไม่มีไฟหรือไฟมาไม่ตรงตาม
     ที่กำหนด  ให้ไล่เช็คลายนั้น อาจจะมีการช็อตของระบบจ่ายไฟในตัวRETUหรือตัวอุปกรณ์ในลายนั้น
      ลองเอามิเตอร์ตั้งRx1kวัดเทียบกราวด์กับตัวดี(ถ้ามี) ในลายที่สงสัยเพื่อตรวจสอบในเบื้องต้นอีกที)
7. ไฟ VIO ไฟเลี้ยงหลัก 1.8V
ไฟหลัก ที่ควรมีเกือบทุกภาคของมือถือ ไฟนี้จะไปที่
BETTY (น่าจะเป็น TAHVO ใน N70 คือ ไฟเลี้ยงภาคอนาล็อค) ,FLASH MEMORY,RAP
, camara,display,VDDA ใน MMC
ไอซี STW

ไอซีตัวนี้ไม่รู้ว่าเรียกว่าอะไรครับ เรียนท่านผู้รู้ ช่วยแนะนำด้วยครับ...
แต่ผมคิดว่า น่าจะเป็นตัวถอดรหัส decoder สำหรับสัญญาณเสียง เพื่อทำการส่งออกอากาศ ครับ  razz

8. VDRAM ไฟเลี้ยงให้กับ RAP memory / SDRAM


9. VANA 2.8V
(เครดิต ท่านฟาริด)
จริงๆแล้วประโยช จากไฟ vana ยังมีอีกเยอะครับ
แต่ส่วนไหญ่ จะเป็น ระบบ เซ้นเซอ เช่นตรวจสอบ การเสียบหูฟัง ตรวจสอบแบตตารี่ เป็นต้น

(เครดิต ท่านbamboo คนเก่งคนเดิม)
Vana เป็นไฟเลี้ยงในส่วนของระบบอะนาลอกคือส่วนที่จัดการเกี่ยวกับระบบเสียงพูดคุย(Audio)  
    ถ้าเป็นเครื่องDCT3เช่น3310 น่าจะเทียบได้กับVcobbaที่ออกจากCcontที่ไปเลี้ยงCobbaครับ
    แต่ในเครื่องDCT4 ตัวUEMประกอบด้วยCcontมารวมกับCobba ดังนั้นไฟVanaจะจ่ายป้อนกลับ
    ไปเลี้ยงในส่วนดังกล่าวข้างต้นที่อยู่ภายในตัวUEMอีกที
    อีกหน้าที่หนึ่งของVanaคือจ่ายเป็นไฟเลี้ยงให้แก่ระบบเซ็นเซอร์ที่จะเข้าUEM เช่นเป็นไฟเลี้ยงจ่ายให้แก่ระบบ
    ตรวจเช็คอุหภูมิแบตเข้าที่ขาBtempของUEM


9 VREF_INT ใช้ใน BTFM
 วัดอุณหภูมิของ BTFM (เอ๊ะ ทำไมต้องเช็ค อุณหภูมิด้วย...  no1)


10. VREF (Voltage Referance ) 1.35V
   แรงดันที่ใช้ในการเปรียบเทียบ ... ที่กล่าวมาทั้งหมด VREF ตัวนี้ จะเกี่ยวกับสัญญาณทางอนาล็อคครับ....
ไอซี ADC ทุกตัวจะมี VREF ..เพื่อเปรียบเทียบแรงดันอ้างอิงในการ ผลิต หรือ สร้าง output โดยจะไม่เกิน VREF
เป็นต้น...

ในมือถือ วงจรที่เกี่ยวข้องคือ (ใน N70 เพราะวงจรสมบูรณ์กว่า 5120) .. วงจรด้านสัญญาณ RF(HINKU),ภาค Regulator (จ่ายไฟ) , RAP3G

ทีนี้มาเข้าเรื่อง ADC กันซะที

 adc ( analog digital converter)  มีหลักการคือ



การที่จะอ่านค่า โวลท์ ค่าต่างๆ ทำไมมันอ่านได้ และค่าที่ได้ มันขึ้นเป็นตัวเลขได้ยังไง
หลักการคือ มีตัวไอซี ที่มีชื่อเรียกว่า ADC แปลงค่า Analog (สัญญาณที่เปลี่ยนแปลงได้
ไม่เสถียร..) เช่น สัญญาณวิทยุ สัญญาณเสียง ไฟฟ้ากระแสสลับ หรือค่าแรงดันค่าต่างๆ ที่ได้
จากการวัด

ทีนี้เรามาดู ตัว IC ADC ขอเรียกชื่อนี้ ...
มันจะมีค่า มาตราฐาน ที่ตัว Vref หรือ Voltage Referance หรือ แรงดันอ้างอิง
แรงดันอ้างอิงมีไว้ทำไม ... มีไว้เปรียบเทียบกับแรงดันจริงที่ได้จากการวัด หรือได้จาก Input
เมื่อ IC ADC ได้รับค่ามาจาก Input และได้ทำการเปรียบเทียบกัน ทำให้มัน ขับ output
ออกมา  Output ที่ได้ จะเป็น ค่า digital คือ 10011001 ประมาณนี้

เราเอาค่านี้ ไปทำอะไรต่อ .....

แน่นอนครับ ต้องเอามาหาค่า....
สมมติ output ที่ได้ เป็น 0000 0001 เราเอาค่านี้มาเขียนโปรแกรมครับ ...
เช่น ค่านี้ ได้เท่ากับ 0.01 V
และถ้าค่า เปลี่ยนเป็น 0001 1001 ได้ ประมาณ 1.02 V (สมมติ อันนี้อยู่ที่ค่า Vref ด้วย)

output 8 bit ที่ได้ ค่ามันถูกซอย ได้ถึง 2^8 (สองยกกำลังแปด) ก็คือ 256 ค่า
นั่นก็คือ มันสามารถ แสดงค่าได้ถึง
0.00 - 2.56 แสดงได้เท่านี้ ... นั่นหมายความว่า Vref = 2.56 V
แต่ถ้าอยากให้มันอ่านค่าได้มากกว่านี้ ก็ปรับ Vref = Vin
ตัวอย่าง Vin = 12V , Vref ก็ต้องปรับให้ได้ 12V ด้วยครับ..
แต่ค่าในการวัด จะหยาบครับ เช่น อ่านเป็น 0.0x หลัก x แทบจะได้มีผล ครับ...

วงจรตัวอย่างที่ผมทำขึ้น..
Schematic
<a href="http://img233.imageshack.us/img233/1898/datalog.pdf" target="_blank">http://img233.imageshack.us/img233/1898/datalog.pdf</a>

วงจรจริง


จะเห็นได้ว่ามี VREF อยู่ด้วยตรงนี้


ซึ่ง VREF หรือแรงดันอ้างอิง ย่อมคู่กับ วงจรทางด้าน Analog ทั้งสิ้น ...
เพราะเป็นตัวกำหนด แรงดันทางด้าน output ด้วย

แนวทางการเขียนโปรแกรม กับไมโครคอนโทรลเลอร์ เบอร์ 89S52
ด้วย ASM หรือ Assambly

SW_MODE      BIT   P0.4
SW_ENTER           BIT          P0.5
SW_EXIT      BIT   P0.6
SW_UP      BIT   P0.7

SDA      BIT   P0.1
SCL      BIT   P0.0

SDA_E      BIT   P0.2
SCL_E      BIT   P0.3
;----------------------------------------------------------------------------
; Define User Register
;----------------------------------------------------------------------------
FLAG         EQU      02FH      ; User FLAG
I2C_ACK         BIT      FLAG.0      
;----------------------------------------------------------------------------
; Define I2C Slave Address
;----------------------------------------------------------------------------
RTC_ID         EQU      11010000B    ; RTC Slave Address
;----------------------------------------------------------
;AD_OUT         P2
;----------------------------------------------------------
AD      BIT      P0
DATA      BIT      P1
EN_AD      BIT   P3.4

DIGIT4      BIT   P3.0
DIGIT8      BIT   P3.1
DIGIT2      BIT   P3.3
DIGIT1      BIT   P3.2
;-----------------------------------------------------------------------------
;   I2C TIME DS1307 REAL TIME
;-----------------------------------------------------------------------------
   SECONDS      EQU   30H      ; For keep Seconds
   MINUTES      EQU   31H      ; For keep Minutes
   HOURS      EQU   32H      ; For keep Hours
   CONTROL      EQU   37H      ;CONTROL TIME

   I2C_ADDR   EQU   38H
   I2C_DATA_T   EQU   39H

   DATA_SS1   EQU   3AH
   DATA_SS2   EQU   3BH
   DATA_MM1   EQU   3CH
   DATA_MM2   EQU   3DH
   DATA_HH1   EQU   3EH
   DATA_HH2   EQU   3FH

   
;-----------------------------------------------------------------------------
;   I2C EEPROM 24C02
;-----------------------------------------------------------------------------
   
   I2C_DATA   EQU   41H
   
   EEPROM_CODE1       EQU      10100000B

;-----------------------------------------------------------------------------
;   DISPLAY NUMBER
;-----------------------------------------------------------------------------
DSP_NUM0      EQU      00111111B   ;0
DSP_NUM1      EQU      00000110B   ;1
DSP_NUM2      EQU      01011011B   ;2
DSP_NUM3      EQU      01001111B   ;3
DSP_NUM4      EQU      01100110B   ;4
DSP_NUM5      EQU      01101101B;   ;5
DSP_NUM6      EQU      01111101B;   ;6
DSP_NUM7      EQU      00000111B   ;7
DSP_NUM8      EQU      01111111B   ;8
DSP_NUM9      EQU      01101111B   ;9
;-----------------------------------------------------------------------------
;   DISPLAY CHARECTER
;-----------------------------------------------------------------------------
DSP_NUMA      EQU      01110111B   ;A
DSP_NUMB      EQU      01111100B   ;B
DSP_NUMC      EQU      00111001B   ;C
DSP_NUMD      EQU      01011110B   Grin
DSP_NUME      EQU      01111001B   ;E
DSP_NUMF      EQU      01110001B   ;F
DSP_NUMR      EQU      01010000B   ;R
DSP_NUMS      EQU      01101101B   ;S
DSP_NUMT      EQU      01111000B   ;T
DSP_NUMO      EQU      01011100B   ;O
DSP_NUMP      EQU      01110011B   ;P
DSP_NUMI      EQU      00010000B   ;I
DSP_NUMM      EQU      01010100B   ;M,N
DSP_NUM_      EQU      00001000B   ; _
DSP_NUMX      EQU      01110110B   ; X
DSP_NUMU      EQU      00011100B   ;U,W
DSP_NUML      EQU      00111000B   ;L
DSP_NUM_CLR      EQU      00000000B   ;'  '
DSP_DOT         EQU      10000000B   ; .

T01      EQU      0A0H
T02             EQU             0A1H
T03             EQU             0A2H
T04             EQU             0A3H
T05             EQU             0A4H
T06             EQU             0A5H
T07             EQU             0A6H
T08             EQU             0A7H
T09             EQU             0A8H

T10             EQU             0A9H
T11             EQU             0AAH
T12             EQU             0ABH
T13             EQU             0ACH
T14             EQU             0ADH
T15             EQU             0AEH
T16             EQU             0AFH
T17             EQU             0B0H
T18             EQU             0B1H
T19             EQU             0B2H

T20             EQU             0B3H
T21             EQU             0B4H
T22             EQU             0B5H
T23             EQU             0B6H
T24             EQU             0B7H
T25             EQU             0B8H
T26             EQU             0B9H
T27             EQU             0BAH
T28             EQU             0BBH
T29             EQU             0BCH

T30             EQU             0BDH
T31             EQU             0BEH
T32             EQU             0BFH
T33             EQU             0C0H
T34             EQU             0C1H
T35             EQU             0C2H
T36             EQU             0C3H
T37             EQU             0C4H
T38             EQU             0C5H
T39             EQU             0C6H
                                   
T40             EQU             0C7H
T41             EQU             0C8H
T42             EQU             0C9H
T43             EQU             0CAH
T44             EQU             0CBH
T45             EQU             0CCH
T46             EQU             0CDH
T47             EQU             0CEH
T48             EQU             0CFH
T49             EQU             0D0H

T50             EQU             0D1H
T51             EQU             0D2H
T52             EQU             0D3H
T53             EQU             0D4H
T54             EQU             0D5H
T55             EQU             0D6H
T56             EQU             0D7H
T57             EQU             0D8H
T58             EQU             0D9H
T59             EQU             0DAH
                                 
T60             EQU             0DBH
T61             EQU             0DCH
T62             EQU             0DDH
T63             EQU             0DEH
T64             EQU             0DFH
T65             EQU             0E0H
T66             EQU             0E1H
T67             EQU             0E2H
T68             EQU             0E3H
T69             EQU             0E4H

T70             EQU             0E5H
T71             EQU             0E6H
T72             EQU             0E7H

COUNT           EQU             050H
HOURS_ADD_1     EQU             051H

;-------------------------------------------------------------------------------
;   INITIAL PROGRAM
;-------------------------------------------------------------------------------

ORG        00H
MOV   P1,#0FFH
MOV   P0,#0FFH
MOV   P3,#0FFH
SETB   SDA            ; CLear I2C bus
SETB   SCL
;-------------------------------------------------------------------------------
;   MAIN PROGRAM
;-------------------------------------------------------------------------------
MAIN:
   
   LCALL   CHAR_READ
   JNB   SW_MODE,L_CLOCK
   AJMP   MAIN
L_CLOCK:
   LCALL   CLOCK
   JNB   SW_ENTER,MAIN
   AJMP   L_CLOCK

CLOCK:
   LCALL   RTC_RD
   MOV   A,SECONDS
   LCALL   DIV_10D
   LCALL   COMPAR
   LCALL   SET_DIGIT2
   LCALL   OUT_DATA_A

   LCALL   SET_DIGIT1
   MOV   A,B
   LCALL   COMPAR
   LCALL   OUT_DATA_A
   RET

OUT_DATA_A:
   MOV   DATA,A
   LCALL   DELAY_1ms
   MOV   DATA,DSP_NUM_CLR
   RET
   
;-------------------------------------------------------------------------------
;   MAIN CHECK SWITCH
;-------------------------------------------------------------------------------
CHK_SW:NOP
M_MODE:
   ;LCALL   CHAR_MODE   
   JNB   SW_MODE,JJ_CHK_SW
   AJMP   M_MODE

JJ_CHK_SW:
   LCALL   DELAY
J_CHK_SW:
   ;LCALL   CHAR_WRITE      ; MODE 1 WRITE & SHOW CLOCK
   JNB   SW_MODE,JJ_READ_02
   JNB   SW_ENTER,J_WRITE
   JNB   SW_EXIT,J_END_CHK_SW
   AJMP   J_CHK_SW

JJ_READ_02:
   LCALL   DELAY
J_READ_02:   
   LCALL   CHAR_READ   ; MODE 2 READ COUNT,DATA WRITE
   JNB   SW_MODE,JJ_DELETE_03
   JNB   SW_ENTER,J_READ
   JNB   SW_EXIT,J_END_CHK_SW
   AJMP   J_READ_02

JJ_DELETE_03:
   LCALL   DELAY
J_DELETE_03:
   ;LCALL   CHAR_DEL   ; MODE 3 DELETE DATA IN EEPROM
   JNB   SW_MODE,JJ_SEND_04
   JNB   SW_ENTER,J_DELETE
   JNB   SW_EXIT,J_END_CHK_SW
   AJMP   J_DELETE_03

JJ_SEND_04:
   LCALL   DELAY
J_SEND_04:
   ;LCALL   CHAR_SEND   ; MODE 4 SEND TO COMPUTER RS-232
   JNB   SW_MODE,MM_MODE
   JNB   SW_ENTER,J_SEND
   JNB   SW_EXIT,J_END_CHK_SW
   AJMP   J_SEND_04

J_END_CHK_SW:
   LJMP   END_CHK_SW

MM_MODE:
   LCALL   DELAY
   LJMP   M_MODE
;-----------------------------------------------------------------------------------------
;   GO TO SUBPROGRAM
;-----------------------------------------------------------------------------------------
J_WRITE:
   LCALL   DELAY
   ;LCALL   WRITE
   ;LCALL   CHAR_COMP
   LJMP   END_CHK_SW
J_READ:
   LCALL   DELAY
   ;LCALL   READ
   ;LCALL   CHAR_COMP
   LJMP   END_CHK_SW
J_DELETE:
   LCALL   DELAY
   ;LCALL   SEND
   ;LCALL   CHAR_COMP
   LJMP   END_CHK_SW
J_SEND:
   LCALL   DELAY
   ;LCALL   SEND
   ;LCALL   CHAR_COMP
   LJMP   END_CHK_SW
END_CHK_SW:
   RET
;--------------------------------------------------------------------
;     DIVID DATA = DECIMAL DATA
;--------------------------------------------------------------------
DIV_100D:
   
   MOV   B,#0100D
   DIV   AB
   RET

;--------------------------------------------------------------------
;       DIVID 10
;--------------------------------------------------------------------   
DIV_10D:   
   MOV   B,#10D
   DIV   AB
   RET

;--------------------------------------------------------------------
;       DIVID 1
;--------------------------------------------------------------------
DIV_1D:      
   MOV   A,B
   LCALL   SET_DIGIT1
   LCALL   SHOW_DATA
   RET

;--------------------------------------------------------------------
;       SHOW DATA A/D
;--------------------------------------------------------------------
SHOW_DATA:
   MOV   A,AD
   LCALL   COMPAR
   CLR   EN_AD
   LCALL   DELAY
   MOV   DATA,A
   SETB   EN_AD
   RET
;--------------------------------------------------------------------
;       SET DIGIT 8 ACTIVE
;--------------------------------------------------------------------
SET_DIGIT8:
   SETB   DIGIT1
   SETB   DIGIT2
   SETB   DIGIT4
   CLR   DIGIT8
   RET
;--------------------------------------------------------------------
;       SET DIGIT 4 ACTIVE
;--------------------------------------------------------------------
SET_DIGIT4:
   SETB   DIGIT8
   SETB   DIGIT2
   SETB   DIGIT1
   CLR   DIGIT4
   RET
;--------------------------------------------------------------------
;       SET DIGIT 2 ACTIVE
;--------------------------------------------------------------------
SET_DIGIT2:
   SETB   DIGIT8
   SETB   DIGIT4
   SETB   DIGIT1
   CLR   DIGIT2
   RET
;--------------------------------------------------------------------
;       SET DIGIT 1 ACTIVE
;--------------------------------------------------------------------
SET_DIGIT1:
   SETB   DIGIT8
   SETB   DIGIT2
   SETB   DIGIT4
   CLR   DIGIT1
   RET
;--------------------------------------------------------------------
;       SHOW TO 7 SEGMENT 'READ'
;--------------------------------------------------------------------
CHAR_READ:   
   PUSH   ACC
   LCALL   SET_DIGIT8
   MOV   DATA,#DSP_NUMR
   LCALL   DELAY_1ms
   MOV   DATA,#DSP_NUM_CLR

   LCALL   SET_DIGIT4
   MOV   DATA,#DSP_NUME
   LCALL   DELAY_1ms
   MOV   DATA,#DSP_NUM_CLR

   LCALL   SET_DIGIT2
   MOV   DATA,#DSP_NUMA
   LCALL   DELAY_1ms
   MOV   DATA,#DSP_NUM_CLR

   LCALL   SET_DIGIT1
   MOV   DATA,#DSP_NUMD
   LCALL   DELAY_1ms
   MOV   DATA,#DSP_NUM_CLR

   POP   ACC
   RET

M1:
CLR   DIGIT1

MOV   P1,#DSP_NUM0
JB   SW_MODE,$
CLR   DIGIT1
MOV   P1,#DSP_NUM2
JB   SW_ENTER,$
AJMP   M1


;LCALL   READ_EEPROM1

MOV     COUNT,#00H
MOV     HOURS_ADD_1,HOURS

CHK_SW_RD: NOP
        MOV     A,COUNT
        INC     A
        MOV     COUNT,A
        MOV     A,HOURS_ADD_1+1         ;HOURS + 1
        CJNE    A,#024,LL_CHK_SW        ;IF HOURS =24 SET TO 00H
        MOV     HOURS_ADD_1,#00H
        MOV     A,HOURS_ADD_1
LL_CHK_SW:
        LCALL   RTC_RD
        LCALL   CLOCK
        JNB     SW_ENTER,L_READ_INT
        CJNE    A,HOURS,LL_CHK_SW
        MOV     HOURS_ADD_1,HOURS
        LJMP    END_CHK_SW_RD
L_READ_INT:
        ;LCALL   I2C_STOP_T
        ;LCALL   CHAR_COMP
        AJMP    $       
END_CHK_SW_RD:
        RET



WRITE_EEPROM1: LCALL   I2C_START_E
                MOV     I2C_DATA,#EEPROM_CODE1
                LCALL   I2C_WR_E
                MOV     I2C_DATA,#00H
                LCALL   I2C_WR_E

                MOV     I2C_DATA,T01
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T02
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T03
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T04
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T05
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T06
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T07
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T08
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T09
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T10
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T11
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T12
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T13
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T14
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T15
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T16
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T17
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T18
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T19
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T20
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T21
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T22
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T23
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T24
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T25
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T26
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T27
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T28
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T29
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T30
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T31
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T32
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T33
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T34
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T35
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T36
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T37
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T38
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T39
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T40
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T41
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T42
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T43
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T44
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T45
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T46
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T47
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T48
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T49
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T50
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T51
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T52
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T53
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T54
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T55
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T56
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T57
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T58
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T59
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T60
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T61
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T62
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T63
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T64
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T65
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T66
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T67
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T68
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T69
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T70
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T71
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                MOV     I2C_DATA,T72
                LCALL   I2C_WR_E
                LCALL   CHK_SW

                LCALL   I2C_STOP_E
                RET

  READ_EEPROM1: LCALL   I2C_START_E         
                MOV     I2C_DATA,#EEPROM_CODE1
                LCALL   I2C_WR_E
                MOV     I2C_DATA,#00H
                LCALL   I2C_WR_E

                LCALL   EEPROM_RD1
                MOV     T01,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T02,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T03,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T04,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T05,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T06,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T07,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T08,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T09,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T10,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T11,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T12,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T13,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T14,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T15,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T16,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T17,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T18,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T19,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T20,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T21,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T22,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T23,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T24,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T25,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T26,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T27,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T28,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T29,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T30,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T31,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T32,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T33,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T34,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T35,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T36,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T37,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T38,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T39,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T40,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T41,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T42,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T43,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T44,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T45,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T46,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T47,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T48,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T49,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T50,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T51,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T52,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T53,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T54,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T55,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T56,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T57,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T58,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T59,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T60,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T61,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T62,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T63,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T64,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T65,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T66,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T67,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T68,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T69,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T70,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T71,I2C_DATA

                LCALL   EEPROM_RD1
                MOV     T72,I2C_DATA

                RET
;--------------------------------------------------------------------
;       COMPARATOR DATA PORT A
;--------------------------------------------------------------------
COMPAR:
   CJNE   A,#0H,J_SET_NUM1
   MOV   A,#DSP_NUM0
   AJMP   END_COMPAR
J_SET_NUM1:
   CJNE   A,#01H,J_SET_NUM2
   MOV   A,#DSP_NUM1
   AJMP   END_COMPAR
J_SET_NUM2:
   CJNE   A,#02H,J_SET_NUM3
   MOV   A,#DSP_NUM2
   AJMP   END_COMPAR
J_SET_NUM3:
   CJNE   A,#03H,J_SET_NUM4
   MOV   A,#DSP_NUM3
   AJMP   END_COMPAR
J_SET_NUM4:
   CJNE   A,#04H,J_SET_NUM5
   MOV   A,#DSP_NUM4
   AJMP   END_COMPAR
J_SET_NUM5:
   CJNE   A,#05H,J_SET_NUM6
   MOV   A,#DSP_NUM5
   AJMP   END_COMPAR
J_SET_NUM6:
   CJNE   A,#06H,J_SET_NUM7
   MOV   A,#DSP_NUM6
   AJMP   END_COMPAR
J_SET_NUM7:
   CJNE   A,#07H,J_SET_NUM8
   MOV   A,#DSP_NUM7
   AJMP   END_COMPAR
J_SET_NUM8:
   CJNE   A,#08H,J_SET_NUM9
   MOV   A,#DSP_NUM8
   AJMP   END_COMPAR
J_SET_NUM9:
   CJNE   A,#09H,END_COMPAR
   MOV   A,#DSP_NUM9
   AJMP   END_COMPAR

END_COMPAR:   NOP
   RET
;--------------------------------------------------------------------
;      OUT DATA
;--------------------------------------------------------------------
OUT_DATA:
   MOV   P1,A
   RET
;--------------------------------------------------------------------
;      DELETE DATA
;--------------------------------------------------------------------
DELETE_DATA:
        MOV     T01,#00H
        MOV     T02,#00H
        MOV     T03,#00H
        MOV     T04,#00H
        MOV     T05,#00H
        MOV     T06,#00H
        MOV     T07,#00H
        MOV     T08,#00H
        MOV     T09,#00H
        MOV     T10,#00H
        MOV     T12,#00H
        MOV     T13,#00H
        MOV     T14,#00H
        MOV     T15,#00H
        MOV     T16,#00H
        MOV     T17,#00H
        MOV     T18,#00H
        MOV     T19,#00H
        MOV     T20,#00H
        MOV     T21,#00H
        MOV     T22,#00H
        MOV     T23,#00H
        MOV     T24,#00H
        MOV     T25,#00H
        MOV     T26,#00H
        MOV     T27,#00H
        MOV     T28,#00H
        MOV     T29,#00H
        MOV     T30,#00H
        MOV     T31,#00H
        MOV     T32,#00H
        MOV     T33,#00H
        MOV     T34,#00H
        MOV     T35,#00H
        MOV     T36,#00H
        MOV     T37,#00H
        MOV     T38,#00H
        MOV     T39,#00H
        MOV     T40,#00H
        MOV     T41,#00H
        MOV     T42,#00H
        MOV     T43,#00H
        MOV     T44,#00H
        MOV     T45,#00H
        MOV     T46,#00H
        MOV     T47,#00H
        MOV     T48,#00H
        MOV     T49,#00H
        MOV     T50,#00H
        MOV     T51,#00H
        MOV     T52,#00H
        MOV     T53,#00H
        MOV     T54,#00H
        MOV     T55,#00H
        MOV     T56,#00H
        MOV     T57,#00H
        MOV     T58,#00H
        MOV     T59,#00H
        MOV     T60,#00H
        MOV     T62,#00H
        MOV     T63,#00H
        MOV     T64,#00H
        MOV     T65,#00H
        MOV     T66,#00H
        MOV     T67,#00H
        MOV     T68,#00H
        MOV     T69,#00H
        MOV     T70,#00H
        MOV     T71,#00H
        MOV     T72,#00H
        RET

;----------------------------------------------------------
;       CHECK SW CLR SW_CLR=DELETE, SW_M


อีกซักพัก มาต่อด้วยการเขียนด้วย c กับ vb [/size=14pt]
[/color=darkgreen]

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
1  * TC Telecom^
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
dreamdtac^™
Wintesla Shop


Dawn TEAM

คะแนนขอบคุณ: 4846
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 6214

Time Online : 66:4:36

Level 49 : Exp 15%
**
HP: 0.1%
**
PD: 1.559
**

กระทู้: 3649

OS:
unknown
Browser:
unknown


« ตอบ #1 เมื่อ: 7 กันยายน 2552, 13:03:12 »

ถูกใจแรงนิ

ขอบคุณครับ พี่ชา



ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

แล้วเราคงได้เจอกันน่ะท่านยินดีต้อนรับผู้เยี่ยมชม เพื่อสิทธิการเข้าถึงข้อมูลเชิงลึกมากกว่าที่เห็น เราขอแนะนำให้ท่านสมัครสมาชิก![/url]
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« ตอบ #2 เมื่อ: 7 กันยายน 2552, 16:05:39 »

ก่อนอื่นมาดูการทำงานของวงจร ADC , วงจร Microcontroller และ
การเขียนโปรแกรม ตลอดถึงความสัมพันธ์กัน ระหว่าง Hardware และ Software
ที่หลีกเลี่ยงกันไม่ได้ ...  cool2

วงจร อนาล็อค เป็นวงจรพื้นฐาน basic สำหรับเรียนรู้เรื่อง ADC ครับ ซึ่งไอซีหลักๆ คือ ADC0804 ตัวนี้
ทำงานได้ดีทีเดียว



ในไอซีตัวนี้ จะทำหน้าที่แปลงสัญญาณอนาล็อค เป็น ดิจิตอล สัญญาณหรือแรงดันที่เข้ามา
ไอซีที่เกี่ยวข้อง อีกคือ
IC LM336
http://pdf1.alldatasheet.com/datasheet-pdf/view/22766/STMICROELECTRONICS/LM336.html

เป็นไอซี Voltage Referance 2.5V ใช้เป็น แรงดันอ้างอิง ให้กับขา VREF ของ ic ADC0804
และตัวนี้ ใช้ปรับขนาดของแรงดัน VREF ให้สูงหรือต่ำได้ แล้วแต่ว่าต้องการขนาด VIN ที่เข้ามาเท่าไหร่
สมมติ ผมให้แรงดันอ้างอิง ซัก 2V ก็ปรับจากตัว LM336 ตัวนี้ซึ่งต่ออยู่กับ VR10k
และสมมติ ต้องการ VIN ให้สูงขึ้น...ซัก 10V ก็ปรับจากตัวนี้อีก ...แต่ตัวนี้จะปรับได้ไม่เกิน 2.5V
แต่ที่มันสามารถ ปรับ VIN ให้สูงกว่าค่าของมันคือ 2.5V ก็โดยตัวมัน (LM336) มันต่อเป็น input
ให้กับ ไอซีอีกตัวนึง คือไอซี LM358 ซึ่งเป็นวงจร Inverting Amplifier หรือวงจรที่เรียกง่ายๆ ว่า
วงจร Op-amp นั่นเอง ...
การที่มี input (VREF) ของไอซี ADC 0804 ก็เพราะเพื่อให้มันมีความสมดุลและเสถียรมากยิ่งขึ้น
ในกรณี ที่สัญญาณหรือแรงดันด้าน input เกิดอาการสวิง หรือไม่นิ่ง ...อันเนื่องมาจากแหล่ง
จ่ายไฟ หรือสัญญาณรบกวนต่างๆ เช่น มอเตอร์ หรือเครื่องส่ง หรือเครื่องบินๆ ผ่าน เป็นต้น

และจะเห็นได้ว่า ทำไมวงจรใน ADC ถึงมีวงจร ซับซ้อนยุ่งยาก บางมองแล้วกินพารา ไปหลายเม็ดยัง
ไม่ get เท่าไหร่ ก็เพราะเพื่อความเสถียร ในสภาพการใช้งานจริง

ซึ่งในโทรศัพท์มือถือ เราก็ด้วย ยกตัวอย่างเช่น ลายชาร์จไฟ... vcharge



จะเห็นได้ว่า ไม่ว่า วงจรในโทรศัพท์มือถือ หรือวงจรอิเล็กทรอนิกส์ ทั่วไปวงจร ที่ออกแบบมา
ก็จะคล้ายกัน ในที่นี้ ก็คือวงจร VREF ซึ่งมีตัว กรองแรงดัน ก็คือ Zener ดังรูปที่เห็น
เหมือนๆ กัน...

ซึ่งขอยกตัวอย่าง วงจรชาร์จไฟ ของ N70 ซึ่งเป็นวงจร Analog

วงจรชาร์จ จะใช้ไอซี TAHVO เป็นตัวจัดการเกี่ยวกับการชาร์จ vchargin ไฟจากปลั๊กชาร์จ เข้า
และ vchargeout ไฟออกจาก tahvo เข้า battery

(เอ๊ะ ...ออกไปวงจรชาร์จได้ไงหว่า...  no1)

และที่เกี่ยวข้องอีกตัวนึงคือ RETU รีตู(บางคนเรียก รีทู  laugh1)

วงจรด้าน analog เกี่ยวกับการชาร์จด้าน RETU คือ


จะเห็นได้ว่า ไฟ vbat ที่เอาไปชาร์จ แบตเตอรี่ก็ดี ไฟVREF ไฟ VANA ก็ดี
ล้วนเป็นไฟ analog หรือ สัญญาณ analog ซึ่ง ถ้าดูจากหลักการแล้ว
ไฟพวกนี้จะ ไม่นิ่ง ไม่ใช่ขึ้นลงๆ



หรือเรียกอีกอย่างหนึ่งว่า PWM (Puleswide modulator) ส่วนหลักการของ PWM ที่ถูกเรียก
กันซ้ำๆ บ่อยๆ ว่ามันคืออะไร ดูรูปนี้น่าจะเข้าใจมั๊ย...เอ่ย...


จากรูป เป็นการผสมสีทางแสง .... ต้องการให้สีอะไร .. ก็เอาค่าทั้งสามสีมาใส่เป็น code
เช่น R=1 ,G=2,B=3 ก็จะได้สี ฟ้า และค่านี้ก็ได้จาก การป้อนค่าของ สัญญาณ
โดยค่ามากสุดคือ 3 น้อยสุดคือ 0 แล้วนำค่าต่างๆ นี้มาผสม ก็จะเป็นสีอย่างที่เห็น ...



ซึ่งส่วนใหญ่น่าจะอยู่ในภายใน UEM หรือ RETU แล้ว... (รอผู้รู้มาให้ความกระจ่างอีกที...)
วงจรชาร์จที่ใช้ PWM จากเวปต่างประเทศ



ส่วนค่าที่เป็นฝั่ง output หรือ digital ก็จะถูกถอดรหัส ... มาทางด้าน output ของไอซี
ADC0804 คือ ...



ยังไม่จบครับ ขอตัวไปหาความรู้เพิ่มเติมอีก เพราะยิ่งไล่วงจร มันยิ่งเยอะครับ...  hahaha hahaha
ต่อไปมาดูแนวทาง การเขียนโปรแกรมควบคุม การอ่านค่า Analog
แสดงค่าเป็น 7 segment กันครับ.....

มาดูบล็อคไดอะแกรมการทำงานก่อน ...



จะเห็นได้ว่า มันง่ายครับ... แต่เอ่อ. hammer..มาลองทำความเข้าใจกันก่อน ...



ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« ตอบ #3 เมื่อ: 7 กันยายน 2552, 16:36:01 »

วงจร ADC มีประโยชน์มากๆ ครับ... ซึ่งที่ผมจะประยุกต์ ที่ทำแล้วคือ
อ่านค่า Volt (แรงดัน) มาแสดงค่าที่ 7 segment ...

และใช้ความรู้เรื่อง ADC หาขา PIN OUT ของเครื่องจีนครับ...
ซึ่งผมได้เกริ่นมานานแล้วเกี่ยวกับ PIN OUT เครื่องจีน ....ว่า
แต่ละขา มันจะให้แรงดันออกมาแตกต่างกัน...เราเอาส่วนนี้มา
เป็น input ให้กับวงจร ADC แล้วอ่านค่า ที่ได้แปลงเป็น ชื่อขา
เช่น ขา MIC 2.8V
ขา speaker-,speaker+ ก็เท่ากับ 2.8V
ถ้าเช็คแบบนี้จะได้ทั้งหมด 3 ขาเหมือนกัน
แต่ถ้าเราเขียนโปรแกรมเข้าไปควบคุมหาตำแหน่งขา
จะเห็นได้ว่า ขา MIC เมื่อเราเปิดเพลง MP3 ขานี้จะลดค่าแรงดันลง จนถึง 0V
เราก็เอาจุดนี้ มาเป็นข้อแตกต่าง แล้วให้โปรแกรมบอกว่า จุดนี้คือ ขาของ MIC
เป็นต้น...ยังมีอีกยาวครับ..... ใครมีข้อมูลดี ช่วยๆกันก็ดีครับ ...   adore


ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
เบิร์ดโมบาย
E-SEAL (ผู้เชียวชาญพิเศษด้านอิเล็กทรอนิกส์)☜★☞
Moderator
*


BIRD LAB (เทคโนโลยีจากคนรากหญ้า)

คะแนนขอบคุณ: 5656
คะแนนซื้อ-ขาย: (+2)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 7610

Time Online : 318:14:48

Level 36 : Exp 4%
**
HP: 0.3%
**
PD: 0.877
**

กระทู้: 1965

OS:
unknown
Browser:
unknown


« ตอบ #4 เมื่อ: 7 กันยายน 2552, 22:46:31 »

 clap clap clap

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

ชื่อบัญชี นายธงชัย อินทิพย์บาง เลขที่บัญชี  5100174528  ธ.กรุงไทย สาขา อุตรดิตถ์
knok
Esprit de corps
Administrator



คะแนนขอบคุณ: 59646
คะแนนซื้อ-ขาย: (+2)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 1

Time Online : 542:1:27

Level 78 : Exp 71%
**
HP: 13.7%
**
PD: 3.042
**

กระทู้: 9348

OS:
unknown
Browser:
unknown


เว็บไซต์
« ตอบ #5 เมื่อ: 8 กันยายน 2552, 01:21:47 »

ยังไม่นอนอีกเหรอน้องชา ว่างๆ จะต้องขอความรู้เรื่องไมโครคอนโทรลเลอร์ เพิ่มเติมอีกเยอะ  พี่ยังอ่อนหัด อีกไกลกว่าจะได้ความรู้เท่านี้ เยี่ยมยอดทุกบทความ  adore

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

Song : Night Bird - Shakatak   <a href="http://www.wintesla2003.com/song/hifias5d.swf" target="_blank">http://www.wintesla2003.com/song/hifias5d.swf</a>
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« ตอบ #6 เมื่อ: 8 กันยายน 2552, 09:08:29 »

ยังไม่นอนอีกเหรอน้องชา ว่างๆ จะต้องขอความรู้เรื่องไมโครคอนโทรลเลอร์ เพิ่มเติมอีกเยอะ  พี่ยังอ่อนหัด อีกไกลกว่าจะได้ความรู้เท่านี้ เยี่ยมยอดทุกบทความ  adore
ยังครับ นอนตี 2 ทุกคืนช่วงนี้... อยากเก่งเหมือน admin ..  hahaha hahaha
คงมิบังอาจเทียบหรอกครับ ผมยังเป็นฝุ่นอยู่เลยครับ....

ส่วนเรื่องเครื่องเจาะเซาะอัตโนมัติ ถ้าอ. สนใจจริงๆ ก็ดีครับ ตัวนี้ทำอะไรได้เยอะเลยครับ
ราคา ก็ 1 - 2 แสน เขียน g - code ได้ ...  แล้วขึ้นรูปทั้งโลหะ พลาสติกได้ดีมากๆ
ครับ...

แล้วเมื่อไหร่จะเปิดคอร์ทสัญญาณ BB5 ที่หาดใหญ่ครับ...รออยู่ครับ........... adore adore adore

** ถ้าเป็นไปได้ ... ก็ขอวิเคราะห์วงจร เทียบกับวงจรของมือถือครับ..เพราะจะได้มองภาพได้เห็นชัดๆ ...
ตอนนี้เลยต้องหมกตัวอยู่แต่ในห้องทดลอง....
ขอได้รับการชี้แนะจากท่านเทพ+เพื่อนๆ ทั้งหลายด้วยครับ... เพื่อบ้านของเราจะเป็นปึกแผ่นต่อไป.....
ด้วยความเคารพ...  adore adore

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
knok
Esprit de corps
Administrator



คะแนนขอบคุณ: 59646
คะแนนซื้อ-ขาย: (+2)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 1

Time Online : 542:1:27

Level 78 : Exp 71%
**
HP: 13.7%
**
PD: 3.042
**

กระทู้: 9348

OS:
unknown
Browser:
unknown


เว็บไซต์
« ตอบ #7 เมื่อ: 8 กันยายน 2552, 11:39:37 »

ยังครับ นอนตี 2 ทุกคืนช่วงนี้... อยากเก่งเหมือน admin ..  hahaha hahaha
คงมิบังอาจเทียบหรอกครับ ผมยังเป็นฝุ่นอยู่เลยครับ....

ส่วนเรื่องเครื่องเจาะเซาะอัตโนมัติ ถ้าอ. สนใจจริงๆ ก็ดีครับ ตัวนี้ทำอะไรได้เยอะเลยครับ
ราคา ก็ 1 - 2 แสน เขียน g - code ได้ ...  แล้วขึ้นรูปทั้งโลหะ พลาสติกได้ดีมากๆ
ครับ...

แล้วเมื่อไหร่จะเปิดคอร์ทสัญญาณ BB5 ที่หาดใหญ่ครับ...รออยู่ครับ........... adore adore adore

** ถ้าเป็นไปได้ ... ก็ขอวิเคราะห์วงจร เทียบกับวงจรของมือถือครับ..เพราะจะได้มองภาพได้เห็นชัดๆ ...
ตอนนี้เลยต้องหมกตัวอยู่แต่ในห้องทดลอง....
ขอได้รับการชี้แนะจากท่านเทพ+เพื่อนๆ ทั้งหลายด้วยครับ... เพื่อบ้านของเราจะเป็นปึกแผ่นต่อไป.....
ด้วยความเคารพ...  adore adore

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

สนใจเครื่องมือที่ชาบอกครับ แต่ราคาก็สูงมาก เก็บตังค์ก่อน

คอร์ส BB5 สัญญาณเปิดประมาณ วันที่ 20 กย. 52 เข้ามาแทรกเรียนได้เลย เพราะเป็นคอร์สพื้นฐาน BB5 และ สัญญาณ ไอโมบาย และ เครื่องจีน วันที่แน่นอนจะ PM ไปบอก แต่ก็ประมาณวันที่ 20 นั่นแหละ


 

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

Song : Night Bird - Shakatak   <a href="http://www.wintesla2003.com/song/hifias5d.swf" target="_blank">http://www.wintesla2003.com/song/hifias5d.swf</a>
ฟาริด
Wintesla Shop

*

ทุกๆความพยายาม ใช่ จะสำเร็จ

คะแนนขอบคุณ: 609
คะแนนซื้อ-ขาย: (0)

ออฟไลน์ ออฟไลน์

Member ID : 1423

Time Online : 83:18:26

Level 44 : Exp 84%
**
HP: 1.8%
**
PD: 1.094
**

กระทู้: 3049

OS:
unknown
Browser:
unknown


« ตอบ #8 เมื่อ: 8 กันยายน 2552, 12:55:44 »

ขอบอกว่า ชอบ


รูป + คำบรรยาย

ชัดเจน อ่านแล้ว เข้าใจ


ทำมาอีกเยอะๆน่ะครับ


การผสมสี นี้ ความรู้ไหม่ทีเดียว


อิเล็กทรอนิกส์ ยิงเจาะยิ่งลึก ครับ บางครั้ง อยากจะอธิบาย แต่ดูๆแล้ว เรื่องจะยาว เลยเก็บงำไว้คนเดียวดีกว่า


ขอบคุณ คุณ ชา อีกครั้งน่ะครับ ไม่ง่ายเลยกว่าจะเขียนหมดนี้



ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

                         ทุกๆความพยายาม ใช่จะสำเร็จ
                    แต่ทุกๆความสำเร็จ ต้องพยายามแน่นอน
D®_GOD_Se®vice
Global Moderator


ผู้ล้มเหลวเพราะล้มเลิก ผู้ไม่ล้มเลิกจะไม่ล้มเหลว

คะแนนขอบคุณ: 8844
คะแนนซื้อ-ขาย: (+1)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 4924

Time Online : 69:20:54

Level 46 : Exp 14%
**
HP: 0.5%
**
PD: 1.300
**

กระทู้: 3216

OS:
unknown
Browser:
unknown


« ตอบ #9 เมื่อ: 8 กันยายน 2552, 13:15:39 »

ขอบอกว่า ชอบ


รูป + คำบรรยาย

ชัดเจน อ่านแล้ว เข้าใจ


ทำมาอีกเยอะๆน่ะครับ


การผสมสี นี้ ความรู้ไหม่ทีเดียว


อิเล็กทรอนิกส์ ยิงเจาะยิ่งลึก ครับ บางครั้ง อยากจะอธิบาย แต่ดูๆแล้ว เรื่องจะยาว เลยเก็บงำไว้คนเดียวดีกว่า


ขอบคุณ คุณ ชา อีกครั้งน่ะครับ ไม่ง่ายเลยกว่าจะเขียนหมดนี้



 ชอบอ่านแบบนี้เช่นเดียวกันครับ clap2 clap2 clap2  แต่ก็ยังได้มาไม่ถึงครึ่งนึงเลยที่อ่าน  ต้องขยันตามกระทู้หน่อยแล้วเรา  ขอบคุณครับสำหรับความรู้ที่ไม่สามารถประเมินค่าได้นี้  โชคดีจริงๆครับชีวิตนี้ที่ได้รู้จัก www.wintesla2003.com   adore adore adore

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า

We want to make the difference.
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« ตอบ #10 เมื่อ: 8 กันยายน 2552, 15:19:01 »

ขอบอกว่า ชอบ


รูป + คำบรรยาย

ชัดเจน อ่านแล้ว เข้าใจ


ทำมาอีกเยอะๆน่ะครับ


การผสมสี นี้ ความรู้ไหม่ทีเดียว


อิเล็กทรอนิกส์ ยิงเจาะยิ่งลึก ครับ บางครั้ง อยากจะอธิบาย แต่ดูๆแล้ว เรื่องจะยาว เลยเก็บงำไว้คนเดียวดีกว่า


ขอบคุณ คุณ ชา อีกครั้งน่ะครับ ไม่ง่ายเลยกว่าจะเขียนหมดนี้


ขอบคุณครับ ผมก็ติดตามผลงานของท่านครับ...
เรื่องแนวการซ่อม คงปรึกษาท่านฟาริดบ่อยเรื่องซ่อมน่ะครับ..  adore

ชอบอ่านแบบนี้เช่นเดียวกันครับ clap2 clap2 clap2  แต่ก็ยังได้มาไม่ถึงครึ่งนึงเลยที่อ่าน  ต้องขยันตามกระทู้หน่อยแล้วเรา  ขอบคุณครับสำหรับความรู้ที่ไม่สามารถประเมินค่าได้นี้  โชคดีจริงๆครับชีวิตนี้ที่ได้รู้จัก www.wintesla2003.com   adore adore adore
ท่าน Dr_GOD แฟนประจำ ที่ไม่เคยลืมเลยครับ.. ผมก็ขอบคุณในกำลังใจ..จะทำให้ดีที่สุดเพื่อ
ความไว้วางใจ...  adore adore

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

และยินดีที่จะทำแบบนี้ต่อไป ....  adore adore

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
chillychacha^
Moderator



คะแนนขอบคุณ: 8875
คะแนนซื้อ-ขาย: (0)

เพศ: ชาย
ออฟไลน์ ออฟไลน์

Member ID : 9363

Time Online : 106:8:57

Level 42 : Exp 23%
**
HP: 0.5%
**
PD: 1.247
**

กระทู้: 2697

OS:
unknown
Browser:
unknown


« ตอบ #11 เมื่อ: 8 กันยายน 2552, 20:52:31 »


คอร์ส BB5 สัญญาณเปิดประมาณ วันที่ 20 กย. 52 เข้ามาแทรกเรียนได้เลย เพราะเป็นคอร์สพื้นฐาน BB5 และ สัญญาณ ไอโมบาย และ เครื่องจีน วันที่แน่นอนจะ PM ไปบอก แต่ก็ประมาณวันที่ 20 นั่นแหละ
 

ขอบคุณครับ... love ผมจะได้ลางานตั้งไว้เลย...เพราะเป็นช่วงที่เด็กปิดเทอม ลาได้...

ชาวฟ้าสาง เตียงรวม ว่ายังไงกันบ้าง.......  razz razz

ลิงค์หัวข้อ: http://wintesla2003.com/topic/95719
บันทึกการเข้า


..ตาดู หูฟัง สมองคิด มือทำ...085-0813404 
เวปไซด์ ความรู้อิเล็กทรอนิกส์ www.thai-maker.com
หน้า: 1    ขึ้นบน
  พิมพ์  
 
กระโดดไป:  


* แบ่งปันหัวข้อนี้...
สำหรับเว็บบอร์ด
(BBCode)
สำหรับเว็บไซต์/บล๊อก
(HTML)