Intel 8051

Chia sẻ: Tran Thanh | Ngày: | Loại File: PDF | Số trang:119

1
453
lượt xem
254
download

Intel 8051

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo sách 'intel 8051', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Intel 8051

  1. Vi điều khiển Intel 8051
  2. DKS_GROUP Microcontroller Training Center DKS_GROUP -1- www.EmbestDKS.com 04868
  3. DKS_GROUP Microcontroller Training Center M CL C Bài 1: Gi i thi u v vi i u khi n 3 1.1.Tiêu chu n trong l a ch n m t b vi i u khi n 3 1.2.Vi i u khi n và vi x lí 3 1.3.Sơ chân vi i u khi n 8051 3 1.4.M ch 8051 t i thi u 6 1.5.C u trúc sơ kh i c a vi i u khi n 7 1.6.Các thành viên khác c a h 8051 9 1.7.Ram n i và các thanh ghi SFR c a 8051 11 Bài 2.Ngôn ng l p trình cho vi i u khi n (Ph n 1) 12 2.1.C u trúc m t chương trình 12 2.2.Các lo i bi n trong C 13 2.3.Hàm trong C 15 2.4.Toán t cơ b n 15 2.5.C u trúc l nh r nhánh 15 2.6.B ti n x lý 16 Bài 2.Hư ng d n s d ng keil C (Ph n 2) 17 2.1.Kh i t o project 17 2.2.So n th o chương trình 36 2.3.D ch chương trình 41 2.4.Mô ph ng 45 Bài 3. i u khi n O(out) v i Led ơn 50 3.1.L p m ch 50 3.2.Nguyên lý ho t ng 51 3.3.L p trình 52 3.4.N p chương trình 60 3.5.K t qu 61 3.6. i u khi n Led t ng chi c 1 62 3.7. i u khi n Out 62 Bài 4. i u khi n led 7 thanh 67 4.1.L p m ch 67 DKS_GROUP -2- www.EmbestDKS.com 04868
  4. DKS_GROUP Microcontroller Training Center 4.2.Nguyên lý ho t ng 68 4.3.L p trình 69 4.4.N p chíp 75 4.5.K t qu 75 Bài 5. c bàn phím 78 5.1.L p m ch 78 5.2.Nguyên lý quét phím 79 5.3.L p trình 79 Bài 6. i u khi n LCD 16x2 94 6.1.L p m ch 94 6.2.Nguyên lý ho t ng c a LCD 97 6.3.L p trình 97 6.3.1. nh nghĩa con tr 99 6.3.2.Cách s d ng 99 Bài7. i u ch r ng xung 100 7.1.L p m ch theo sơ 101 7.2.Nguyên lý ho t ng 110 Bài 8.Led ma tr n 114 8.1.L p m ch 114 8.2.Nguyên lý ho t ng 116 8.2.Code 117 DKS_GROUP -3- www.EmbestDKS.com 04868
  5. DKS_GROUP Microcontroller Training Center Chú ý : ây hoàn toàn là ph n lí thuy t, mình ã rút g n t i a, do ó các b n nên c h t. Chưa nên th c hành v i vì tôi s hư ng dân sau. 1.1 Tiêu chu n trong l a ch n m t b vi i u khi n Là kh năng s n sàng áp ng v s lư ng trong hi n t i và tương lai. i v i m t s nhà thi t k i u này là quan trong hơn c . Hi n nay, các b vi i u khi n 8 bit ng u là h 8051 có s lương l n nh t các nhà cung c p a d ng (nhi u ngu n). Nhà cung c p có nghĩa là nhà s n xu t bên c nh nhà sáng ch c a b vi i u khi n. Trong trư ng h p 8051 thì nhà sáng ch c a nó là Intel, nhưng hi n nay có r t nhi u hãng s n xu t nó (cũng như trư c kia ã s n xu t). Các hãng này bao g m: Intel, Atmel, Philips/signe-tics, AMD, Siemens, Matra và Dallas, Semicndictior. B ng a ch c a m t s hãng s n xu t các thành viên c a h 8051. Hãng a ch Website Intel www.intel.com/design/mcs51 Antel www.atmel.com Plips/ Signetis www.semiconductors.philips.com Siemens www.sci.siemens.com Dallas Semiconductor www.dalsemi.com 8051 là m t b x lý 8 bit có nghĩa là CPU ch có th làm vi c v i 8 bit d li u t i m t th i i m. D li u l n hơn 8 bit ư c chia ra thành các d li u 8 bit cho x lý. 8051 có t t c 4 c ng vào - ra I/O m i c ng r ng 8 bit. Các nhà s n xu t ã cho xu t xư ng ch v i 4K byte ROM trên chíp. B ng các c tính c a 8051 u tiên. c tính S lư ng ROM trên chíp 4K byte RAM 128 byte B nh th i 2 Các chân vào - ra 32 C ng n i ti p 1 Ngu n ng t 6 1.2.Vi i u khi n và vi x lí: Xin nh c n cái máy tính c a b n, con chíp Intel hay ADM c a b n là 1 b vi x lí, nó không có RAM, ROM,c ng IO và các thi t b ngo i vi on Chip. Còn vi i u khi n ch a 1 b vi x lí và RAM,ROM, c ng IO, và có th có các thi t b ngo i vi. 1.3. Sơ chân vi i u khi n 8051: Là IC óng v d ng DIP có 40 chân, m i chân có m t kí hi u tên và có các ch c năng như sau: Chân 40: n i v i ngu n nuôI +5V. Chân 20: n i v i t(Mass, GND). Chân 29 (PSEN)(program store enable) là tín hi u i u khi n xu t ra c a 8051, nó cho phép ch n b nh ngoài và ư c n i chung v i chân c a OE (Outout Enable) c a EPROM ngoài cho phép c các byte c a chương trình. Các xung tín hi u PSEN h th p trong su t th i gian thi hành l nh. Nh ng mã nh phân c a chương trình ư c DKS_GROUP -4- www.EmbestDKS.com 04868
  6. DKS_GROUP Microcontroller Training Center c t EPROM i qua bus d li u và ư c ch t vào thanh ghi l nh c a 8051 b i mã l nh.(chú ý vi c c ây là c các l nh (khác v i c d li u), khi ó VXL ch c các bit opcode c a l nh và ưa chúng vào hàng i l nh thông qua các Bus a ch và d li u) Chân 30 (ALE : Adress Latch Enable) là tín hi u i u khi n xu t ra c a 8051, nó cho phép phân kênh bus a ch và bus d li u c a Port 0. Chân 31 (EA : Eternal Acess) ư c ưa xu ng th p cho phép ch n b nh mã ngoàI i v i 8051. i v i 8051 thì : EA = 5V : Ch n ROM n i. EA = 0V : Ch n ROM ngo i. 32 chân còn l i chia làm 4 c ng vào ra: Vào ra t c là có th dùng chân ó c m c logic (0;1 tương ng v i 0V ; 5V)vào hay xu t m c logic ra(0;1) P0 t chân 39 32 tương ng là các chân P0_0 P0_7 P1 t chân 1 8 tương ng là các chân P1_0 P1_7 P2 t chân 21 28 tương ng là các chân P2_0 P2_7 P3 t chân 10 17 tương ng là các chân P3_0 P3_7 U1 1 40 2 P1.0 VCC 39 3 P1.1 P0.0 38 4 P1.2 P0.1 37 5 P1.3 P1.4 P0.2 P0.3 36 P0 P1 P2 P3 Port's Bit 6 35 7 P1.5 P1.6 P0.4 P0.5 34 P0.0 P1.0 P2.0 P3.0 D0 8 33 9 P1.7 RESET P0.6 P0.7 32 P0.1 P1.1 P2.1 P3.1 D1 10 31 11 RXD TXD EA/VP ALE/P 30 P0.2 P1.2 P2.2 P3.2 D2 12 AT89C51 29 13 14 INT0 INT1 PSEN P2.7 28 27 P0.3 P1.3 P2.3 P3.3 D3 15 16 T0 T1 P2.6 P2.5 26 25 P0.4 P1.4 P2.4 P3.4 D4 17 18 WR RD P2.4 P2.3 24 23 P0.5 P1.5 P2.5 P3.5 D5 19 20 X2 X1 P2.2 P2.1 22 21 P0.6 P1.6 P2.6 P3.6 D6 VSS P2.0 P0.7 P1.7 P2.7 P3.7 D7 Riêng c ng 3 có 2 ch c năng m i chân như trên hình v : P3.0 – RxD : chân nh n d li u n i ti p khi giao ti p RS232(C ng COM ). P3.1 _ TxD : phân truy n d li u n i ti p khi giao ti p RS232. P3.2 _ INTO : interrupt 0 , ng t ngoài 0. P3.3 _ INT1: interrupt 1, ng t ngoài 1. P3.4 _T0 : Timer0 , u vào timer0. P3.5_T1 : Timer1, u vào timer 1. P3.6_ WR: Write, i u khi n ghi d li u. P3.7 _RD: Read , i u khi n c d li u. Chân 18, 19 n i v i th ch anh t o thành m ch t o dao ng cho V K DKS_GROUP -5- www.EmbestDKS.com 04868
  7. DKS_GROUP Microcontroller Training Center T n s th ch anh thư ng dùng trong các ng d ng là : 11.0592Mhz(giao ti p v i c ng com máy tính) và 12Mhz T n s t i a 24Mhz. T n s càng l n V K x lí càng nhanh. Dao ng c a th ch anh S1 S2 S3 S4 S5 S6 P1 P2 Riêng c ng 3 có thêm ch c năng như dư i ây P3.0 – RxD : chân nh n d li u n i ti p khi giao ti p RS232(C ng COM ). P3.1 _ TxD : ph n truy n d li u n i ti p khi giao ti p RS232. P3.2 _ INTO : interrupt 0 , ng t ngoài 0. P3.3 _ INT1: interrupt 1, ng t ngoài 1. P3.4 _T0 : Timer0 , u vào timer0. P3.5_T1 : Timer1, u vào timer 1. P3.6_ WR: Write, i u khi n ghi d li u. P3.7 _RD: Read , i u khi n c d li u. Chân 18, 19 n i v i th ch anh t o thành m ch t o dao ng cho V K T n s th ch anh thư ng ư c dùng trong các ng d ng là : 11.0592Mhz(giao ti p v i c ng com máy tính) và 12Mhz T n s t i a 24Mhz. T n s càng l n V K x lý càng nhanh. 5VDC 40 U3 10Kx9 VCC 39 P0.0 38 R4 P0.1 37 P0.2 36 P0.3 35 R7 P0.4 34 P0.5 33 R9 P0.6 32 + C3 P0.7 31 EA/VP 10uF/25V 9 RESET R1 10K C2 33p 19 18 X1 X2 12Mhz 20 C1 GND 33p 8051 DKS_GROUP -6- www.EmbestDKS.com 04868
  8. DKS_GROUP Microcontroller Training Center M ch này chưa có kh i ngu n t o ngu n 5V các b n dùng con IC sau: Sơ chân: U6 LM7805/TO 1 3 VIN VOUT GND 2 Gi i thi u IC n áp 7805 : u vào > 7V u ra 5V 500mA. M ch n áp: c n cho V K vì n u ngu n cho V K không n nh thì s treo V K, không ch y úng, ho c reset liên t c, th m chí là ch t chíp. M ch ngu n 12VDC In U1 LM7805/TO 1 3 5VDC Out VIN VOUT GND C1 + C3 C2 104 10uF/25V 104 2 1.4. M ch vi i u khi n cơ b n 5VDC 40 U1 VCC + C3 9 10uF/25V RESET R1 10K C2 33p 18 X2 12Mhz C1 19 33p 20 X1 VSS 8051 DKS_GROUP -7- www.EmbestDKS.com 04868
  9. DKS_GROUP Microcontroller Training Center 1.5. C u trúc vi i u khi n 89c51 EXTERNAL INTERRUPTS ETC COUNTER TIMER INPUTS INTERRUP ON - 0 T CHIP TIMER CONTROL RAM 1 CPU OS BUS 4 I/O SERIAL C CONTRO PORTS PORT L P P P P TXD RXD ADDRESS/DAT A Chú ý:Sơ kh i bên trong con 8051 có nh ng tài nguy n . Interrupt, Ram, Timer, Serial prort. 1.6.Các thành viên khác c a h 8051: Có hai b vi i u khi n thành viên khác c a h 8051 là 8052 và 8031. B vi i u khi n 8052: 8052 có t t c các c tính chu n c a 8051 ngoài ra nó có thêm 128 byte RAM và m t b nh th i n a. Hay nói cách khác là 8052 có 256 byte RAM và 3 b nh th i. Nó cũng có 8K byte ROM. Trên chíp thay vì 4K byte như 8051. B ng : So sánh các c tính c a các thành viên h 8051. c tính 8051 8052 ROM trên chip 4K byte 8K byte RAM 128 byte 256 byte B nh th i 2 3 C ng n i ti p 1 1 Ngu n ng t 6 8 Do v y t t c m i chương trình vi t cho 8051 u ch y trên 8052 nhưng i u ngư c l i là không úng. c bi t : M t nhà s n xu t chính c a h 8051 khác n a là Philips Corporation. Hàng này có m t d i l a ch n d ng l n cho các b vi i u khi n DKS_GROUP -8- www.EmbestDKS.com 04868
  10. DKS_GROUP Microcontroller Training Center h 8051. Nhi u s n ph m c a hãng ã có kèm theo các c tính như các b chuy n i ADC, DAC, chân PWM, c ng I/0 m r ng . Update s n ph m 8051 m i t i các trang web c a các nhà s n xu t a ch ã có ph n gi i thi u. Ch y u:www.atmel.com 1.7.Ram n i và các thanh ghi F0 F7 F6 F5 F4 F3 F2 F1 F0 C c thanh ghi SFR cú a ch E0 E7 E6 E5 E4 E3 E2 E1 E0 n m gi a 80H và FFH các a ch này D0 D7 D6 6D 6C 6B 6A 69 68 B8 - - - BC BB BA B9 B8 B0 B7 B6 B5 B4 B3 B2 B1 B0 A8 AF AE AD AC AB AA A9 A8 A0 A7 A6 A5 A4 A3 A2 A1 A0 99 Không nh a ch t ng bít 98 9F 9E 9D 9C 9B 9A 99 98 90 97 96 95 94 93 92 91 90 8D Không nh a ch t ng bít 8C Không nh a ch t ng bít 8B Không nh a ch t ng bít 8A Không nh a ch t ng bít 89 Không nh a ch t ng bít 88 8F 8 8D 8C 8B 8A 89 88 E 87 Không nh a ch t ng bít 83 Không nh a ch t ng bít 82 Không nh a ch t ng bít 81 Không nh a ch t ng bít 80 87 86 8 84 83 82 81 80 5 THANH GHI CH C NĂNG ĂC BIÊT DKS_GROUP -9- www.EmbestDKS.com 04868
  11. DKS_GROUP Microcontroller Training Center trên 80H, vì các a ch t 00 n 7FH là a ch c a b nh RAM bên trong 8051. Không ph i t t c m i a ch t 80H n FFH u do SFR s d ng, nhưng v trí ngăn nh t 80H n FFH chưa dùnglà d tr và l p trình viên 8051 cũng không ư c s d ng. B ng : ch c năng c a thanh ghi ch c năng c bi t SFR SFR nh a ch t ng bit( nh ng thanh ghi c n nh i khi l p trình cơ b n C) Thanh ghi / Ký hi u Ch c năng Bit TMOD Ch n model cho b nh th i 1 7 GATE Bít i u khi n c ng. Khi ư c set lên 1, b nh th i ch ho t ng trong khi INT1 m c cao 6 C/T Bít ch n ch c năng m ho c nh th i: 1= m s ki n 0= nh th i trong m t kho ng th i gian 5 M1 Bit ch n ch th nh t 4 M0 Bit ch n ch th 2 M1 M0 Châ Chøc n¨ng ®Ð 0 0 0 Ch nh th i 13 bit 0 1 1 Ch nh th i 16 bit 1 0 2 Ch t ng n p l i 8 bit 1 1 3 Ch nh th i chia x 3 GATE Bit i u khi n c ng cho b nh th i 0 2 C/T Bit ch n ch c năng m / nh th i cho b nh th i 0 1 M1 Bit ch n ch th nh t cho b nh th i 0 0 M0 Bit ch n ch th 2 cho b nh th i 0 TF1 TR1 TF1 TR0 IE1 IT1 IE0 IT0 Thanh ghi / Bit Ký hi u Ch c năng TCON i u khi n b inh th i TCON.7 TF1 C tràn c a b nh th i 1. C này ư c set b i ph n c ng khi có tràn, ư c xoá b i ph n m m, ho c b i ph n c ng khi b vi x lý tr n trình ph c v ng t TCON.6 TR1 Bit i u khi n ho t ng c a b nh th i 1. Bit này ư c set ho c xoá b i ph n m m i u khi n b nh th i ho t ng hay ngưng TCON.5 TF0 C tràn c a b nh th i 0 TCON.4 TR0 Bit i u khi n ho t ng c a b nh th i 0 TCON.3 IE1 C ng t bên ngoài 1 (kích kh i c nh). C này ư c set b i ph n c ng khi có c nh âm (cu ng) xu t hi n trên chân INT1, ư c xoá b i ph n m m, ho c ph n c ng khi CPU tr n trình ph c v ng t DKS_GROUP - 10 - www.EmbestDKS.com 04868
  12. DKS_GROUP Microcontroller Training Center TCON.2 IT1 C ng t bên ngoài 1 (kích kh i c nh ho c m c). C này ư c set ho c xoá b i ph n m m khi x y ra c nh âm ho c m c th p t i chân ng t ngoài TCON.1 IE0 C ng t bên ngoài 0 (kích kh i c nh) TCON.0 IT0 C ng t bên ngoài 0 ( kích kh i c nh ho c m c) EA ET2 ES ET1 EX1 EX0 ET0 i u khi n các ngu n ng t IE (0: không cho phép; 1: cho phép) IE.7 EA Cho phép/ không cho phép toàn c c IE.6 --- Không s d ng IE.5 ET2 Cho phép ng t do b nh th i 2 IE.4 ES Cho phép ng t do port n i ti p IE.3 ET1 Cho phép ng t cho b nh th i 1 IE.2 EX1 Cho phép ng t t bên ngoài (ng t ngoài 1) IE.1 EX0 Cho phép ng t t bên ngoài (ng t ngoài 0) IE.0 ET0 Cho phép ng t do b nh th i 0 CHÚ Ý 3 thanh ghi này cũng r t cơ b n, nh tên thanh ghi, tên các bít trong thanh ghi, ch c năng t ng thanh ghi và t ng bít trong thanh ghi. 1.8.Gi i thi u sơ qua các ngu n ng t: Ng t do C a ch vector Reset h th ng RST 0000H Ng t ngoài 0 IE0 0003H B nh th i 0 TF0 000BH Ng t ngoài 1 IE1 0013H B nh th i 1 TF1 001BH Port n i ti p RI ho c TI 0023H B nh th i 2 TF2 ho c EXF2 002BH Timer Program excution without interrut Main Program ISR ISR ISR * ** * ** * ** Main Main Main Main Program excution with interrupt. DKS_GROUP - 11 - www.EmbestDKS.com 04868
  13. DKS_GROUP Microcontroller Training Center M t chương trình chính không có ng t thì ch y liên t c, còn chương trình có ng t thì c khi nào i u ki n ng t ư c m bào thì con tr s nh y sang hàm ng t th c hi n xong hàm ng t l i quay v úng ch cũ và th c hi n ti p chương trình. Ta có 1 ví d như sau: B n ang ăn cơm , có ti ng i n tho i , b n t bát cơm ra nghe i n tho i , nghe xong l i quay v bưng bát cơm lên ăn ti p. Thì quá trình ăn cơm c a b n là chương trình chính,có i n tho i g i n là i u ki n ng t, b n ra nghe i n tho i là th c hi n chương trình ng t(Interrupt Service Rountine),quay v ăn cơm ti p là ti p t c th c hi n chương trình chính. Ng t i v i ngư i m i h c vi i u khi n là r t khó hi u, vì a s các tài li u u không gi i thích ng t làm gì. Có nhi u lo i ng t khác nhau nhưng t t c u có chung 1 c i m, ng t dùng cho m c ích a nhi m. a t c là nhi u, nhi m t c là nhi m v . Th c hi n nhi u nhi m v .Các b n nhìn vào ti n trình c a hàm main v i chương trình có ng t : Chương trình chính ang ch y, ng t x y ra, th c hi n hàm ng t r i quay l i chương trình chính. Chương trình trong vi i u khi n khác v i ví d ăn cơm nghe i n tho i c a tôi ch , th i gian th c hi n hàm chính là r t l n,th i gian th c hi n hàm ng t là r t nh , cho nên th i gian th c thi hàm ng t không nh hư ng nhi u l m ên ch c năng hàm chính. Như v y trong hàm ng t các b n làm 1 vi c, trong hàm chính các b n làm 1 vi c như v y coi như các b n làm ư c 2 vi c( a nhi m) trong 1 quang th i gian tương i ng n cõ mS, ch th c ra t i 1 th i i m vi i u khi n ch th c thi 1 l nh. Ví d : B n th nghĩ xem làm th nào v a i u ch xung PWM i u ch nh t c ng cơ , v a c các c m bi n u vào mà t c ng cơ ph thu c u vào c m bi n. 2.1.C u trúc m t chương trình: // ính kèm các file #include #include //Khai báo bi n toàn c c unsigned char x,y; int z; long n=0; //Khai báo và nh nghĩa các hàm void Hàm1(void) { …//Các câu l nh } void Hàm2(unsigned char x) { …//Các câu l nh } DKS_GROUP - 12 - www.EmbestDKS.com 04868
  14. DKS_GROUP Microcontroller Training Center //Hàm chính b t bu c chương trình nào cũng ph I có void main(void) { …//Các câu l nh } Các câu l nh trong hàm chính có th có l i g i các hàm ã khai báo trên ho c không Khi có l i g i hàm nào thì chương trình nh y n hàm ó th c hi n hàm ó xong con tr l i quay v chương trình chính(hàm main) th c hi n ti p các hàm ho c câu l nh. Các câu l nh trong C k t thúc b ng d u “;” Các l i gi I thích ư c t trong d u: M u b ng “/*” k t thúc b ng “*/” N u l i gi I thích trên 1 dòng thì có th dùng d u: “//” Khi l p trình nên gi I thích các câu l nh kh i l nh làm gì v sau khi chương trình l n d s a l i. 2.2.Các lo i bi n trong C: D ng bi n S Bit S Byte Mi n giá tr char 8 1 -128 n +127 unsigned char 8 1 0 n 255 short 16 2 -32,768 n +32,767 unsigned short 16 2 0 n 65,535 int 16 2 -32,768 n +32,767 unsigned int 16 2 0 n 65,535 -2,147,483,648 long 32 4 n+2,147,483,647 unsigned long 32 4 0 n 4,294,697,295 Khai báo bi n C u trúc : Ki u bi n Tên bi n VD: unsigned char x; Khi khai báo bi n có th gán luôn cho bi n giá tr ban u. VD : Thay vì: unsigned char x; x=0; Ta ch c n : unsigned char x=0; Có th khai báo nhi u bi n cùng m t ki u m t lúc VD: unsigned int x,y,z; Ngoài ra dùng cho vi i u khi n trình d ch chuyên d ng còn h tr các lo i bi n sau: D ng bi n S Bit S Byte Mi n giá tr bit 1 0 0;1 sbit 1 0 0;1 DKS_GROUP - 13 - www.EmbestDKS.com 04868
  15. DKS_GROUP Microcontroller Training Center sfr 8 1 0 n 255 sf16 16 2 0 n 65,535 VD: Ngoài ra ,chúng ta có th nh nghĩa bi n ki u bít hay ki u SFR (special function register) Bit Kiemtra; Sfr P10=0x90; VD: Bit Kiemtra; Sfr P10=0x90; Các SFR không c n ph i h c thu c ch c n bi t, và chúng ư c khai báo trong thư vi n AT89X51.H và AT89X52.H 2.3.Hàm trong C: Hàm trong C có c u trúc như sau Có 2 lo i hàm Hàm tr l i giá tr : C u trúc: Ki u giá tr hàm tr l ii Tên hàm (Bi n truy n vào hàm) { // Các l nh x lý ây } VD : unsigned char Cong(unsigned char x, unsigned char y) { // Các l nh x lý ây } Hàm không tr l i giá tr C u trúc: void Tên hàm (Bi n truy n vào hàm) { // Các câu l nh x lý ây } VD d : void Cong(unsigned char x, unsigned char y) { // Các câu l nh x lý ây } Hàm có th truy n vào bi n ho c không VD Hàm không có bi n truy n vào: unsigned char Tênhàm(void) { // Các câu l nh x lí ây } Hàm có bi n truy n vào: void Tênhàm(unsigned char x) DKS_GROUP - 14 - www.EmbestDKS.com 04868
  16. DKS_GROUP Microcontroller Training Center { // Các câu l nh x lí ây } S bi n truy n vào tùy ý(mi n b nh ), ngăn cách b i d u “,” Ví d : Void TênHàm(unsigned char x, unsigned char y, unsigned char z) { // Các câu l nh x lí ây } Ngoài ra riêng cho vi i u khi n ph n ph m Keil C còn có m t lo i hàm ó là hàm ng t: C u trúc: Void Tênhàm(void) interrupt ngu nng t using băngthanhghi { } Hàm ng t không ư c phép tr l i giá tr hay truy n tham bi n vào hàm. Tên hàm b t kì Interrupt là t khóa ch hàm ng t Ngu n ng t t 0 t i 5 theo b ng vector ng t Ng t do C a ch vector Reset h th ng RST 0000H Ng t ngoài 0 IE0 0003H B nh th i 0 TF0 000BH Ng t ngoài 1 IE1 0013H B nh th i 1 TF1 001BH Port n i ti p RI ho c TI 0023H B nh th i 2 TF2 ho c EXF2 002BH Không tính ng t reset h th ng b t u m t ng t ngoài 0 Băng thanh ghi trên ram ch n t 0 n 3 2.4.Các toán t cơ b n: PhÐp g¸n: = VD: x=y; // x ph¶i là bi n y có th là bi n ho c giá tr nhưng ph i phù h p ki u Phép c ng: + Phép tr : - Phép nhân: * Phép chia: / Các toán t logic: B ng : == And: && Or: || Not: ! D ch trái: > 2.5.Các c u trúc l nh r nhánh, ki m tra thư ng dùng: Câu l nh r nhánh if: DKS_GROUP - 15 - www.EmbestDKS.com 04868
  17. DKS_GROUP Microcontroller Training Center C u trúc: if ( i uki n) { // Các câu l nh x lí } Gi i thích: N u i uki n úng thì x lí các câu l nh bên trong còn sai thì nh y qua Câu l nh l a ch n switch: C u trúc: switch(Bi n) { case giatr 1: { // Các câu l nh break; } case giatr 2: { // Các câu l nh break; } case giatr 3: { // Các câu l nh break; } … case giatr n: { // Các câu l nh break; } } Gi i thích : Tùy vào Bi n có giatr 1 thì th c hi n các câu l nh sau ó tương ng r i thoát kh i c u trúc nh câu l nh break; Bi n có giatr 2 thì th c hi n các câu l nh sau ó tương ng r i thoát …. Bi n có giatr n thì th c hi n các câu l nh sau ó tương ng r i thoát Câu l nh vòng l p xác nh for: C u trúc: for( n=m; nl), còn n là bi n Th c hi n l p các câu l nh (l-m) l n Câu l nh vòng l p không xác nh while: C u trúc: While( i u ki n) { //Các câu l nh } Gi I thích: Th c hi n l p các câu l nh khi i u ki n úng, n u câu l nh sai thi thoát kh i vòng l p 2.6. B ti n x lý: #define : Dùng nh nghĩa. Ví d : #define dung 1 #define sai 0 có nghĩa là dung có giá tr b ng 1. Trong chương trình có th có o n code như sau: bit kiemtra if (bit==dung) { // Các câu l nh} if (bit==sai) { // Các câu l nh} Vi c này giúp l p trình d s a l i hơn. M t s web hay : www.dientuvietnam.net www.atmel.com www.svbkol.org www.keil.com www.diendandientu.com www.iguanalabs.com DKS_GROUP - 16 - www.EmbestDKS.com 04868
  18. DKS_GROUP Microcontroller Training Center www.microchip.com www.elechtro-tech-online.com www.diendansv.hutech.edu.vn www.ttvnol.com www.8052.com www.kmitl.ac.th www.ftdichip.com Bài 2 (Ti p) Ph n 2: S d ng Keil C. Sau khi cài t 1> Kh i t o cho Project: DKS_GROUP - 17 - www.EmbestDKS.com 04868
  19. DKS_GROUP Microcontroller Training Center t o 1 project m i ch n Project New project như sau: DKS_GROUP - 18 - www.EmbestDKS.com 04868
  20. DKS_GROUP Microcontroller Training Center ư c hình sau: DKS_GROUP - 19 - www.EmbestDKS.com 04868
Đồng bộ tài khoản