Transcript
7/28/2019 Code lp trnh
1/37
Code C - [expand]1
2
3
4
5
6
7
89
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2728
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
4647
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
6566
67
68
69
70
71
72
73
74
75
76
77
#include
#include// for using _nop_() function
#define port P2
#define dataport P0
sfr16 DPTR =0x82;
sbit trig=P3^5;
sbit rs=port^0;
sbit rw=port^1;sbit e=port^2;
void delay(unsignedint msec)
{
int i,j;
for(i=0;i
7/28/2019 Code lp trnh
2/37
Code C - [expand]78
79
80
81
82
83
84
8586
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123124
125
s=range/100;
range=range%100;
if(s!=0)
{
lcd_data(s+48);
}
else
{lcd_cmd(0x06);
s=range/10;
range=range%10;
lcd_data(s+48);
lcd_data(range+48);
lcd_data(' ');
}
}
else
{
range=0;// indicates that there is no obstacle in front of the sensor
lcd_cmd(0x06);
lcd_data(0);
}
return range;
}
void main()
{lcd_cmd(0x38);
lcd_cmd(0x0c);
delay(2);
lcd_cmd(0x01);
delay(2);
lcd_cmd(0x81);
delay(2);
lcd_data_string("start");
delay(20);
TMOD=0x09;//timer0 in 16 bit mode with gate enable
TR0=1;//timer run enabled
TH0=0x00;TL0=0x00;
P3=0x04;//setting pin P3.2
while(1)
{ get_range();
delay(2);}
}
Code lp trnh:do khoang cah bang sog sieu am hhien thi ked 7 doan
#include//================sbit Led1 = P0^3;sbit Led2 = P0^2;sbit Led3 = P0^1;sbit Led4 = P0^0;
sbit Led_bao_1 = P3^6;sbit Led_bao_2 = P3^7;sbit trig = P3^1;sbit echo = P3^2;//=================unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char M1[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};int a,b,c,d,e,f,g,h;unsigned char timel,timeh,i;
7/28/2019 Code lp trnh
3/37
float time;bit ok;
void delay(unsigned int t){unsigned int i;
for(i=0;i
7/28/2019 Code lp trnh
4/37
IT0=1; //ngat ngoai 0 che do fallingIT1=1;EX0=1; //cho phep ngat ngoai 0EX1=1;EA=1; // cho phep ngat toan cucok=0;while(1){if(ok==0){trig=1;delay(20);trig=0;ok=1;}time=timel+timeh*256;hienthi(time/58);}}
7/28/2019 Code lp trnh
5/37
Sn phm thng mi
Tm kim
Thnh vin
Lch
Tr gp
Custom SearchThi gian hin ti : 23-05-2013, 11:23 PM Xin cho qu khch! (ng nhpng k)
Nhn t cc sn phm t Texas InstrumentsTuyn sinh lp lp trnh nhng ARM trn Linux,
Raspberry PiSn phm khng dy v nh v
Knh video ca din n
Thit k d n in t theo yu cu
K Thut in Tiu Khin T ng HaVi x l, vi iu khinVi iu khin h 8051
10 chng trnh cho vi iu khin AT89C51
nh gi ch : 75 phiu bu - Trung bnh 2.85
http://electronicctu.net/Forum-S%E1%BA%A3n-ph%E1%BA%A9m-th%C6%B0%C6%A1ng-m%E1%BA%A1i.htmlhttp://electronicctu.net/search.phphttp://electronicctu.net/memberlist.phphttp://electronicctu.net/calendar.phphttp://electronicctu.net/misc.php?action=helphttp://electronicctu.net/member.php?action=loginhttp://electronicctu.net/member.php?action=loginhttp://electronicctu.net/member.php?action=registerhttp://electronicctu.net/Thread-Nhan-dat-hang-Kit-launchpad.htmlhttp://ecit.edu.vn/ecit/Course/view/7http://ecit.edu.vn/ecit/Course/view/7http://electronicctu.net/Forum-San-pham-khong-day-va-dinh-vi.htmlhttp://electronicctu.net/Forum-Kenh-video-rieng-cua-dien-dan.htmlhttp://electronicctu.net/Thread-Thiet-ke-Thi-cong-mach-in-theo-yeu-cau.htmlhttp://electronicctu.net/index.phphttp://electronicctu.net/Forum-Dieu-Khien-Tu-Dong-Hoa.htmlhttp://electronicctu.net/Forum-Vi-xu-li-vi-dieu-khien.htmlhttp://electronicctu.net/Forum-Vi-dieu-khien-ho-8051.htmlhttp://electronicctu.net/newreply.php?tid=160http://electronicctu.net/index.phphttp://electronicctu.net/search.phphttp://electronicctu.net/memberlist.phphttp://electronicctu.net/calendar.phphttp://electronicctu.net/misc.php?action=helphttp://electronicctu.net/member.php?action=loginhttp://electronicctu.net/member.php?action=registerhttp://electronicctu.net/Thread-Nhan-dat-hang-Kit-launchpad.htmlhttp://ecit.edu.vn/ecit/Course/view/7http://ecit.edu.vn/ecit/Course/view/7http://electronicctu.net/Forum-San-pham-khong-day-va-dinh-vi.htmlhttp://electronicctu.net/Forum-Kenh-video-rieng-cua-dien-dan.htmlhttp://electronicctu.net/Thread-Thiet-ke-Thi-cong-mach-in-theo-yeu-cau.htmlhttp://electronicctu.net/index.phphttp://electronicctu.net/Forum-Dieu-Khien-Tu-Dong-Hoa.htmlhttp://electronicctu.net/Forum-Vi-xu-li-vi-dieu-khien.htmlhttp://electronicctu.net/Forum-Vi-dieu-khien-ho-8051.htmlhttp://electronicctu.net/Forum-S%E1%BA%A3n-ph%E1%BA%A9m-th%C6%B0%C6%A1ng-m%E1%BA%A1i.html7/28/2019 Code lp trnh
6/37
1
2
3
4 5
Ch | Tuyn tnh10 chng trnh cho vi iu khin AT89C51
01-09-2011, 04:25 PM (c chnh sa: 01-09-2011 04:33 PM bi msp430.)Bi vit: #1
msp430
Moderators
Bi vit: 222%%TYL_NUMTHANKEDLIKED%
%Tham Gia: Aug 2011Danh ting: 16Thanks: 2Given 20 thank(s) in 15 post(s)
10 chng trnh cho vi iu khin AT89C51nguyn l lm vic ca ic vi iu khin AT89C51 (Bn xem hnh).
http://electronicctu.net/ratethread.php?tid=160&rating=1&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=2&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=3&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=4&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=5&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/showthread.php?mode=threaded&tid=160&pid=202#pid202http://electronicctu.net/showthread.php?mode=linear&tid=160&pid=202#pid202http://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?pid=202#pid202http://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/reputation.php?uid=14http://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/ratethread.php?tid=160&rating=1&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=2&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=3&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=4&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/ratethread.php?tid=160&rating=5&my_post_key=05abbdddb7fd1addc234a29c72033895http://electronicctu.net/showthread.php?mode=threaded&tid=160&pid=202#pid202http://electronicctu.net/showthread.php?mode=linear&tid=160&pid=202#pid202http://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?pid=202#pid202http://electronicctu.net/User-msp430.htmlhttp://electronicctu.net/reputation.php?uid=147/28/2019 Code lp trnh
7/37
IC AT89C51 c 40 chn. Cng dng ca cc chn nh sau:
* Chn 40 ni vo ng ngun 5V, chn 20 cho ni masse.
* Chn 9 ni vo mch reset vi in tr 10K v t 10uF. Khi mch va c cp in, t np vko chn 9 ln mc p cao to tc ng reset. Sau mt lc chn 9 tr li mc p thp. ICAT89C51 bt u hot ng t trng thi khi u.
* Chn 18, 19 mc thch anh nh tn. Nh vy tn s xung nhp s l 1Mhz (hay 1us). Ngangthch anh mc 2 t nh dng b nhit n tn (Bn xem hnh).
7/28/2019 Code lp trnh
8/37
* Chn 31 Bn phi cho treo ln mc p cao, xc nh l mch ch lm vic vi b nh ni
(V mch khng dng thm b nh ngoi).* Bn ch , ic c 4 cng, l port 0 (p0), port 1 (p1), port 2 (p2) v port 3 (p3). Mi cng c 8chn. Mi hot ng ca ic vi iu khin u c thc hin trn cc cng ny.
Ghi nhn: Bn thy ic AT89C51 ch cn mt t linh kin bn ngoi l c th chp hnh cccu lnh c trong b nh EEP-ROM, Bn dng cc cu lnh ny xc nh trng thi inp cao thp trn cc cng v dng cc mc p cao thp ny cho vic iu khin cc dng mchin, hay cc thit b.
Bi 1: Vit chng trnh Led trn chn s 1 (p1.0) lun nhp nhy.
7/28/2019 Code lp trnh
9/37
ORG 0000h ; Khi u t thanh ghi c a ch l 0000h
START: CLR P1.0 ; t chn p1.0 xung mc p thp, Led s sng.
LCALL DELAY ; Cho gi trnh lm tr (c tn nhn l delay).
SETB P1.0 ; t chn p1.0 ln mc p cao, Led s tt
LCALL DELAY ; Li cho gi trnh lm tr (c tn nhn l delay).
LJMP START ; Cho nhy v dng lnh vi tn nhn l start, cng vic s lp li.
DELAY: MOV R5,#20 ; Np tr 50 vo thanh nh r5.D1: MOV R6,#20 ; Np tr 20 vo thanh nh r6.
D2: MOV R7,#248 ; Np tr 248 vo thanh nh r7.
DJNZ R7,$ ; Cho gim r7 theo bc -1 cho n 0.
7/28/2019 Code lp trnh
10/37
DJNZ R6,D2 ; Cho gim r6 theo bc -1, cha bng 0 th nhy v D2.
DJNZ R5,D1 ; Cho gim r5 theo bc -1, cha bng 0 th nhy v D1.
RET ; Quay li dng lnh sau lnh lcall.
END ; dng bin dch.
Phn tch cch vit cc cu lnh:
Bn thy khi u lun dng cu khai bo gi lnh: org 0000h
Ngha l mi vic s bt u t thanh nh c a ch l 0000h. y cng l thanh m chngtrnh s nhy n mi khi Bn nhn nt Reset.
v kt thc vi khai bo gi lnh: end
Cc cu lnh sau khai bo bi gi lnh "end" s khng c bin dch.
Ni r hn v cch tnh thi gian tr ca on chng trnh con delay:
Trong hnh trn do dng thch anh 12MHz nn mt chu k my s l 1us.
Vy cu lnh: mov r6,#20 s thc hin 2 ln. Bn phi cho nhn 2. T cch tnh nh sau:
MOV R6,#20 2ln 2
D1: MOV R7,#248 2 ln 22224849820
DJNZ R7,$ 2 ln 2248 (498DJNZ R6,D1 2 ln2204010002
Qua cc nhn thi gian tr ca on chng trnh delay ny l 10.002ms.
Nu Bn mov vo r6=10 th thi gian tr s l 5ms.Nu Bn mov vo r6=20 th thi gian tr s l 10ms.
V c thi gian tr l 200ms. Bn dng thm thanh nh r5. Mov vo r5=20. V nh vy onchng trnh tr delay 200ms nh sau:
DELAY: MOV R5,#20 ; chuyn vo thanh ghi r5 s thp phn 20.
D1: MOV R6,#20 ; chuyn vo thanh ghi r6 s thp phn 20.
7/28/2019 Code lp trnh
11/37
D2: MOV R7,#248 ; chuyn vo thanh ghi r7 s thp phn 248.
DJNZ R7,$ ; cho s trong r7 gim theo bc -1, ti ch v ch n khi bng 0.
DJNZ R6,D2 ; cho s trong r6 gim theo bc -1, v nhy v D2 nu cha bng 0.
DJNZ R5,D1 ; cho s trong r5 gim theo bc -1, v nhy v D1 nu cha bng 0.
RET ; quay tr li thc hin dng lnh sau lnh call.
Bi 2: Vit chng trnh dng Led trn chn 1 (p1.0) theo di kha in K1 trn chn 10 (p3.0).
* K1 ng li Led sng.* K1 b ra Led tt.
ORG 0000H ; Khi u t thanh ghi 0000h
START: JB P3.0, LIG ; Lnh nhy. Nu chn p3.0 bit 1 th nhy n tn nhn LIG, Led tt
CLR P1.0 ; t p1.0 v bit 0, chn p1.0 mc p thp. Led s sng
SJMP START ; Nhy v tn nhn START.
LIG: SETB P1.0 ; t p1.0 v bit 1, chn p1.0 mc p cao, Led tt.
7/28/2019 Code lp trnh
12/37
SJMP START ; Nhy v tn nhn START.
END ; Dng bin dch y.
Phn tch cch vit cc cu lnh:
y, Bn dng lnh nhy theo iu kin bit, tc lnh jb (jump bit) hay jnb (jump no bit).
JB P3.0, LIG
Lnh ny c ngha l s nhy theo trng thi bit trn chn p3.0.
Nu xt chn p3.0 mc p cao (nt nhn K1 h) th nhy n tn nhn LIG, vNu xt chn p3.0 mc p thp (nt nhn K1 kn) th thc hin cu lnh k tip bn di.
Bn nh, khi chn p3.0 mc p cao th Led tt v khi chn p3.0 mc p thp th Led s sng.
Bi 3: Vit chng trnh dng 4 led trn cc chn 1 (p0.0), 2 (p0.1), 3 (p0.2), 4 (p0.3) cho bittrng thi ca 4 kha in trn cc chn 5 (p0.4), 6 (p0.5), 7(p0.6), 8 (p0.7).
* Khi kha in ng li Led tng ng sng.* Khi kha in nh ra, Led tng tng tt.
7/28/2019 Code lp trnh
13/37
ORG 0000H ; Bt u t thanh ghi 0000h
START: MOV A,P1 ; Ly trang thi trn cng port 1 np vo thanh ghi tch ly a.
ANL A,#0F0H ; dng logic AND che 4 bit thp, gi nguyn trng thi 4 bit cao.
RR A ; cho ni dung trong thanh ghi a quay qua phi 1 bit.
RR A ; cho ni dung trong thanh ghi a quay qua phi 2 bit.
RR A ; cho ni dung trong thanh ghi a quay qua phi 3 bit.
RR A ; cho ni dung trong thanh ghi a quay qua phi 4 bit.
XOR A,#0F0H ; dng logic Ex-OR pht hin s khc bit trn 4 bit thp.; nh vy Led ng vi v tr c bit 0 s pht sng.
7/28/2019 Code lp trnh
14/37
MOV P1,A ; Chuyn trng thi ca thanh ghi a ra trn port 1 lm sng Led.
SJMP START ; nhy v tn nhn start tip tc lm nh trn.
END ; ngng bin dch dng lnh ny.
Phn tch cch vit cc cu lnh:
a- Dng 4 phm tt m 4 Led trn port 1
Bn cho chuyn trng thi ca port 1 vo thanh ghi tch ly a, ch trng thi ca 4 bit cao. Nphn nh nt nhn K1, K2, K3, K4.
b- Dng logic And vi hng 11110000b cho che 4 bit thp.
7/28/2019 Code lp trnh
15/37
Bn ly logic AND gia thanh a v hng 0f0h (hay l 11110000b), cch lm ny l bo tontrng thi ca 4 bit cao, cn 4 bit thp u ha ra bit 0. Ngi ta quen gi l cho che 4 bit thp.
c- Dng lnh quay phi 4 ln di 4 bit cao xung 4 bit thp.
Dng lnh rr a cho quay bit qua phi, nu cho quay 4 ln th 4 bit thp s ln nm vng 4 bitcao v 4 bit cao s xung nm vng 4 bit thp. Chng ta ni cho chuyn trng thi ca 4 bitcao xung vng 4 bit thp. Cng c th dng lnh swap.
d- Dng logic Ex-Or pht hin cc bit khc nhau.
7/28/2019 Code lp trnh
16/37
Ly logic D-OR pht hin cc bit ging nhau hay khc nhau:
Nu cc bit ging nhau, kt qu s l bit 0.Nu cc bit khc nhau, kt qu s l bit 1.
T ng ra, Bn s thy Led nm trn bit 0 s pht sng. Cc Led nm trn bit 1 s tt.
Bi 4: Vit chng trnh cho 8 Led trn port 1 ln lt nhp nhy, nhy qua tri ri nhy quaphi.
7/28/2019 Code lp trnh
17/37
ORG 0000hSTART: MOV R2,#8 ; t tr 8 (s ln m) vo thanh ghi r2MOV A,#0FEH ; t tr 0feh tc 11111110b v thanh ghi a.SETB C ; t bit Cary ln mc 1.LOOP: MOV P1,A ; Chuyn ni dung trong thanh ghi a vo cng port 1.LCALL DELAY ; Cho gi chng trnh lm tr
RLC A ; Cho ni dung trong thanh ghi a quay qua tri c cho quay qua bit c C.DJNZ R2,LOOP ; m li tr trong thanh ghi r2. Nu cha bng 0 th lm tip lnh LOOP.MOV R2,#8 ; Np li tr 8 vo thanh ghi r2.LOOP1: MOV P1,A ; Chuyn ni dung trong thanh ghi a vo cng port 1.LCALL DELAY ; Cho gi chng trnh lm trRRC A ; Cho ni dung trong thanh ghi a quay qua phi c cho quay qua bit c C.DJNZ R2,LOOP1 ; m li tr trong thanh ghi r2. Nu cha bng 0 th lm tip lnh LOOP1.
7/28/2019 Code lp trnh
18/37
LJMP START ; Nhy khng iu kin v tn nhn start li tip tc.DELAY: MOV R5,#20 ; Chng trnh dng lm tr (xem li phn th d 1)D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$
DJNZ R6,D2DJNZ R5,D1RETEND ; Dng bin dch.
Phn tch cch vit cc cu lnh:
Bi ny dng lnh quay bit qua phi v ri cho quay bit qua tri di bit 0 ln lt i qua 8chn ca port 1, chng ta bit bit 0 s lm sng Led. Nh vy Bn s thy cc Led trn port 1 sln lt sng v nhy qua phi ri i chiu nhy qua tri. bit 0 c th i trn 8 chn ca
port 1, chng ta dng lnh quay c quay qua bit c C (rrl v rlc), d nhin trc phi nh setbit c C ln mc 1.
Trnh by lnh quay rrc v rlc bng hnh minh ha (Bn xem hnh):
a- Bn dng lnh quay c qua c C, vy qua 8 nhp bit 0 s vo nm trong c C, lc ny 8 bit port 1 u mc 1 v nh vy 8 Led trn port 1 u s tt. Vi lnh rlc a (rotate left Carry). Bns thy tng Led sng ln v nhy qua bn tri.
b- Bn dng lnh quay c qua c C, vy qua 8 nhp bit 0 s vo nm trong c C, lc ny 8 bit port 1 u mc 1 v nh vy 8 Led trn port 1 u s tt. Vi lnh rrc a (rotate right Carry).
Bn s thy tng Led sng ln v nhy qua bn phi.
7/28/2019 Code lp trnh
19/37
c- Lnh quay (rotate) ch c tc dng vi thanh ghi a, do Bn mun th hin kt qu ra 8 Ledtrn port 1, Bn phi chuyn ni dung c trong a ra port 1. Bn dng lnh mov p1, a.
Tm li, trong bi ny Bn lm quen vi cch dng lnh quay c cho qua c C. Vi cch vitny, Bn thy chng ta dng rt t cu lnh m vn khin cho cc Led sng nhy (nhy qua nhyli) trn port 1.
Bi 5: Vit chng trnh mch pht ra ting cnh bo.Tn hiu 1KHz v 500Hz pht ra trn chn 1 (p1.0), thi gian pht tn hiu 1KHz l 100ms vthi gian pht tn hiu 500Hz l 200ms.
Kha in trn chn 8 (p1.7) dng tt m tn hiu cnh bo.
7/28/2019 Code lp trnh
20/37
FLAG BIT 00h ; nh ngh Flag dng lm bit c, hin c tr l 0.ORG 0000HSTART: JB P1.7,START ; Ch t nt K1 t xung mc 0.JNB FLAG,NEXT ; Nu bit c Flag l 0 th nhy n tn nhn NEXT.MOV R2,#200 ; Np s thp phn 200 vo thanh ghi r2.DV: CPL P1.0 ; Ly b chn p1.0, lnh b bit c chc nng t o.LCALL DELY500 ; Cho gi chng trnh lm tr 500us.LCALL DELY500 ; gi ln na chng trnh dely500.DJNZ R2,DV ; Cho m li v thc hin lnh b cpl p1.0 n 200 ln.CPL FLAG ; o bit trong c Flag.NEXT: MOV R2,#200 ; Np li s thp phn 200 vo thanh ghi r2.DV1: CPL P1.0 ; Ly b chn p1.0, c chc nng t o.LCALL DELY500 ; Cho gi chng trnh lm tr 500us.DJNZ R2,DV1 ; Cho m li v thc hin b cpl p1.0 n 200 ln.CPL FLAG ; Li cho o bit trong c Flag.
7/28/2019 Code lp trnh
21/37
SJMP START ; Lp li lnh t tn nhn START.DELY500: MOV R7,#250 ; Vit chng trnh con lm tr 500us. Np s 250 v thanh ghi r7.LOOP: NOP ; Lnh trng, dng n lm tng thi gian tr ln gp i.DJNZ R7,LOOP ; m li r7 lm tr.RET ; Cho quay li thc hin dng lnh sau lnh call.
END ; Dng bin dch
Phn tch cch vit cc cu lnh:
Trong bi ny, Bn thy dng khai bo bit nh ngha tn t t ca Bn, nh:
flag BIT 0 ; Ch flag do Bn t t l mt BIT, hin c gi tr l bit 0.
Bn dng lnh nhy theo bit kim tra kha in K1.
start: jb p1.7, start ; Lnh ny s ch chn p1.7 xung bit 0, nu khng n s lun dng li y.
cpl p1.0 ; Lnh ly b trn chn p1.0, ngha l n ang mc 0 th cho chuyn ln 1 v ngcli.
Phn tch cc cu lnh trn Bn thy:
Loa s h vi tn hiu 1000us (do 2 ln gi dely500) v ko di 200 ln ri chuyn qua h vi tnhiu 500us (do ch gi dely500 c 1 ln) cng thc hin 200 ln. Vi cch to ra tn hiu h 2nhp ny, Bn s nghe ting h t Loa pht ra, tn hiu nghe nh ting ci h cnh bo..
Bi 6: Vit chng trnh dng cch ly d liu khai bo trong bng, tt m 8 Led trn port 1.
* Nhy nhy qua tri 2 ln.
* Nhy nhy qua phi 2 ln.
* Ton phn nhp nhy 2 ln.(Thi gian tr 0.2 giy).
7/28/2019 Code lp trnh
22/37
ORG 0000hSTART: MOV DPTR,#TABLE ; Lnh cho t a ch bng vo thanh ghi con tr.LOOP: CLR A ; cho xa ni dung trong thanh ghi a, lc ny a = 00000000bMOVC A,@A+DPTR ; Cho ly ni dung trong bng theo tr trong a, v cho ct kt qu vo a.CJNE A,#01H,LOOP1 ; Nu a cha bng 01h th nhy qua tn nhn LOOP1.JMP START ; Nu trong a bng 01h th nhy v tn nhn START.
LOOP1: MOV P1,A ; Chuyn ni dung trong a ra trn cng port 1.MOV R3,#20 ; Np s thp phn 20 vo thanh ghi r3.LCALL DELAY ; Gi chng trnh lm tr, tn nhn l delay.INC DPTR ; cho tng a ch bng ln +1.JMP LOOP ; Nhy v tn nhn LOOP.DELAY: MOV R4,#20 ; Vit chng trnh con dng lm tr, tn nhn l delayD1: MOV R5,#248 ; Np tr thp phn 248 vo r5.
7/28/2019 Code lp trnh
23/37
DJNZ R5,$ ; Cho gim theo bc -1, ch r5 bng 0.DJNZ R4,D1 ; Cho r4 gim theo bc -1, cha bng 0, nhy v D1.DJNZ R3,DELAY ; Cho r3 gim theo bc -1, cha bng 0, nhy v DELAY.RET ; Quay li chy cu lnh nm sau lnh call.
TABLE: DB 0FEH,0FDH,0FBH,0F7H ; Khai bo cc d liu t trong bng, tn bng lTABLE.DB 0EFH,0DFH,0BFH,07FH ; cc d liu ln lt sp trong bng.DB 0FEH,0FDH,0FBH,0F7H ; cc d liu ln lt sp trong bng.DB 0EFH,0DFH,0BFH,07FH ; cc d liu ln lt sp trong bng.DB 07FH,0BFH,0DFH,0EFH ; cc d liu ln lt sp trong bng.DB 0F7H,0FBH,0FDH,0FEH ; cc d liu ln lt sp trong bng.DB 07FH,0BFH,0DFH,0EFH ; cc d liu ln lt sp trong bng.DB 0F7H,0FBH,0FDH,0FEH ; cc d liu ln lt sp trong bng.DB 00H, 0FFH,00H, 0FFH ; cc d liu ln lt sp trong bng.DB 01H ; D liu dng soa snh nhy (Xem cu lnh trn).
END ; Dng bin dch ti y.
Phn tch cch vit cc cu lnh:
Trong bi ny, chng ta cho ly d liu lit k trong bng lm sng cc Led trn port 1. Trnht lm nh sau:
Trc ht Bn chn cch lm sng tt cho 8 Led trn port 1 vi m 0/1. Chng ta nh bit 0 lmLed sng v bit 1 s lm Led tt. Th d: Mun Led sng nhy qua tri, chng ta s chn m iu
khin nh sau:
11111110b i ra dng m h 16 s l 0FEH.
11111101b i ra dng m h 16 s l 0FDH.11111011b i ra dng m h 16 s l 0FBH.11110111b i ra dng m h 16 s l 0F7H.11101111b i ra dng m h 16 s l 0EFH.
11011111b i ra dng m h 16 s l 0DFH.10111111b i ra dng m h 16 s l 0BFH.
01111111b i ra dng m h 16 s l 07FH.Bn c lit k ra trong bng. Sau ny s dng lnh: movc a, @a + dptr. ly cc m ny ctvo a. ngha ca cu lnh ny nh sau:
Nu khi u a=0 th n s ly m d liu u trong bng v ri ct vo thanh ghia.Bn dng lnh inc dptr d cho tr trong a tng ln +1.
7/28/2019 Code lp trnh
24/37
Vy khi dng cu lnh: movc a, @a +dptr, Bn s cho ly m d liu tip theo...
Sau mi ln ly d liu t bng ra, Bn dng cu lnh nhy theo php so snh: cjne a, #01h,loop1 xem ly n m d liu cui cng cha, v Bn t m 01H cui bng.
Ghi nhn: Dng cch vit ny, Bn rt d chn cc kiu nhp nhy cho cc Led trn port 1. Bnch cn khai bo cc m iu khin trong bng l c. bn c th khai bo theo dng m nhphn cho d nhn thy s sng tt ca cc Led.
Bi 7: Vit chng trnh trn n s dng Led 7 on ln lt xut hin cc con s 0, 1, 2,3...Thi gian thay i s l 0.2s.
Ch : Dng loi n s Led 7 on c Cathode chung, vy Led sng vi mc 1.
7/28/2019 Code lp trnh
25/37
Phn tch cch vit cc cu lnh:
hin cc s thp lc phn trn n s 7 on vi chn cathode (K) m cc s s nh sau:
0 hay 3 FH1 hay 06H2 hay 5BH3 hay 4FH4 hay 66H5 hay 6DH6 hay 7DH7 hay 07H8 hay 7FH9 hay 6FHA hay 77H
b hay 7CHC hay 39Hd hay 5EHE hay 79HF hay 71H
Do vy to ra bng hin th cc s thp phn, chng ta s vit nh sau:TABLEDB3FH06H5BH4FH66H6DH7DH07H7FH6FH
ORG 0000h
START: MOV R1,#00H ; t tr khi u 0 cho thanh ghi r1NEXT: MOV A,R1 ; Cho chuyn ni dung trong r1 vo a.MOV DPTR,#TABLE ; t a ch ca bng vo thanh ghi con tr dptr.MOVC A,@A+DPTR ; Ly cc m d liu trong bng theo tr ca a v d liu ct vo a.MOV P2,A ; Xut d liu trong a ra port 2 cho hin s.LCALL DELAY ; Cho gi chng trnh lm tr, tn nhn l delay.INC R1 ; Cho tng tr trong r1 theo kiu +1.CJNE R1,#10,NEXT ; So snh tr trong r1, xem bng 10 cha? cha, nhy v NEXT.LJMP START ; Lnh nhy khng iu kin v cu lnh c tn nhn l START.DELAY: MOV R5,#20 ; Vit chng trnh lm tr. Bn xem li cc phn th d trn.D2: MOV R6,#20
D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; Bng m cho hin cc s thpphn.
7/28/2019 Code lp trnh
26/37
END ; Dng bin dch.
Ni r hn v loi n hin s dng Led 7 on (Bn xem hnh):
Khi chn trn port 2 mc p cao, th Led tng ng s pht sng. Vy chng ta c th t m trn n Led 7 on ln lt hin ra cc con s thp phn.
Hnh cho thy cc m tng ng vi cc con s thp phn hin trn bng n s dng Led 7on.
7/28/2019 Code lp trnh
27/37
Bi 8: Vit mch m s hin thi theo h c 2 vi 4 Led trn cc chn 1 (p1.0), 2 (p1.1), 3(p1.2), 4 (p1.3). Mi ln nhn kha in SP1 trn chn 17 (p3.7) th s tng ln +1.
7/28/2019 Code lp trnh
28/37
ORG 0000h
START: MOV R1,#00H ; Cho khi u vi tr 0 trong thanh ghi r1.MOV A,R1 ; chuyn ni dung trong r1 vo a.CPL A ; Ly b 8 bit trong thanh ghi a.MOV P1,A ; Xut ni dung trong a ra cng port 1.REL: JNB P3.7,REL ; Ch bun phm nhn chn p3.7.LCALL DELAY10MS ; Gi chng trnh con lm tr 10ms.JNB P3.7,REL ; Trnh nh hng ca rung phm.INC R1 ; Cho tng tr trong thanh ghi r1MOV A,R1 ; Cho chuyn ni dung trong r1 vo a.CPL A ; Ly b 8 bit trong thanh ghi aMOV P1,A ; Xut ni dung trong a ra cng port 1.
JNB P3.7,$ ; Ch bung phm SP1SJMP REL ; Nhy khng iu kin v dng lnh tn nhn l RELDELAY10MS: MOV R6,#20 ; Vit chng trnh lm tr 10msL1: MOV R7,#248DJNZ R7,$DJNZ R6,L1RET
7/28/2019 Code lp trnh
29/37
END ; Dng bin dch ti dng ny.
Phn tch cch vit cc cu lnh:
Ni dung bi vit l c nhn mt ln phm SP1, mch m s h c 2 s nhy ln 1 s (Bn xemhnh).
y c 2 cu hi, ti hi Bn:
(1) Vn rung phm l g?
(2) Ti sao phi ly b a ri mi cho xut trn cng port1?
Vn rung phm l do phn tip xc xu, khi Bn nhn xung, phm s b rung, n ngt mnhiu ln v to ra kt qu sai. Do vy Bn phi vit on chng trnh ch 10ms ri mi xc lptrng hi ca phm, iu ny s tng n nh khi dng loi phm c kh. Cch vit nh sau:
7/28/2019 Code lp trnh
30/37
REL: JNB P3.7,REL
; Khi bn nhn xung, nu phm tt, n s bit 0 v s trng thi ch bung phm. Nu c rung
phm, n s nhy xung cu lnh di l cho gi chng trnh tr 10ms.
LCALL DELAY10MS ; Gi chng trnh con lm tr 10ms.
; Sau chng trnh tr n s quay li li kim tra phm vi cu lnh: JNB P3.7,REL
Nu n bit 0 th quay li REL v li ch bung phm. Ch khi n Bit 1 th mi cho tng trtrong r1.
..... .
JNB P3.7,$
; Cu lnh ny l nhy tai ch khi Bn cha b phm nhn SP1 ra.
Tr li cu hi th 2: Ti sao phi ly b a (cpl a) ri mi cho xut ra trn cng port1.
y chng ta kch Led bng mc p thp, do khi tng 1, n s l:
00000000b --> 00000001b Vy phi ly b ca n s l 11111110b iu ny s ch c Led p1.0 sng m thi n ng vi 1 ln nhn phm.
Nu 2 ln nhn phm kt qu l:
00000010b --> ly b l 11111101b. Vy Led p1.1 s sng. Bn c l lun tip tc s thymch ny dng m h c 2, kt qu cho hin th trn cc Led ca port 1.
v nu Bn thy thch, Bn c th gn 8 Led trn port 1 v s thy hin tng trng s. Thanhghi 8 bit ch m c 256 nhp s trang s, quay v 0 v bt u m tip...
7/28/2019 Code lp trnh
31/37
Bi 9: Vit chng trnh , mi ln nhn kha in SP1 trn chn 17 (p3.7) th Led D1trn chn 1 (p1.0), nhp nhy. Khi nhn SP1 ln na n Led D2 trn chn 2 nhp nhy,nhn SP1 ln na n Led D3 trn chn 3 nhp nhy v nhn SP1 ln na th n Led D4trn chn 4 nhp nhy, v qui trnh tip tc lp li nh trn.
7/28/2019 Code lp trnh
32/37
ID EQU 30H ; Ly thanh nh c a ch 30h nh ngha l thanh ID.K1 BIT P3.7 ; Chn p3.7 nh ngha vi tn l K1L1 BIT P1.0 ; Chn p1.0 nh ngha vi tn l L1.L2 BIT P1.1 ; Chn p1.1 nh ngha vi tn l L2.L3 BIT P1.2 ; Chn p1.2 nh ngha vi tn l L3.L4 BIT P1.3 ; Chn p1.3 nh ngha vi tn l L4.ORG 0000hMOV ID,#00H ; Tr khi u ca ID l 0.START: JB K1,REL ; Cha nhn phm th nhy n tn nhn REL.LCALL DELAY10MS ; Gi chng trnh lm tr 10ms (trnh rung phm).
JB K1,REL ; Cha nhn phm th nhy n tn nhn REL.INC ID ; Tng tr trong ID.MOV A,ID ; Cho chuyn ni dung trong ID v thanh ghi a.CJNE A,#04,REL ; Cho so snh a vi #04 pht hin s ln nhn K1MOV ID,#00H ; Tr tr trong ID v tr o.REL: JNB K1,$ ; Ch bung phm K1MOV A,ID ; Cho chuyn ni dung trong ID v thanh ghi a.
7/28/2019 Code lp trnh
33/37
CJNE A,#00H,IS0 ; Cho so snh a vi #00 pht hin s ln nhn K1CPL L1 ; Ly b L1 tt/m Led D1LCALL DELAY ; Gi chng trnh lm tr vi tn nhn l delay.SJMP START ; Nhy khng iu kin v tn nhn STARTIS0: CJNE A,#01H,IS1 ; Cho so snh a vi #01 pht hin s ln nhn K1
CPL L2 ; Ly b L2 tt/m Led D2LCALL DELAY ; Gi chng trnh lm tr vi tn nhn l delay.SJMP START ; Nhy khng iu kin v tn nhn STARTIS1: CJNE A,#02H,IS2 ; Cho so snh a vi #02 pht hin s ln nhn K1CPL L3 ; Ly b L3 tt/m Led D3LCALL DELAY ; Gi chng trnh lm tr vi tn nhn l delay.SJMP START ; Nhy khng iu kin v tn nhn STARTIS2: CJNE A,#03H,IS3 ; Cho so snh a vi #03 pht hin s ln nhn K1CPL L4 ; Ly b L4 tt/m Led D4LCALL DELAY ; Gi chng trnh lm tr vi tn nhn l delay.SJMP START ; Nhy khng iu kin v tn nhn START
IS3: LJMP START ; Nhy khng iu kin v tn nhn START
DELAY10MS: MOV R6,#20 ; Chng trnh lm trLOOP1: MOV R7,#248DJNZ R7,$DJNZ R6,LOOP1RETDELAY: MOV R5,#20LOOP2: LCALL DELAY10MSDJNZ R5,LOOP2RET
END ; Dng bin dch ti y.
Phn tch cch vit cc cu lnh:
Bn hy ch n lnh so snh c iu kin, dng pht hin cc m trng nhau hay khcnhau v t a ra hng s l vn . Th d:
CJNE A,#00H,IS0
; Cho so snh a vi s #00, nu khc th nhy n tn nhn IS0, nu ng th xung thi hnhdng lnh bn di.
CPL L1 ; Ly b L1 tt/m Led D1.
LCALL DELAY ; Gi chng trnh lm tr vi tn nhn l delay.
SJMP START ; Nhy khng iu kin v tn nhn START.
7/28/2019 Code lp trnh
34/37
Bi 10: Vit chng trnh mch m s ln nhn phm SP1 trn chn 17 (p3.7), kt qu hinth trn n s dng Led 7 on. S m bt u t 00, 01, 02,...99.
Count EQU 30H ; t tn thanh ghi 8 bit 30h l Count.SP1 BIT P3.7 ; t tn bit p3.7 l SP1.
ORG 0000h ; Bt u t thanh ghi Reset 0000hSTART: MOV Count,#00H ; t Count v mc khi u l s 0.NEXT: MOV A,Count ; Cho chuyn ni dung trong Count vo thanh ghi a.MOV B,#10 ; t s 10 vo thanh ghi b.DIV AB ; Cho s trong a chia cho 10 (s trong b).MOV DPTR,#TABLE ; t a ch ca bng c tn l Table vo thanh ghi con tr.MOVC A,@A+DPTR ; Ly s t bng theo tr c trong a v kt qu gi trong a.
7/28/2019 Code lp trnh
35/37
MOV P1,A ; Cho xut ni dung trong a ra port 1.MOV A,B ; By gi cho chuyn ni dung trong thanh ghi b vo a.MOVC A,@A+DPTR ; Li ly s t bng theo tr c trong a v kt qu gi trong a.MOV P2,A ; Cho xut ni dung trong a ra port 2.WT: JNB SP1,WT ; Ch bung phm SP1.
WAIT: JB SP1,WAIT ; Ch nhn phm SP1.LCALL DELY10MS ; Gi chng trnh tr 10ms, trnh hin tng rung phm.JB SP1,WAIT ; Kim tra bung phmINC Count ; Tng ni dung trong Count ln theo bc +1.MOV A,Count ; Cho chuyn ni dung trong Count vo thanh ghi a.CJNE A,#100,NEXT ; So snh tr trong a bng 100 cha? Nu cha th tip tc.LJMP START ; Quay li t u.DELY10MS: MOV R6,#20 ; Lm tr 10ms trnh nh hng ca rung phm.D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1
RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; Bng m s dng cho Led 7on.END ; Dng bin dch ti dng ny.
Phn tch cch vit cc cu lnh:
Trong on chng trnh trn, chng ta c dng n lnh lm php ton chia: div ab
Bn ly s c trong a chia cho b. Kt qua s chia c trong a v s d c trong b. chia a cho
10, Bn phi np vo thanh ghi b tr 10 vi cu lnh: mov b, #10.
Bn ch n trnh lm tr 10ms, y dng trnh nh hng c sai do rung phm, v mikhi Bn nhn phm, trong khong thi gian ngn phm b rung v to ra s ghi nhn sai.
Dng cu lnh so snh (cjne: Compare Jump iu kin Non-Zero) kim tra tr trong thanh ghia. y l mt cu lnh rt thng dng.Ngun Guests cannot see links in the messages. Please register to forum by clicking here to see
links.
C th lin quan n ch Lp trnh a nhim vi 8051Mch AT89C51 dng 32 phm gn trn ma trn 8x4Hc lp trnh C cho VK 8051 bng cc v diu khin ng c bng L298 + 89C51THIT K MCH QUANG BO DNG VI IU KHIN[Help]Thit k h thng iu khin t xa cho cc thit b gia nh bng 8051
http://electronicctu.net/member.php?action=registerhttp://electronicctu.net/Thread-Lap-trinh-da-nhiem-voi-8051.htmlhttp://electronicctu.net/Thread-Mach-AT89C51-dung-32-phim-gan-tren-ma-tran-8x4.htmlhttp://electronicctu.net/Thread-Hoc-lap-trinh-C-cho-VDK-8051-bang-cac-vi-du.htmlhttp://electronicctu.net/Thread-Dieu-khien-dong-co-bang-L298-89C51.htmlhttp://electronicctu.net/Thread-THIET-KE-MACH-QUANG-BAO-DUNG-VI-DIEU-KHIEN.htmlhttp://electronicctu.net/Thread-Help-Thiet-ke-he-thong-dieu-khien-tu-xa-cho-cac-thiet-bi-gia-dinh-bang-8051.htmlhttp://electronicctu.net/member.php?action=registerhttp://electronicctu.net/Thread-Lap-trinh-da-nhiem-voi-8051.htmlhttp://electronicctu.net/Thread-Mach-AT89C51-dung-32-phim-gan-tren-ma-tran-8x4.htmlhttp://electronicctu.net/Thread-Hoc-lap-trinh-C-cho-VDK-8051-bang-cac-vi-du.htmlhttp://electronicctu.net/Thread-Dieu-khien-dong-co-bang-L298-89C51.htmlhttp://electronicctu.net/Thread-THIET-KE-MACH-QUANG-BAO-DUNG-VI-DIEU-KHIEN.htmlhttp://electronicctu.net/Thread-Help-Thiet-ke-he-thong-dieu-khien-tu-xa-cho-cac-thiet-bi-gia-dinh-bang-8051.html7/28/2019 Code lp trnh
36/37
Lun vn: Thit k - thi cng Kit Vi iu khn 8051Mch m sn phm dng vi iu khin 89C51hepl me!. xin gip gii vi iu khinH thng iu khin ca t ng
10-05-2013, 07:12 AMBi vit: #2
hixemgaMember
Bi vit: 1%%TYL_NUMTHANKEDLIKED%
%Tham Gia: May 2013Danh ting: 0Thanks: 0Given 0 thank(s) in 0 post(s)
RE: 10 chng trnh cho vi iu khin AT89C51
hay y rt chi tit
Nh?p t? kho
Bi trc |Bi tip
Xem phin bn c th in Gi ch cho bn b
Theo di ch ny
Chuyn nhanh:
http://electronicctu.net/Thread-Luan-van-Thiet-ke-thi-cong-Kit-Vi-dieu-khen-8051.htmlhttp://electronicctu.net/Thread-Mach-dem-san-pham-dung-vi-dieu-khien-89C51.htmlhttp://electronicctu.net/Thread-hepl-me-xin-giup-giai-de-vi-dieu-khien.htmlhttp://electronicctu.net/Thread-He-thong-dieu-khien-cua-tu-dong.htmlhttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?pid=2834#pid2834http://electronicctu.net/User-hixemga.htmlhttp://electronicctu.net/reputation.php?uid=12791http://electronicctu.net/reputation.php?uid=12791http://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?action=nextoldesthttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?action=nextnewesthttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?action=nextnewesthttp://electronicctu.net/printthread.php?tid=160http://electronicctu.net/sendthread.php?tid=160http://electronicctu.net/usercp2.php?action=addsubscription&tid=160http://electronicctu.net/newreply.php?tid=160http://electronicctu.net/newreply.php?tid=160&pid=2834http://electronicctu.net/search.php?action=finduser&uid=12791http://electronicctu.net/newreply.php?tid=160&pid=202http://electronicctu.net/search.php?action=finduser&uid=14http://electronicctu.net/Thread-Luan-van-Thiet-ke-thi-cong-Kit-Vi-dieu-khen-8051.htmlhttp://electronicctu.net/Thread-Mach-dem-san-pham-dung-vi-dieu-khien-89C51.htmlhttp://electronicctu.net/Thread-hepl-me-xin-giup-giai-de-vi-dieu-khien.htmlhttp://electronicctu.net/Thread-He-thong-dieu-khien-cua-tu-dong.htmlhttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?pid=2834#pid2834http://electronicctu.net/User-hixemga.htmlhttp://electronicctu.net/reputation.php?uid=12791http://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?action=nextoldesthttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html?action=nextnewesthttp://electronicctu.net/printthread.php?tid=160http://electronicctu.net/sendthread.php?tid=160http://electronicctu.net/usercp2.php?action=addsubscription&tid=1607/28/2019 Code lp trnh
37/37
Lin h| K Thut in T | Ln trn|Ni dung | Bn rt gn | Tin RSSCopyright 2011 electronicctu.netNhm sinh vin ngnh in t - khoa Cng ngh | i Hc Cn Th.
Email: electronicctu@gmail.com Phone: 01665216348Powered by MyBB, 2002-2013 MyBB Group.
mailto:tanhieu2003@gmail.commailto:tanhieu2003@gmail.comhttp://electronicctu.net/http://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#tophttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#tophttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#contenthttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#contenthttp://electronicctu.net/archive/index.php/thread-160.htmlhttp://electronicctu.net/misc.php?action=syndicationhttp://mybb.com/http://mybb.com/mailto:tanhieu2003@gmail.comhttp://electronicctu.net/http://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#tophttp://electronicctu.net/Thread-10-chuong-trinh-cho-vi-dieu-khien-AT89C51.html#contenthttp://electronicctu.net/archive/index.php/thread-160.htmlhttp://electronicctu.net/misc.php?action=syndicationhttp://mybb.com/http://mybb.com/
top related