1. Trang chủ
  2. » Luận Văn - Báo Cáo

code thực hành vi xử lý viết bằng ngôn ngữ ASM

31 776 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 727,98 KB

Nội dung

code thực hành vi xử lý gồm những code cơ bản về led đơn,ma trận phím,led 7 đoạn,ma trận phím điều khiển động cơ bước viết bằng C và cà hợp ngữ (asm),dễ hiểu cho mấy bạn học chuyên nghành điều khiển và tự động hóa hay điện tử

Trang 1

I. LED ĐƠN

1. BÀI TẬP YÊU CẦU

• Viết chương trình điều khiển 16 led đơn: chớp tắt 5 lần  2 led dịch từ trái sang phải  3 leddịch từ phải sang trái sau đó lặp lại

Trang 2

DICHLED:

MOV A,#0FFHLA1:

CLR C

RRC A

MOV P1,ALCALL DELAY

JB P1.6,LA1LA2:

RR A

MOV P1,ALCALL DELAY

JB P1.0,LA2MOV P1,#0FEHMOV P0,#07FHLCALL DELAYMOV A,#07FHMOV P1,#0FFHLA3:

CLR C

RRC A

MOV P0,ALCALL DELAY

JB P0.6,LA3

MOV P0,ALCALL DELAY

JB P0.0,LA4MOV P0,#0FEHCALL DELAYMOV P0,#0FFHLCALL DELAYMOV A,#0FFH

Trang 3

CLR C

RLC A

MOV P0,ACALL DELAY

JB P0.2,LA5LA6:

RL A

MOV P0,ACALL DELAY

JB P0.7,LA6MOV P0,#3FHMOV P1,#0FEHCALL DELAYMOV P0,#7FHMOV P1,#0FCHCALL DELAYMOV P0,#0FFHMOV P1,#0F8HMOV A,#0F8HLA7:

RL A

MOV P1,ACALL DELAY

JB P1.7,LA7MOV P1,#3FHCALL DELAYMOV P1,#7FHCALL DELAYMOV P1,#0FFHCALL DELAYRET

DELAY:

MOV R5,#200

Trang 4

MOV R6,#250 DJNZ R6,$

DJNZ R5,SC3 RET

Trang 5

for(b=0;b<6;b++){

P1=(P1>>1)|0x80;delay_ms(500);}

P1=0xfe;

P0=0x7f;

delay_ms(500);P1=0xff;

P0=0x3f;

delay_ms(500);for(c=0;c<8;c++){

P0=(P0>>1)|0x80;delay_ms(500);}

for(c=0;c<3;c++){

P0=P0<<1;delay_ms(500);}

for(c=0;c<5;c++){

P0=(P0<<1)|0x01;delay_ms(500);}

P0=0x3f;

P1=0xfe;

delay_ms(500);P0=0x7f;

P1=0xfc;

delay_ms(500);

Trang 6

II. 7 SEG (LED 7 ĐOẠN)

1. BÀI TẬP YÊU CẦU

• Viết chương trình điều khiển led 7 đoạn đếm từ 20 về 0

Trang 7

MOV A,R0

DIV AB

MOV P2,#0BFHMOVC A,@A+DPTRMOV P0,A

CALL QUET

MOV P0,#0FFHMOV A,B

MOV P2,#7FHMOVC A,@A+DPTRMOV P0,A

CALL QUET

MOV P0,#0FFHMOV P2,#0DFHMOV P0,#0C0HCALL QUET

MOV P0,#0FFHMOV P2,#0EFHMOV P0,#0C0HCALL QUET

MOV P0,#0FFHMOV P2,#0F7HMOV P0,#0C0HCALL QUET

MOV P0,#0FFHMOV P2,#0FBHMOV P0,#0C0HCALL QUET

MOV P0,#0FFHMOV P2,#0FDHMOV P0,#0C0HCALL QUET

MOV P0,#0FFHMOV P2,#0FEH

Trang 9

