32
1

งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

1

Page 2: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

2

รายวชา 6562213 ไมโครโพรเซสเซอร 1

โดย

ผชวยศาสตราจารย ธระ กาญจนสนธ

วท.ม.(ฟสกส) วท.บ.(ฟสกส)

บทเรยนออนไลน

6562213 Microprocessor 1

มหาวทยาลยราชภฏนครปฐม

ยนดตอนรบส...

คณะวทยาศาสตรและเทคโนโลย

Page 3: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1

จดประสงคการเรยนรของรายวชา 6562213 ไมโครโพรเซสเซอร 1

3

1) เพอใหผเรยนสามารถออกแบบและพฒนาฮารดแวรทมไมโครคอนโทรลเลอร หรอชปตระกล MCS-51เปนหนวยประมวลผล

2) เพอใหผเรยนสามารถพฒนาซอฟตแวรภาษาซ

ในการควบคมการท างานของฮารดแวรทตอวงจรรวม กบชปตระกล MCS-51

3) เพอใหผเรยนสามารถพฒนาเจตคตและมจรรยาบรรณในการคดคนและพฒนาสงประดษฐ โดยใชชปตระกลMCS-51 เปนหนวยประมวลผล

Page 4: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1

หวขอส าคญของรายวชา 6562213 ไมโครโพรเซสเซอร 1 บทท 1-6

4

บทท 1 สถาปตยกรรมไมโครโพรเซสเซอรและไมโครคอนโทรลเลอรพนฐาน

บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร

บทท 3 ชดค าส งแยกตามประเภทการใชงาน

บทท 4 ตวอยางการเขยนโปรแกรมเบองตนและโปรแกรมใชงาน

บทท 5 การออกแบบวงจรหนวยความจ าและอปกรณตอรวม

บทท 6 การประยกตใชงานไมโครคอนโทรลเลอร

Page 5: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

5

Page 6: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

6

รายวชา 6562213 ไมโครโพรเซสเซอร 1

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

โดยผชวยศาสตราจารยธระ กาญจนสนธ

คณะวทยาศาสตรและเทคโนโลย

มหาวทยาลยราชภฏนครปฐม

Page 7: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 7

บทน า

ในบทน มตวอยางงานควบคมแบบพนฐานจากผงความคดในการพฒนางานควบคม-การจ าลองวงจรอเลกทรอนกส-การเขยนโปแกรมควบคมแบบงายๆเรมตงแตการตดสวางของหลอด LED 1 ดวง ถงหลายดวง/ การแสดงผลของสวนแสดงผล 7 สวน/การใชสวตช 1 ตว ถง 8 ตวควบคมการตด-ดบของหลอด LED/ สวนแสดงผล 7 สวน / การท างานของมอเตอร

การน าเสนอผงความคดน าไปสฮารดแวรทจ าลองไดบน ISIS Professional Proteus และซอฟตแวรซ งพฒนาไดบน Keil µVision เมอน ามาประกอบกนโดยล าดบ นบเปนกรณศกษาทชวยพฒนาความเขาใจในไมโครคอนโทรลเลอรตระกล MCS-51 ไดหลากหลาย ผเรยนจงจ าเปนตองสงเกตความแตกตาง และปรบความเขาใจไปในแตละกรณ

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 8: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 8

หวขอส าคญในบทท 4

4.2 ตวอยาง 1: on-off 1-LED (byte control)

4.3 ตวอยาง 2 : on-off 4-LEDs (shift >> control)

4.5 ตวอยาง 4 : สวนแสดงผล 7 สวนแบบ CA (byte control)

4.4 ตวอยาง 3 :on-off 5-LEDs (byte control)

4.1 วธการพฒนางานควบคมบนคอมพวเตอร

4.7 ตวอยาง 7: 3-buttonswitches& 3-LEDs(byte control)

4.6 (ข) ตวอยาง 6: 1-button switch& 1-DC motor(bit control)

4.6 (ก) ตวอยาง 5:1-button switch & 1-LEDแบบ CA (byte control)

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

4.8 ตวอยาง 8: 4-buttonswitches & 7-segment (byte control)

4.9 ตวอยาง 9: matrix (3x4) switches

Page 9: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

9

Page 10: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

4.1 วธการพฒนางานควบคมบนคอมพวเตอร

