บทความ

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;       ...

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);      ...

หน่วยความจำแบบรอม (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 ที่ใช้ในปัจจุบันมีความจุส...

ใบงาน 10 ดิจิตอล

รูปภาพ

งานไมโครคอนโทรลเลอร์ 1

รูปภาพ
void main() {      unsigned char dice[]={0x08,0x22,0x2A,0x55,0x5D,0x77};      unsigned char i;      TRISC=0;      TRISB=0x01;      PORTC=0;      while(1)      {        if(PORTB.F0==0)      {        PORTC=dice[i];        delay_ms(3000);        PORTC=0;      }       i++;       if(i>5)i=0;      } }

งานไมโครคอนโทรลเลอร์ 2

รูปภาพ
#define digit1 PORTB.F5 #define digit2 PORTB.F6 #define digit3 PORTB.F7 unsigned char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char i,j; void interrupt() {      if(INTCON.INT0IF==1)      {             i++;             if(i>9)i=0;             INTCON.INT0IF=0;      }      if(INTCON3.INT1IF==1)      {             j++;             if(j>9)j=0;             INTCON3.INT1IF=0;      } } void main() {    TRISB=0x03;    TRISC=0;    INTCON.INT0IE=1;    INTCON.INT0IF=0;    INTCON2.INTEDG0=0;    INTCON3.INT1IE=1;    INTCON3.INT1IF=0;    INTCON2.INTEDG1=0;    INTCON.GIE=1;    while(1)    { ...

ไมโครคอนโทรลเลอร์งาน 0-9

รูปภาพ
void main() {      char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};      int i=0;      TRISC=0;      PORTC=segment[0];      while(1)      {            delay_ms(500);            i=i+1;            if(i==10)i=0;            PORTC=segment[i];      } }