chuc=dem/10;dv=dem%10;for(i=0;i<130;i++){

Trang 10

1. BÀI TẬP YÊU CẦU

Viết chương trình hiên thị tên trường,họ tên sinh viên,mã số sinh viên,lớp,môn học giáo viên hướng dẫn nhóm thực hành trên 2 dòng của LCD

Trang 11

CALL GUILENHMOV DPTR,#DONG1CALL HIENTHICALL DELAYMOV A,#0C0HLCALL GUILENHLCALL DELAYMOV DPTR,#DONG2CALL HIENTHICALL DELAYMOV A,#01H

CALL GUILENHMOV A,#80H

CALL GUILENHMOV DPTR,#DONG3CALL HIENTHICALL DELAYMOV A,#0C0HCALL GUILENHMOV DPTR,#DONG4CALL HIENTHICALL DELAYMOV A,#01H

CALL GUILENHMOV A,#80H

CALL GUILENHMOV DPTR,#DONG5CALL HIENTHICALL DELAYMOV A,#0C0HCALL GUILENHMOV DPTR,#DONG6CALL HIENTHICALL DELAY

Trang 12

MOV A,#06H

LCALL GUILENHLCALL DELAYINC R0

CJNE R0,#15,HIENTHIMOV R0,#0

LCALL DELAYRET

DELAY:

MOV R4,#200

DC: MOV R5,#200

DJNZ R5,$

Trang 13

DJNZ R4,DC

wait:

MOV TMOD,#10H

MOV TH1,#HIGH(-2000)MOV TL1,#LOW(-2000)CLR TF1

Trang 16

lcd_out_ch(2,1,"GVHD:NGUYEN TRUNG DUNG");while(1)

Trang 17

MOV R0,A

MOV DPTR,#MALEDLAP1:

MOV P0,#0FFHMOV B,#100

DIV AB

MOV P2,#0FDHMOVC A,@A+DPTRMOV P0,A

LCALL QUET

MOV P0,#0FFHMOV A,B

MOV B,#10

DIV AB

MOV P2,#0FBHMOVC A,@A+DPTRMOV P0,A

LCALL QUET

MOV A,B

MOV P0,#0FFHMOV P2,#0F7HMOVC A,@A+DPTRMOV P0,A

LCALL QUET

MOV P0,#0FFHMOV P2,#0FEH

Trang 18

MOV P0,#0C0HLCALL QUETMOV A,R0SJMP LAP2QUETPHIM:

MOV P1,#0FEHJNB P1.4,XOAJNB P1.5,KEY1JNB P1.6,KEY2JNB P1.7,KEY3MOV P1,#0FDHJNB P1.4,KEY4JNB P1.5,KEY5JNB P1.6,KEY6JNB P1.7,KEY7MOV P1,#0FBHJNB P1.4,KEY8JNB P1.5,KEY9JNB P1.6,CONGJNB P1.7,TRUMOV P1,#0F7HJNB P1.4,BANGJNB P1.5,ANSRET

XOA:

JNB P1.4,$MOV A,#0JMP LAP2RET

KEY1:

JNB P1.5,$MOV A,#1JMP HIENTHIRET

Trang 19

JNB P1.6,$MOV A,#2 JMP HIENTHIRET

KEY3:

JNB P1.7,$MOV A,#3JMP HIENTHIRET

KEY4:

JNB P1.4,$MOV A,#4JMP HIENTHIRET

KEY5:

JNB P1.5,$MOV A,#5JMP HIENTHIRET

KEY6:

JNB P1.6,$MOV A,#6JMP HIENTHIRET

KEY7:

JNB P1.7,$MOV A,#7JMP HIENTHIRET

KEY8:

JNB P1.4,$MOV A,#8JMP HIENTHI

Trang 20

KEY9:

JNB P1.5,$MOV A,#9JMP HIENTHIRET

CONG:

JNB P1.6,$MOV R5,AMOV R1,#1JMP LAP2RET

TRU:

JNB P1.7,$MOV R5,AMOV R1,#2RET

BANG:

JNB P1.4,$CJNE R1,#0,KQ1JMP LAP2KQ1: CJNE R1,#1,KQ2

ADD A,R5MOV R6,AMOV R1,#0JMP HIENTHIKQ2: MOV 00H,A

MOV A,R5SUBB A,00HMOV R1,#0MOV R6,AJMP HIENTHIRET

ANS:

Trang 23

HANG1=1;HANG2=0;if(COL1==0) {

while(COL1==0){

}

KEY=4;

}

if(COL2==0) {

while(COL2==0){

}

KEY=5;

}

if(COL3==0) {

while(COL3==0){

}

KEY=6;

}

if(COL4==0) {

while(COL4==0){

}

KEY=7;

}

HANG2=1;HANG3=0;if(COL1==0)

Trang 24

while(COL1==0){

}

KEY=8;

}

if(COL2==0) {

while(COL2==0){

}

KEY=9;

}

if(COL3==0) {

while(COL3==0){

while(COL4==0){

while(COL1==0)

Trang 26

V. ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC (STEP MOTOR)

1. BÀI TẬP YÊU CẦU

Điều khiển động cơ bước theo yêu cầu:nhấn sw1 bật chế độ hiển thị và chạy động cơ.sw2 động cơquay thuận chậm.nhấn sw3 động cơ quay nghịch nhanh.nhấn sw4 động cơ dừng

2. PHẦN CỨNG

Trang 27

3. CHƯƠNG TRÌNH VIẾT BẰNG ASMORG 0000H

Trang 28

MOV R6,#0MOV P3,#00HMOV 05H,#10MOV R3,#80CALL DELAYXX01:MOV 01H,#2XX1:MOV 00H,#230

TD1:SETB CMOV A,#00HX1:RLC A

MOV P3,ALCALL DELAYJNB P3.3,X1CALL HIENTHIDJNZ 00H,TD1DJNZ 01H,XX1 INC R6

DJNZ 05H,XX01JMP LAP1ON:

MOV R1,#1JMP LAP2NGHICH:

MOV R6,#0MOV P3,#00HMOV 04H,#30MOV R3,#20 CALL DELAYXX02:

MOV 03H,#2XX2:

MOV 02H,#230TD2:CLR C

Trang 29

CALL HIENTHIMOV A,#10H

DJNZ 04H,XX02 JMP TD2

HIENTHI:

MOV DPTR,#MALEDMOV P0,#0FFHMOV B,#10

MOV A,R6

DIV AB

MOV P2,#0FBHMOVC A,@A+DPTRMOV P0,A

CALL QUET

Ngày đăng: 03/10/2016, 00:03

TỪ KHÓA LIÊN QUAN

w