Professional Documents
Culture Documents
(sinh vien ilU'{lctham khiio tui lifU) Cho sa db mach (trang sau), sinh vien thirc hien cac yeu cftu sau: 1. Cho bi~t nQi dung th\fc hifn cua do~n chmrng trinh sau: #inc1ude<regSl.h> data unsigned char CODE[10] = {OxcO,Oxf9 ,Oxa4,OXBO,OX99,OX92,OX82,OXF8,OX80,OX90}; data unsigned char LEDl, LED2, LED3, LED4, Time; at Oxb2 sbit Ql;IIP3.2 at Oxb3 sbit Q2;IIP3.3 at Oxb4 sbit Q3;IIP3.4 at OxbS sbit Q4;//P3.S void delayt) { unsigned char i; for (i = 0; i < SO; i++) _nop_O; } void Ngat(void) interrupt 1 using 1 { THO = -1000»8; TLO = -1000; P2 = CODE[LEDl]; Ql = 1; delayt); Ql =0; P2 = CODE[LED2]; Q2= 1;
delayt);
Q2=0; P2 = CODE[LED3]; Q3 = 1; delayt); Q3 =0; P2 = CODE[LED4]; Q4 = 1; delayt); Q4=0; if (Time> 0) Time--; } ~============================================================= void maim) { data unsigned char up, down; TMOD=OXll;
11-----------------------
THO = -1000»8; TLO = -1000; TRO =1; EA= 1; ETO = 1; LED1 = 1; LED2=2; LED3 = 3; LED4 = 4; up=O; down = 50; for ( ; ; ) { LED1 = up/1 0; LED2 = up % 10; LED3 = down/l 0; LED4 = down % 10; Time = 250; while(Time > 0); up++; up =up % 58; if (down > 0) down--; else down = 50; } }
Nhan SW2: led t~t dfrn tu D1 d~n D8 100 lfrn d6ng thai hien thi s6 IAngiam dfrn tren led 2,3,4 - Nhc1nSW3: dung qua trinh dang thuc hien d6ng thai hien thi chit "STOP" tren 4 led (thai gian delay khi dich led don la 741ms, dung timer 0, mode 1; dung ngat timer 1 d~ quet led)
VCC
(
Dl D2 D3
.... 1// 111"'"1 1IIoJ// "-1 "'1// 111"'"1
Rl ../'v R2 R3
vv
D4
.... 1// ,...1
R4 ./V'J R5 R6
D5
"'1// ,...1
D6
"'1// 111"'"1
~
R7 R8 ../"v
D7
"'1// 111"'"1
D8
"'1// 111"'"1
~r;;(J/ADO37 PO.lIAD1 36 PO.2IAD2 35 PO.3IAD3 34 PO.4IAD4 33 PO.5IADS 32 PO.GIAD6 PO.7IAD7 SWl 1 ,,'vv2 2 Pl.0 '§'!i3 3 Pl.1 Pl.:!. Pl.3 Pl.4 ~ Pl.!; Pl.G n---L Pl.-r
Ul
R14 R15
. 51
;3
LEDl 7 6 4 2 1 9 10 5
r-,
LED2 51 S2 S4 S5 S7 S8
~3
!~ ;0
9~ Pu
r-,
1'\
11'\-
"- ss
o
CD
7 6 4 2 1 9 10 5
LED4 51 S2 53 S4 S5 56 S7 S8 7 6 4 2 1 9 10 5
:~ ;0
9~
p
uo
CD
" -"tl
7 6 4 2 1 9 10 5
!~ ~n
-
1'\ 1'\
" r-, '"
9~
!~ ;0
p
o
CD
9~
g:t
19 18 31 9 R13
uo
CD
'"
R9
vA-
'"
Rl0 ./V'
'"
Rll
'"
R12
f-1l-.o
1-- 01
LED2
02
LED3
./V'
24MHZ
I'::!:_I
L
Yl VCC Cl
vcc~(
5Wl
I
5Wl 5W2
EAJIIPP
R5l
XTALl XTAL2
1-- 03
LED4
A../'v
04
vAy
III'
VCC
'"
I" "","F/251'
-
C4
nAp ANnE
THIGIUAKY
1. Chuong trinh thirc hien hi~n thi cac s6 tang d<1ntir 00 d~n 57 tren 2 led 7 doan 1 va 2 d<)ng thoi hi~n thj giam d<1ntir 50 d~n 00 tren 2 led 7 doan 3 va 4; thai gian delay khi tang/ giam 1 dun vi la 250ms; dung ng~t timer 0 d~ quet led; chu ki quet la 1ms 2. Chuong trinh tham khao: #include<reg51.h> data unsigned char CODE[14] = {OxcO,Oxf9,Oxa4,OXBO,OX99, OX92, OX82, OXF8,OX80, OX90, Oxff,Ox87, Oxa3,Ox8c}; data unsigned char a[9] = {Oxff,Oxfe,Oxfc,Oxf8,Oxft),OxeO,OxcO,Ox80,OxOO}; data unsigned char b[9] = {OxOO,Ox01,Ox03,Ox07,OxOf,Oxlf,Ox3f,Ox7f,Oxff}; data unsigned char LED1, LED2, LED3, LED4; data unsigned char Mode, Cnt, Tmp,m; at Oxb2 sbit Ql;//P3.2 at Oxb3 sbit Q2;//P3.3 at Oxb4 sbit Q3;//P3.4 at Oxb5 sbit Q4;//P3.5 at Ox90 sbit SW1; at Ox91 sbit SW2; at Ox92 sbit SW3; void DelayO
{
THO = - 7410»8; TLO = -7410; TRO = 1;// mo xung clock TFO = 0; while(!TFO);
} }
void dlt)
{
THI
TLI
dlt);
Ql = 0; P2 = CODE[LED2]; Q2 = 1; dIO;
Q2=0;
I
pi = CODE[LED3]; Q3 = I;
dlt); Q3 =0; P2 = CODE[LED4]; Q4= 1;
dlt);
Q4=0; } ~============================================================ void rnaint)
{
.,
TMOD = OX II ;11 timer I, mode 1, timer 0 mode 1 THI = -1000»8; TLl = -1000; Illms EA = 1;11 co su dung ngat ETI = 1;. TRI = 1; Cnt = 0; LEDI = 10; LED2 = 10; LED3 = 10; LED4 = 10; while(l) { if(!SWl) {m=O; Mode = I;Cnt=O;} if(!SW2) {m = 0; Mode = 2; Cnt = 100;} if(!SW3) Mode = 3; switch(Mode) { case I: { m++; if (m==9) { m=O; Cnt++; if (Cnt == 30) Mode = 0; } LEDI = 10; LED2 = 10; LED3 = Cnt/l 0; LED4 = Cnt % 10; Tmp = arm]; break;
}
Tmp
} case 3:{
b[m];
break;
= =
= =
PO = Tmp;
DeIayO; }
.,