http://www.epro.co.th
สร้างเว็บไซต์Engine by iGetWeb.com

 หน้าแรก

 สินค้า

 บทความ

 วิธีการสั่งซื้อ

 ติดต่อเรา

 ข่าวสาร

 รูปภาพ

 Facebook

 Download

 เว็บบอร์ด

สถิติ

เปิดเว็บ04/12/2011
อัพเดท08/03/2017
ผู้เข้าชม497,615
เปิดเพจ455,525
สินค้าทั้งหมด70

ตะกร้าสินค้า

จำนวนสินค้า : 0 รายการ
ราคา :0 ฿

จดหมายข่าว

อีเมล์

ตอนที่1 การใช้งานInput และ Output

ตอนที่1 การใช้งานInput และ Output

การทำงานของโปรแกรม

                เมื่อกด  Switch1   LED1 ดับและ LED2 ติด

             เมื่อกด  Switch2    LED1 ติดและ LED2 ดับ

 

-------------------------------------------------------------------------------------------------------------

//******************************************************//
// File      : Lab1 I-O                                 
// Purpose   : Input switch & Output LED              
// Target    : PIC16F877A                               
// Compiler  : CCS C Compiler                           
// WWW       : www.allelecpro.com                       
// Email     : electronicpro-1@hotmail.com              
// Author    : Sarayut Yaemprayoon                      
//******************************************************//

// RD0 --> LED1
// RD1 --> LED2
// RB0 --> Switch1
// RB1 --> Switch2

#include <16F877A.h>                                   //Header file for the PIC16F877A      [1]
#fuses HS,NOLVP,NOWDT,NOPROTECT  // Configuration word              [2]
#use delay(clock = 8000000)                          //Use crystal 8 MHz                [3]

/*********** Main Function  ***************/
void main (void)
{  
   set_tris_b(0xFF);                                   // Use portb is input.                         [4]
   set_tris_d(0x00);                                   // Use portd is output.                       [5] 
   output_b(0xff);                                        // Portb 11111111                              [6]
   output_d(0x00);                                     // Portd 00000000 (LED OFF)          [7]
   
   while(true)                                              //                                                            [8]
   {     if(!input(PIN_B0))                           // If Press switch1                               [9]  
         { output_bit(PIN_D0,0);                 //LED1 OFF                                         [10] 
           output_bit(PIN_D1,1);                 //LED2 ON                                            [11]
           while(!input(PIN_B0));                // While Press switch1                      [12]
         }
          if(!input(PIN_B1))                          // If Press switch2                               [13]
         { output_bit(PIN_D0,1);                 //LED1 ON
           output_bit(PIN_D1,0);                 //LED2 OFF
           while(!input(PIN_B1));                 // While Press switch1   
         }
   }
}  

-------------------------------------------------------------------------------------------------------------------

อธิบายโปรแกรม

[1] เรียกใช้เฮดเดอร์ไฟล์เบอร์ PIC16F877A  โดย .h เป็นนามสกุลที่ย่อมาจาก เฮดเดอร์ไฟล์  หากมีการใช้ PIC เบอร์อื่นก็ต้องเปลี่ยนเป็นเบอร์ ตามที่เราใช้ เช่น 16F887 ,18F4431

[2] การกำหนดสถานะเริ่มต้องของ PIC เช่น

                ออสซิเลเตอร์ที่ใช้งาน(LP,XT,HS,RC)

                การเปิดใช้งานวอตช์ด็อกไทเมอร์ (WDT,NOWDT)

                การป้องกันการคัดลอกโค๊ต (PORTECT,NOPORTECT)

และอื่นๆ โดยดูได้จาก ViewàValid Fuses

[3] ใช้ Crystal ในการกำเนิดความถี่ 8MHzซึ่งจะมีความสัมพันธ์กับออสซิเลเตอร์ที่ใช้งาน(LP,XT,HS,RC) ในที่นี้ใช้เป็น HS

[4] กำหนดให้ Portb เป็น Input

[5] กำหนดให้ Portd เป็น Output

[6] กำหนดให้ Portb เป็น  11111111 สำหรับเช็คสวิตช์

[7] กำหนดให้ Portd เป๊น  00000000 LED ดับ

[8]  กำหนดให้โปรแกรมวนลูปไม่รู้จบ

[9] RB0 จะเป็น “0” เมื่อกด switch1

[10] กำหนดให้ RD0 เป็น “0” LED ดับ

[11] กำหนดให้ RD1 เป็น “1” LED ติด

[12] ตราบใดที่ไม่ได้ได้ปล่อย switch1

[13] ตั้งแต่ [13] มีลักษณะเช่นเดียวกับ [9]-[12] แต่เป็น switch2 และ LED จะสลับกัน

 

***Download ไฟล์ได้จาก***


http://cid-c0a6064779796550.skydrive.live.com/browse.aspx/.Public

Download คู่มือไม่ได้โปรดแจ้ง electronicpro-1@hotmail.com   
ขอบคุณครับ^^

ความคิดเห็น

แสดงความคิดเห็น

* *

 

*

view

 หน้าแรก

 สินค้า

 บทความ

 รวมรูปภาพ

 เว็บบอร์ด

ติดต่อเรา

view