สรางวงจรบน Proteusผงความคด

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

11101111

11111111

P2=0xFFP2=0xEF

6562213 ไมโครโพรเซสเซอร 1 10

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

เปด/ปด ดวงไฟ 1 ดวง

P2.3 P2.2 P2.1 P2.0 Hex.P2.7 P2.6 P2.5 P2.4

111 1111 1 0xFF0 0xEF

เรม

เปดไฟ

ปดไฟ

end

ดวงไฟพรอมใช

หนวงเวลา

หนวงเวลา

พฒนาโปรแกรมบน Keil

#include<reg51.h>

void main ()

while(1)

{

P2=0xFF;

}

P2=0xEF;

P2=0xFF;

{ delay(100);

delay(100);

void delay (long t)

{for (t=t;t>0;t--);}

void delay (long t);

}

Page 11: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

11

Page 12: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

4.2 ตวอยาง 1 : on-off 1-LED (byte control)

สรางวงจรบน Proteus

เปด/ปด ดวงไฟ 1 ดวง

เรม

เปดไฟ

ปดไฟ

end

ผงความคด

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

พฒนาโปรแกรมบน Keil

#include<reg51.h>

void main ()

while(1)

{

P2=0xFF;

}

ดวงไฟพรอมใช

P2=0xEF;11101111

11111111

P2=0xFFP2=0xEF

P2=0xFF;

{หนวงเวลา

หนวงเวลา

delay(100);

delay(100);

void delay (long t)

{for (t=t;t>0;t--);}

void delay (long t);

}

P2.3 P2.2 P2.1 P2.0 Hex.P2.7 P2.6 P2.5 P2.4

111 1111 1 0xFF0 0xEF

6562213 ไมโครโพรเซสเซอร 1 12

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 13: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

13

Page 14: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 14

เรม

ON ท P2.7

end

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

#include<reg51.h>

void main ()

while(1)

P2= ~x;

}

ดวงไฟพรอมใช

P2=0x80; x=P2;

{

หนวงเวลา

delay(100);

void delay (unsigned int t)

{ for (t=t; t>0; t--); }

void delay (unsigned int t);

}

ON ท P2.6 หนวงเวลา

ON ท P2.5 หนวงเวลา

ON ท P2.4 หนวงเวลา

x=(x>>1);if(x==0x08) {x=0x80;}

Int x;

1000 0000 = 0x80

{

0111 1111= 0x7F0100 0000 = 0x401011 1111 = 0xBF

80

7F

40

BF

20

DF

10

EF

0010 0000 = 0x201101 1111 = 0xDF0001 0000 = 0x101110 1111 = 0xEF

08

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

4.3 ตวอยาง 2 : on-off 4-LEDs (shift bit >> control)

สรางวงจรบน Proteus ผงความคด พฒนาโปรแกรมบน Keil

0x800x400x200x100x08

Page 15: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

15

Page 16: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1

4.4 ตวอยาง 3:on-off 5-LEDs(byte control)

16

เปด/ปด ดวงไฟ 5 ดวง

เร ม

เปดไฟท P2.7

end

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

วงจรดวงไฟใช port P2

#include<reg51.h>

void main ();

while(1){

P2=0xBF;

}

ดวงไฟพรอมใช

P2=0x7F;

0 1 1 1 1 1 1 11 1 1 1 1 1 1 1

P2=0xFFP2=0x7F

P2=0xFF;{หนวงเวลา delay(100);

delay(100);

void delay (long t)

{for (t=t;t>0;t--);}

void delay (long t) ;

}

เปดไฟท P2.6 หนวงเวลา

เปดไฟท P2.5 หนวงเวลา

เปดไฟท P2.4 หนวงเวลา

เปดไฟท P2.3 หนวงเวลา

P2=0xEF;

P2=0xDF; delay(100);

delay(100);

P2=0xF7; delay(100);1 0 1 1 1 1 1 1

P2=0xBF

1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1

P2=0xDFP2=0xEF

1 1 1 1 0 1 1 1

P2=0xF7

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

สรางวงจรบน Proteus ผงความคด

พฒนาโปรแกรมบน Keil

Page 17: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

17

Page 18: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

g

d

b

c

f

e

pt.

6562213 ไมโครโพรเซสเซอร 1 18

สวนแสดงผลแบบบวกรวม

เรม

เปดไฟชนสวน b,c

เปดไฟชนสวน a,b,c

end

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

#include<reg51.h>

void main ()

while(1)

{

P2=0xF8;

}

สวนแสดงผลพรอมใช

P2=0xF9;

11111001

11111111

P2=0xFFP2=0xF9

P2=0xFF;

{หนวงเวลา

หนวงเวลา

delay(100);

delay(100);

void delay (long t);

{for (t=t;t>0;t--);}

void delay (long t)

}

สงใหตดสวางดวยลอจก ”0”

8x220

g

d

b

c

f

e

pt.11111000

g

d

b

c

f

e

pt.11111001

P2=0xF8

4.5 ตวอยาง 4 : สวนแสดงผล 7 สวนแบบ CA (byte control)

สรางวงจรบน Proteus ผงความคด พฒนาโปรแกรมบน Keil

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 19: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

19

Page 20: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 20

If(statement is real ) { do process }

รปแบบค าส ง ทางเลอก (if condition)

สวตชพรอมกด

เรม

กดสวตช ?

เปดไฟ ปดไฟ

end

true

false

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.วงจรดวงไฟใช port P2.4

#include<reg51.h>

void main ()

while(1)

{P2=0xEF;}

{

else {P2=0xFF;}

}}

