บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2020

งานหาไมโครคอนโทรลเลอร์สัปดาห์ที่ 4

รูปภาพ
พัดลมระบายความร้อน code int Read_T(void); main() { TRISB = 0xF0; CMCON = 0x07; PORTB.F0=0; while(1) { if(Read_T()<20) { PORTB.F0=1; } if(Read_T()>30) { PORTB.F0; } } } int Read_T(void) {      int i;      i =0;      TRISA = 0xF0;      PORTA.F0 = 1;      Delay_ms(10);      TRISA = 0xF1;        while(PORTA.F        {        i++;        }        i = i/10;        return i ;        }

งานหาไมโครคอนโทรลเลอร์สัปดาห์ที่ 3

รูปภาพ
ไซเรน 2เสียง code void sound1(void); void sound2(void); void Vdelay_us(int time); main() { TRISB=0xFC; PORTB.F1=0; while(1) { while(PORTB.F2==0) { sound1(); } while(PORTB.F3==0) { sound2(); } } } void Vdelay_us(int time ) { int i; for(i=0;i<time;i++) { } } void sound1 (void) { int i ; PORTB.F1=1; for (i=80;i>20;i--) { PORTB.F0=1; Vdelay_us(i); PORTB.F0=0; Vdelay_us(i); } PORTB.F1=0; for(i=20;i<80;i++) { PORTB.F0=1; Vdelay_us(i); PORTB.F0=0; Vdelay_us(i); } } void sound2 (void) { int i; PORTB.F1=1; for (i=0;i<200;i++) { PORTB.F0=1; Vdelay_us(20); PORTB.F0=0; Vdelay_us(20); } PORTB.F1=0; for(i=0;i<200;i++) { PORTB.F0=1; Vdelay_us(50); PORTB.F0=0; Vdelay_us(50); } }

งานหาไมโครคอนโทรลเลอร์สัปดาห์ที่ 2

รูปภาพ
ไซเรน 2เสียง code void sound1(void); void sound2(void); void Vdelay_us(int time); main() { TRISB=0xFC; PORTB.F1=0; while(1) { while(PORTB.F2==0) { sound1(); } while(PORTB.F3==0) { sound2(); } } } void Vdelay_us(int time ) { int i; for(i=0;i<time;i++) { } } void sound1 (void) { int i ; PORTB.F1=1; for (i=80;i>20;i--) { PORTB.F0=1; Vdelay_us(i); PORTB.F0=0; Vdelay_us(i); } PORTB.F1=0; for(i=20;i<80;i++) { PORTB.F0=1; Vdelay_us(i); PORTB.F0=0; Vdelay_us(i); } } void sound2 (void) { int i; PORTB.F1=1; for (i=0;i<200;i++) { PORTB.F0=1; Vdelay_us(20); PORTB.F0=0; Vdelay_us(20); } PORTB.F1=0; for(i=0;i<200;i++) { PORTB.F0=1; Vdelay_us(50); PORTB.F0=0; Vdelay_us(50); } }

งานหาไมโครคอนโทรลเลอร์สัปดาห์ที่ 1

รูปภาพ
งานหาไมโครคอนโทรลเลอร์สัปดาห์ที่ 1 ลูกเต๋าอิเล็กทรอนิกส์ code void beep(void); int display_led(int in); main() {  int i,j,time_n;  TRISB = 0x00;  CMCON = 0x07;  TRISA = 0xfd;  while(1)  {   time_n =120;   while(PORTA.F0==1)   {    time_n++;    if(time_n>240)    {     time_n=120;    }   }   j=1;   for(i=1;i<time_n;i++)   {    PORTB = display_led(j);    beep();    Delay_ms(10);    j++;    if(j>6)    {           j=1;         }       }     }   }   int display_led(int in)   {    switch(in)     {     case 1:return 0b0001000;     case 2:return 0b0010100;     case 3:return 0b0101010;     case 4:return 0b1100011;     case 5:return 0b1101011;     case 6:return 0b1110111;     }   }   void beep(void)   {     int i_b;       for(i_b=0;i_b<20;i_b++)       {   

micro งาน 6

รูปภาพ
Code void main() {   int i;   TRISC=0;     for (i = 0;i<5; i++)     {        PORTC.F0=1;         delay_ms(200);        PORTC.F0=0;            delay_ms(200);     }    for (i = 0;i<10; i++)     {        PORTC.F7=1;         delay_ms(200);        PORTC.F7=0;            delay_ms(200);     } }

micro งาน 7

รูปภาพ
Code void main() {   int i=3; //   i = 1,2,3,4   TRISC=0;     while(1)     {     switch (i)     {       case 1:           //   i = 1            PORTC.F3=1;            delay_ms(200);            PORTC.F3=0;            delay_ms(200);            break;        case 2:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;         case 3:        //   i = 3            PORTC.F0=1;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;        case 4:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;     }     }   }

micro งาน 8

รูปภาพ
Code void main() {   int i=3;   int j,k;   TRISC=0;     while(j<5)     {     switch (i)     {       case 1:            PORTC.F3=1;            delay_ms(200);            PORTC.F3=0;            delay_ms(200);            break;        case 2:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;         case 3:            PORTC.F0=1;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;        case 4:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;     }            j++;     }   }

micro งาน 9

รูปภาพ
Code void main() {   int i=3;   int j;   TRISC=0;     do {        switch (i)          {           case 1:            PORTC.F3=1;            delay_ms(200);            PORTC.F3=0;            delay_ms(200);            break;           case 2:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;           case 3:            PORTC.F0=1;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;           case 4:            PORTC.F0=0;            delay_ms(200);            PORTC.F0=0;            delay_ms(200);            break;          }            j++;       }     while(j<5);   }

หน่วยความจำแบบรอม (ROM) 2

รูปภาพ
ROM การนำเสนอ รอม (ROM: Read-only Memory หน่วยความจำอ่านอย่างเดียว) เป็นหน่วยความจำแบบสารกึ่งตัวนำชั่วคราวชนิดอ่านได้อย่างเดียว ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซ้ำได้ (อย่างง่ายๆ) เป็นหน่วยความจำที่มีซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ ข้อมูลก็จะไม่หายไปจากหน่วยความจำ    วงจรROM     การต่อ Z-80 กับสัญญาณ /CS ของ ROM  การเลือก ROM ในจังหวะการอ่านนี้ ซีพียูต้องกำหนดได้ว่าจะเลือกแอดเดรสกลุ่มใด และจังหวะการเลือกนั้นจะต้องตรงกับการอ่านพอดี ดังนั้นจึงต้องนำเอาสัญญาณ /MEMR และสัญญาณเลือก ROMA มาทำการ OR กันอีกครั้ง เพื่อจะเลือก ROM ได้อย่างถูกต้อง วงจรที่ต่อ ROM แบบสมบูรณ์ในกรณีนี้แสดงได้ดังรูป การต่อ ROM หลายๆชิบ หากต้องการจะต่อ ROM หลายๆชิป เช่น ROMA,ROMB,ROMC และ ROMD ก็สามารถต่อเพิ่มได้ โดยใช้สัญญาณเลือกจาก 74LS138 และ /MEMR มาเลือกโดยผ่านทาง /CE และ /OE ได้ ดังแสดงในรูป   การใช้ ROM ในชิปที่มีความจุเพิ่มขึ้น ROM ที่ใช้ในปัจจุบันมีความจุสูงขึ้นมาก EPROM บางตัวมีความจุถึง