ดวงไฟพรอมใช

if(P1==0x7F)

11111110

11111111

11101111

11111111

P1=0xFF

P2=0xFF

P1=0x7F

P2=0xEF

P1=0xFF;P2=0xFF;

{

วงจรสวตชใช port P1.7

4.6 (ก) ตวอยาง 5 : 1-button switch & 1-LED แบบ CA (byte control)

สรางวงจรบน Proteus ผงความคด พฒนาโปรแกรมบน Keil

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 21: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

21

Page 22: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1

ตวอยางทใชเงอนไข (if) สองทางเลอก

22

สวตชเปด/ปด มอเตอร

วงจรสวตชใช port P1.0

If(statement is real ) { do P1 }else{do P2}

รปแบบโปรแกรม

P1.0 สวตชพรอมกด

เรม

กดสวตช ?

P1 หมนมอเตอร P2 หยดมอเตอร

end

true

false

วงจรมอเตอรใช port P2.7

#include<reg51.h>

void main ()

sbit s0=P1^0;sbit m7=P2^7;

while(1)

{

else {m7=0;}

}

}

P2.7 มอเตอรพรอมใช

if(s0==0)

P1=0xFF; P2=0x00;

{ {m7=1;}

P1.0P2.7

4.6(ข) ตวอยาง 6 : 1-button switch & 1-DC motor (bit control)

สรางวงจรบน Proteus ผงความคด พฒนาโปรแกรมบน Keil

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 23: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

23

Page 24: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

สรางวงจรบน Proteus

0xFF 0xFF0xFB 0x7F0xFD

0xBF0xFE 0xDF

6562213 ไมโครโพรเซสเซอร 1 24

Input :วงจรสวตชใช port P1.2 P1.1 P1.0

Output :วงจรดวงไฟใช port P3.7 P3.6 P3.5

#include<reg51.h> void main ()

Unsigned int xsw;

while(1)

if(xsw==0xFB){P3=0x7F;}

{

{

}

}

P1=0xFF;P2=0xFF;xsw=P1;

If(statement is real ) { do P1 } else{do P2}if condition

สวตชพรอมกด

เรม

กดสวตช

sw2?

เปดไฟแดง ปดไฟ

end

true

false

ดวงไฟพรอมใช

กดสวตช

sw1?

เปดไฟเหลอง

true

falseกดสวตช

sw0?

เปดไฟเขยว

true

false

else if(xsw==0xFD){P3=0xBF;}

else if(xsw==0xFE){P3=0xDF;}

else {P3=0xFF;}

4.7 ตวอยาง 7 : 3-button switches & 3-LEDs (byte control)

ผงความคด พฒนาโปรแกรมบน Keiltraffic light

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

Page 25: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

25

Page 26: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 26

สวตช 4 ตวเปด/ปดควบคมการแสดงผล 7 สวน ...0-9

วงจรสวตชใช port P1.3 P1.2 P1.1 P1.0

วงจรสวนแสดงผลใช port P2

X=P1;สวตชพรอมกด

เรม

X=?

แสดง “0”

0xFF

ดวงไฟพรอมใช

แสดง “1”

0xFE

แสดง “2”

0xFD

แสดง “3”

0xFC

แสดง “4”

0xFB

แสดง “5”

0xFA

แสดง “6”

0xF9

แสดง “7”

0xF8

แสดง “8”

0xF7

แสดง “9”

0xF6

แสดง “ ”

Default

Active low : สงใหตดสวางดวยลอจก ”0”

123456789101112

13141516171819

20

4039383736353433323130

29

2827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EA

ALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6

P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

1 1 1 1 1 1 1 1 0xFF

pt. g f e d c b a Hex.P2.7 P2.6 P2.5 P2.4 P2.3 P2.2P2.1 P2.0

g

d

b

c

f

e

pt.

a

8x220

1 1 0 0 0 0 0 0 0xC01 1 1 1 1 0 0 1 0xF91 0 1 1 0 0 0 0 0xB01 0 0 1 1 0 0 1 0x991 0 0 1 0 0 1 0 0x921 0 0 0 0 0 1 0 0x821 1 1 1 1 0 0 0 0xF81 0 0 0 0 0 0 0 0x801 0 0 1 0 0 0 0 0x901 0 1 0 0 1 0 0 0xA40xC0 0xF9 0xA4 0xB0 0x99 0x92 0x82 0xF8 0x80 0x90 0xFF

#include<reg51.h> #include<reg51.h>

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

4.8 ตวอยาง 8: 4-button switches & 7-segment (byte control)

สรางวงจรบน Proteusผงความคด

ตวอยางทใช switch case (หลายทางเลอก)

a f b

g e c

d pt.

Page 27: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 27

สวตช 4 ตวเปด/ปดควบคมการแสดงผล 7 สวน ......0-9

วงจรสวตชใช port P1.7 P1.6 P1.5 P1.4 สวนแสดงผล port P3

X=P1;

#include<reg51.h>

void main ()

P1=0xFF; P2=0xFF;

switch(x)

{while(1)

{

Case 0xFF: {P2=0xC0;break;}

Case 0xEF: {P2=0xF9;break;}

Case 0xDF: {P2=0xA4;break;}

int x;

Case 0xCF: {P2=0xB0;break;}

x=P1

Case 0xBF: {P2=0x99;break;}

Case 0xAF: {P2=0x92;break;}

Case 0x9F {P2=0x82;break;}

Case 0x8F: {P2=0xF8;break;}

Case 0x7F: {P2=0x80;break;}

default: {P2=0xFF;}

{

}

Case 0x6F: {P2=0x90;break;}

#include<reg51.h>

P1=0xFF P2=0xCOP1=0xEF P2=0xF9P1=0xDF P2=0xA4P1=0xCF P2=0xB0P1=0xBF P2=0x99

g

d

b

c

f

e

pt.

1234567891011121314151617181920

4039383736353433323130292827262524232221

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

Vcc

EAALEPSEN

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RESET

XTAL1XTAL2

GND.

g

d

b

c

f

e

pt.8x220

P2=0xFF

P1=0xFF

g

d

b

c

f

e

pt.

P2=0xC0

P1=0xEF

P2=0xF9

P1=0xDF

g

d

b

c

f

e

pt.

P1=0xCF

g

d

b

c

f

e

pt.

P2=0xA4

P1=0xBF

g

d

b

c

f

e

pt.

P2=0x99

P1=0xAF

g

d

b

c

f

e

pt.

P2=0x92

P1=0xAF P2=0x92

P1=0x9F

P1=0x9F P2=0x82

g

d

b

c

f

e

pt.

P1=0x8F

g

d

b

c

f

e

pt.

P2=0xF8

P1=0x8F P2=0xF8

P2=0xB0P2=0x82P2=0x80

P1=0x7F

g

d

b

c

f

e

pt.

P1=0x7F P2=0x80P1=0x6F P2=0x90

P1=0x6F

P2=0x90

g

d

b

c

f

e

pt.

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

} }

4.8 ตวอยาง 8: 4-button switches & 7-segment (byte control)

สรางวงจรบน Proteus ผงความคด

พฒนาโปรแกรมบน Keil

ตวอยางทใช switch case (หลายทางเลอก)

Page 28: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 28

สวตช 4 ตวเปด/ปดควบคมการแสดงผล 7 สวน ......0-9

X=P1;

#include<reg51.h>

void main ()

P1=0xFF; P3=0xFF;

switch(x)

{while(1) {

Case 0xFF: {P3=0xC0;break;}

Case 0xFE: {P3=0xF9;break;}

Case 0xFD: {P3=0xA4;break;}

int x;

Case 0xFC: {P3=0xB0;break;}

x=P1

Case 0xFB: {P3=0x99;break;}

Case 0xFA: {P3=0x92;break;}

Case 0xF9: {P3=0x82;break;}

Case 0xF8: {P3=0xF8;break;}

Case 0xF7: {P3=0x80;break;}

default: {P3=0xFF;}

{

}Case 0xF6: {P3=0x90;break;}

#include<reg51.h>

P1=0xFF P3=0xCOP1=0xFE P3=0xF9P1=0xFD P3=0xA4P1=0xFC P3=0xBOP1=0xFB P3=0x99P1=0xFA P3=0x92P1=0xF9 P3=0x82P1=0xF8 P3=0xF8P1=0xF7 P3=0x8OP1=0xF6 P3=0x9O P3=0xFF

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

4.8 ตวอยาง 8: 4-button switches & 7-segment (byte control)

สรางวงจรบน Proteus

ตวอยางทใช switch case (หลายทางเลอก)

วงจรสวตชใช port P1.3 P1.2 P1.1 P1.0

สวนแสดงผลใช port P3

พฒนาโปรแกรมบน Keil

} }

Page 29: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

29

Page 30: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 30

สวตช 12 ตว ควบคมการท างาน

วงจรสวตชใช port P1.7 P1.6 P1.5 P1.4 สวนแสดงผลใช port P2

X=P1;

#include<reg51.h>

void main ()

P1=0xFF; P2=0xFF;

switch(x)

{while(1) {

Case 0xFF: {P2=0xC0;break;}

Case 0xEF: {P2=0xF9;break;}

Case 0xDF: {P2=0xA4;break;}

int x;

Case 0xCF: {P2=0xB0;break;}

x=P1

Case 0xBF: {P2=0x99;break;}

Case 0xAF: {P2=0x92;break;}

Case 0x9F {P2=0x82;break;}

Case 0x8F: {P2=0xF8;break;}

Case 0x7F: {P2=0x80;break;}

default: {P2=0xFF;}

{

}

Case 0x6F: {P2=0x90;break;}

#include<reg51.h>

P1=0xFF P2=0xCOP1=0xEF P2=0xF9P1=0xDF P2=0xA4P1=0xCF P2=0xB0P1=0xBF P2=0x99P1=0xAF P2=0x92P1=0x9F P2=0x82P1=0x8F P2=0xF8P1=0x7F P2=0x80P1=0x6F P2=0x90

} }

4.9 ตวอยาง 9 : matrix (3x4) switches

พฒนาโปรแกรมบน Keil

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

ตวอยาง Keypad phone

สรางวงจรบน Proteus

Page 31: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

6562213 ไมโครโพรเซสเซอร 1 31

เมอจบบทเรยนนแลว... นกศกษาควรมสมรรถนะดงน

4.2 เขาใจการควบคม 1-LED (byte control)

4.3 เขาใจการควบคม 1-8 LEDs (shift >> control)

4.5เขาใจการควบคมการแสดงผล บน 7-segment(CA)

4.4 เขาใจการควบคม 1-8 LEDs (byte control)

4.1 เขาใจวธการพฒนางานควบคมบนคอมพวเตอร

4.8 เขาใจการควบคม 3 buttonsswitches& 3-LEDs(byte control)

4.7 เขาใจการควบคม 1-buttonswitch & 1-DC motor (bit control)

4.6เขาใจการควบคม 1-button switch & 1-LEDแบบ CA (byte control)

บทท 4 ตวอยางการเขยนโปรแกรมเบองตน

4.9 เขาใจการควบคม4-buttonswitches & 7-segment (byte control)

4.10 เขาใจการควบคมmatrix (3x4) switches

Page 32: งานนำเสนอ PowerPoint - NPRUcourseware.npru.ac.th/admin/files/20181009145844_dceefb0...6562213 ไมโครโพรเซสเซอร 1 7 บทน า ในบทน

32