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

báo cáo thực hành vi điều khiển

86 653 3

Đ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 86
Dung lượng 1,62 MB

Nội dung

báo cáo thực hành vi điều khiển

Trang 1

MỤC LỤC

CHƯƠNG 1 4

GIỚI THIỆU CHUNG 4

1.1 GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN 4

1.1.1 Các dòng vi điều khiển hiện nay 4

1.2 Họ vi điều khiển 8051 5

1.3 Giới thiệu board mạch Easy8051 6

1.3.1 Những tính năng chính của Easy8051 6

1.3.2 Tài nguyên phần cứng 7

CHƯƠNG 2: THỰC HÀNH 8

BÀI THỰC HÀNH SỐ 1: CHỨC NĂNG ĐIỀU KHIỂN CỔNG I/O LED ĐƠN 8

1 Mục đích 8

2 Yêu cầu 8

3 Sơ đồ nguyên lý 8

4 Lựa chọn thiết bị 11

5 Trình tự thực hiện 12

6 Lưu ý: 13

BÀI THỰC HÀNH SỐ 2: LED 7 THANH 14

1.Mục đích 14

2.Yêu cầu 14

3 Sơ đồ nguyên lý 14

Nguyên lý hoạt động: 15

4.Lựa chọn thiết bị 17

5.Trình tự thực hiện 18

6.Lưu ý 19

BÀI THỰC HÀNH SỐ 3: CHỨC NĂNG NGẮT TIMER – ĐỒNG HỒ SỐ 20

1.Mục đích 20

2.Yêu cầu 20

3.Sơ đồ nguyên lý 20

Trang 2

4 Lựa chọn thiết bị 32

5.Trình tự thực hiện 32

Lưu ý 33

BÀI THỰC HÀNH SỐ 4: CHỨC NĂNG NGẮT NGOÀI – BỘ ĐO TẦN SỐ 34

1.Mục đích 34

2.Yêu cầu 34

3.Sơ đồ nguyên lý 34

4.Lựa chọn thiết bị 37

5.Trình tự thực hiện 38

6.Lưu ý 38

BÀI THỰC HÀNH SỐ 5: CHỨC NAWG TRUYỀN THÔNG NỐI TIẾP 39

1.Mục đích 39

2.Yêu cầu 39

3.Sơ đồ nguyên lý 39

4.Lựa chọn thiết bị 41

5.Trình tự thực hiện 42

6.Lưu ý 43

BÀI THỰC HÀNH SỐ 6: LED MA TRẬN 44

1.Mục đích 44

2.Yêu cầu 44

3.Sơ đồ nguyên lý 44

4.Lựa chọn thiết bi .44

5.Trình tự thực hiện 45

BÀI THỰC HÀNH SỐ 7: ĐO NHIỆT ĐỘ HIỂN THỊ LCD 46

1.Mục đích 46

2.Yêu cầu 46

3.Sơ đồ nguyên lý 46

4.Lựa chọn thiết bi .52

Trình tự thực hiện 53

BÀI THỰC HÀNH SỐ 8: ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 54

Trang 3

1.Mục đích 54

2.Yêu cầu 54

3.Sơ đồ nguyên lý 54

4.Lựa chọn thiết bị 59

5.Trình tự thực hiện 59

BÀI THỰC HÀNH SỐ 9: ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ ĐIỆN 60

1.Mục đích 60

2.Yêu cầu 60

3.Sơ đồ nguyên lý 60

BÀI THI: MẠCH KHÓA SỐ 64

CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG 64

1.Phân tích và lựa chọn phương án 64

a) Yêu cầu của hệ thống: 64

b) Lựa chọn phương án 64

2.Xác định bài toán và giới hạn đề tài 64

a) Xác định bài toán 64

b) Giới hạn của đề tài 65

CHƯƠNG 2 :THIẾT KẾ HỆ THỐNG 66

1 Sơ đồ khối tổng thể của hệ thống 66

2.Các khối trong hệ thống 66

2.1 Khối điều khiển trung tâm 67

2.2 Khối hiển thị 67

2.3 Khối bàn phím 68

2.4 Khối động cơ và báo động 68

2.5 Khối nguồn 68

CHƯƠNG 3: HỆ THỐNG KHÓA SỐ 69

1.Sơ đồ nguyên lý 69

2 Nguyên lý hoạt động 69

3.Code chương trình 70

Trang 4

CHƯƠNG 1

GIỚI THIỆU CHUNG 1.1 GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN

1.1.1 Các dòng vi điều khiển hiện nay

Vi điều khiển, thực chất, là một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với các bộ vi xử lý đa năng dùng trong máy tính) kết hợp với các khối ngoại vi như bộ nhớ, các mô đun vào/ra, các mô đun biến đổi số sang tương tự và tương tự sang số,

Hiện nay, các bộ vi điều khiển 8 bít đứng đầu là họ 8051 có số lượng lớn các nhà cung cấp đa dạng: Intel, Atmel, Philips/signe-tics, AMD, Siemens, Matra và Dallas, semicndictior

a)Vi điều khiển của Atmel

Atmel Atmel là một hãng cung cấp vi điều khiển lớn, sản phẩm vi điều khiển của gồm:

- Dòng vi điều khiển dựa trên kiến trúc 8051 của Intel như 83xx, 87xx, 89xx

- Dòng vi điều khiển AT91CAP như AT91CAP7S250A,AT91CAP7S450A với tần

số hoạt động từ 80 đến 200 MHz, 2 đến 4 kênh PWM, 10 kênh ADC 10 bít, ghép nối được với các module SDRAM bên ngoài

- Dòng vi điều khiển AT91SAM 32-bit ARM- based bộ nhớ chương trình có thể tới 2Mb, tần số hoạt động đến 240 MHz

- Dòng AVR 8-bit kiến trúc RISC như AT90PWM1, Atmega 128, Atmega 16, Atmega 32

- Dòng AVR 32 32- bit MCU/DSP như AVR32 UC3A, AVR 32 UC3B là những

bộ vi điều khiển 32 bit có thêm các lệnh xử lý tín hiệu số để xử lý âm thanh, hình ảnh

- Dòng FPSLIC như: AT94K05L, AT94K10L , ATFS40 đây là sự kết hợp vi điều khiển AVR với mảng cổng Logic lập trình FPGA trên 1 chip rất phù hợp để tạo ra các hệ thống số trên 1 chip duy nhất

- Dòng vi điều khiển 4bit cho các ứng dụng đơn giản MARC4 như: ATAM510, ATAR940

b)Vi điều khiển của Microchip

- Dòng 8bit như: PIC10, PIC12, PIC14, PIC16, PIC18, với bộ nhớ kiểu flash, OTP, ROM hoặc ROMless dung lượng từ 0,5 đến 256Kb

Trang 5

- Dòng 16bit như PIC24F, PIC24H

- Dòng xử lý tín hiệu số 16bit như: dsPIC30Fxxxx, dsPIC33FJxxxx

c)Vi điều khiển của Cypress

Cypress nổi tiếng với dòng sản phẩm PsoC, đây là những vi mạch tích hợp vi điều khiển, các linh kiện tương tự ( các bộ khuếch đại, các bộ biến đổi A/D, D/A, các bộ lọc, các bộ so sánh ) và các linh kiện số( bộ định thời, bộ đếm, bộ tạo xung PWM,SPI,UART,I2C ) trên một chip duy nhất Việc tích hợp hàng trăm khối chức năng cùng với bộ vi điều khiển trên một chip cho phép: giảm thời gian thiết kế, thu gọn kích thước sản phẩm, giảm công suất tiêu thụ và giảm giá thành sản phẩm

d)Vi điều khiển của Hitachi

- H8 là dòng vi điều khiển được phát triển bởi HITACHI, được sản xuất bởi Rcnesas Technology H8 gồm các dòng sản phẩm: H8/300, H8/300H, H8/500, H8S( vi điều khiển 32 bit kiểu CISC) Các vi điều khiển họ H8 được sử dụng rộng rãi trong các sản phẩm dân dụng và công nghiệp như: Tivi, đầu DVD, camera, PLC,biến tần

e)Vi điều khiển của Motorola

Motorola sản xuất dòng vi điều khiển 68xx như: 6801, 6805,6809,6811 một sản phẩm tiêu biếu của Motorolo là 68HC11, đây là một bộ vi điều khiển 8bit; 16bit địa chỉ; tập lệnh tương thích với các phiên bản trước như: 6801, 6805, 6809; có tich hợp

bộ biến đổi A/D, bộ tạo xung PWM, cổng truyền thông đồng bộ - không đồng bộ RS232, SPI

f)Vi điều khiển của Maxim

Các sản phẩm vi điều khiển do Maxim cung cấp gồm:

- Vi điều khiển MAXQ 16bit kiến trúc RISC như MAXQ3212, MAXQ2000

- Các sản phẩm dựa trên kiến trúc 8051 của Intel như vi điều khiển tích hợp đồng hồ thời gian thực DS87C530, vi điều khiển tích hợp biến đổi A/D 10bit DS80CH11, vi điều khiển tích hợp giao tiếp mạng Ethernet DS80C400, DS80C430 ( rất phù hợp thiết kiế IP camera, các trạm đo/điều khiển phân tán AM như DS5250, DS2250,DS2252 )

1.2 Họ vi điều khiển 8051

1.2.1 Họ vi điều khiển 8051

Có hai bộ vi điều khiển thành viên khác của họ 8051 lầ 8052 và 8031

Trang 6

Bảng: So sánh các đặc tính của các thành viên họ 8051

1.3 Giới thiệu board mạch Easy8051

Easy8051 là kit phát triền hoàn chỉnh về kỹ thuật, đầy đủ tính năng và dễ sử dụng

cho ATMEL 89xxx Microcontroller

Easy8051 có thiết kế một Header ISP, cho phép người dùng có thể sử dụng các công cụ lập trình và gỡ lỗi khác như ICE52 Emulator, SP200S Enhanced, AT89SXX…theo chuẩn ISP, vì vậy không cần tháo chip Bạn chỉ cần viết chương trình > biên dịch > nạp và kết quả sẽ chạy ngay, không cần phải bận tâm gì khác

Easy8051 được tối ưu thiết kế theo kiểu modules, Các module được kết nối hoặc ngắt khỏi MCU một cách linh hoạt bằng Jumper hoặc DipSW rất tiện lợi và gọn gàng

1.3.1 Những tính năng chính của Easy8051

- Power Supply: Sử dụng nguồn ngoài AC/DC 7 ~ 12V có công tắc nguồn ON/OFF

- Có đường ISP programmer sẵn sàng sử dụng cho các mạch nạp và gỡ lỗi ISP (Ví dụ: ICE52 Emulator, SP200S Enhanced, AT89SXX… ISP programmer)

- Suport 89xxx DIP40 (có thể dùng cho DIP20 bằng cách sử dụng Adapter chuyển chân)

- RS-232 Comunication giao tiếp truyền dữ liệu với PC

- DS1820 Digital thermometer dùng để đo nhiệt độ từ -55ºC to 125ºC

- RTC DS1307 Real time clock kết nối hoặc ngắt khỏi 8051 qua DIPSW

- Battery Backup 3V dùng cho RTC DS1307

- 6 Led 7seg Anode chung multiplex mode kết nối hoặc ngắt khỏi 8051 qua DIPSW

- LCD 16x2 4 BIT có biến trở chỉnh độ tương phản

Trang 7

- Graphic LCD 128x64 / Charracter LCD16x2 8-bit có biến trở chỉnh độ tương phản

- 8 led đơn anod chung nối qua header 5x2

- 8 Switch pull up/down nối qua header 5x2

- Xtal sử dụng socket dễ dàng thay đổi

- I/O Direct port kiểu header 5x2 (gồm 8 bit port và VCC, GND) Pull Up/Down

- RESET Switch - loại lớn cho phép dễ dàng Reset mạch bằng tay

- SPI ADC sử dụng MCP3204 (Lựa chọn thêm)

- SPI DAC sử dụng MCP4921 (Lựa chọn thêm)

- Điện áp tham chiếu 4.096V REF sử dụng MCP1541 (Lựa chọn thêm)

- Mạch in xuyên lớp chất lượng cao kích thước 140x200 mm

- Có Mica bảo vệ bên dưới khỏi sợ ngắn mạch

14 40P chip ZIF socket

15 I/O external output

16 MCP1541 4,096V REF

Trang 8

CHƯƠNG 2: THỰC HÀNH

BÀI THỰC HÀNH SỐ 1 LẬP TRÌNH CHỨC NĂNG I/O VỚI LED ĐƠN

1 Mục đích

- Thực hành với các công cụ phần mềm: phần mềm lập trình KeilC, phần mềm mô phỏng Proteus, phần mềm nạp chương trình cho vi điều khiển ISP_Prog

- Lập trình chức năng vào/ra của 8051

- Điều khiển LED đơn

- Viết các chương trình con tạo thời gian trễ

2 Yêu cầu

- Tính toán, lựa chọn được các thông số của linh kiện, giá trị điện trở, dòng, áp cấp cho led

- Lập trình điều khiển được led sáng, tắt theo yêu cầu

- Nắm bắt được chức năng các phần tử trong sơ đồ mạch

- Biết cách sử dụng các phần mềm lập trình, phần mềm mô phỏng, phần mềm nạp chương trình cho vi điều khiển

- Lập trình được các bài toán yêu cầu, hiểu rõ từng câu lệnh, từng hàm, chương trình con về quy tắc, cấu trúc câu lệnh cũng như chức năng tác dụng của nó

3 Sơ đồ nguyên lý

Hình 1 – Sơ đồ nguyên lý mạch điều khiển LED đơn

Nguyên lý hoạt động: Theo như sơ đồ nguyên lý ở trên, để led sáng ta cần cấp mức

1, led tắt ta cấp mức 0

Trang 9

Ví dụ :

o 8 LED chạy sáng dồn từ trái sang phải

o 8 LED chạy sáng dồn từ phải sang trái

o 8 LED chạy sáng từ giữa ra hai bên

o 8 LED chạy sáng hai bên vào giữa

Hình 2 – Lưu đồ thuật toán điều khiển led nháy 8 led

Trang 10

 Chương trình điều khiển 8 led đơn

#include <REGX51.H>

unsigned char so1[5]={0xff,0xe7,0xc3,0x81,0x00}; unsigned char so2[5]={0xff,0x7e,0x3c,0x18,0x00}; void tre(long t)

{while(t ) ; }

void chayxuoi()

{ unsigned char n; // Khai bao them bien n cho vong for P1=0xfe;

for(n=0;n<8;n++)// Lap 8 lan

{ P1=P1<<1; // Dich bit sang trai

Trang 11

o Module LED : Gồm 8 led đơn:

 8 led đơn được nối trực tiếp với vi điều khiển

 8 led đơn được kết nối với Header 5x2, ký hiệu CN7 (LED)

Hình 3 – Vị trị khối 8 Led đơn trên board mạch

 Cổng điều khiển : PORT-1

- Port1 được kết nối với Header CN2 (PORT-1)

Trang 12

Hình 4 – Vị trị Port 1 trên board mạch

5 Trình tự thực hiện

- Bước 1: Dùng jump cắm 2 hàng 5x2 kết nối PORT-1 vào LED

- Bước 2: Vẽ mạch mô phỏng trên Proteus

Hình 5 – Sơ đồ mô phỏng proteus mạch điều khiển 8 led đơn

- Bước 3: Mở chương trình mẫu

o 8 LED chạy sáng dồn từ trái sang phải

o 8 LED chạy sáng dồn từ phải sang trái

o 8 LED chạy sáng từ giữa ra hai bên

o 8 LED chạy sáng hai bên vào giữa

Trang 13

6 Lưu ý:

Cách mắc LED

LED (Light-emitting diodes) còn gọi là Diode phát quang, có khả năng chuyển điện thành ánh sáng Khi phát sáng sẽ gây ra sụt áp trên nó vào khoảng 1.7 – 2.5V (tuỳ màu LED), và dòng định mức lớn nhất qua nó khoảng 20mA (đối với led indoor thông thường) Để điều khiển Led ta có một số cách mắc sau

Hình 6 – Các cách mắc điều khiển led với vi điều khiển 8051

Mạch mắc theo cách thứ 2 (Fair) có sụt áp trên LED lớn khoảng 2V, 3V còn lại

sẽ sụt áp trên mạch TTL, gây tổn thất năng lượng lớn, hoặc LED sẽ cháy nếu dòng qua

nó lớn(khoảng vài chục mA)

Mạch mắc theo cách thứ nhất là tốt nhất, có trở hạn dòng Tùy từng loại LED mà điện áp rơi trên nó khác nhau Thường điện áp rơi trên LED trong khoảng 1,7V ÷ 3V Sụt áp trên chân TTL là 0.9V Do đó điện áp rơi trên trên trở là (5V- 0,9V – 3V = 1,1V) cho tới (5V – 0,9V – 1,7V = 2,4V) Dòng điện qua LED khoảng 10mA là vừa sáng (Dòng qua led thường nhỏ hơn khoảng 20mA đối với loại LED thường, nhỏ hơn khoảng 40mA với LED siêu sáng) Dòng qua trở cũng bằng dòng qua LED do mắc nối tiếp Do

đó R = Ur/Ir = 1,1V/10mA ÷ 2,4V/10mA = 110Ω ÷ 240Ω

Tóm lại, trở hạn dòng không nên dưới 100Ohm nếu không LED sẽ chóng hỏng

Và không nên quá 240 Ω led sẽ tối

Trang 14

BÀI THỰC HÀNH SỐ 2 LED 7 THANH

1.Mục đích

- Thực hành với các công cụ phần mềm: phần mềm lập trình KeilC, phần mềm mô phỏng Proteus, phần mềm nạp chương trình cho vi điều khiển ISP_Prog

- Điều khiển LED 7 thanh

- Viết các chương trình con tạo thời gian trễ

2.Yêu cầu

- Tính toán, lựa chọn được các thông số của linh kiện, giá trị điện trở, dòng, áp cấp cho led

- Lập trình điều khiển được led sáng, tắt theo yêu cầu

- Nắm bắt được chức năng các phần tử trong sơ đồ mạch

- Biết cách sử dụng các phần mềm lập trình, phần mềm mô phỏng, phần mềm nạp chương trình cho vi điều khiển

- Lập trình được các bài toán yêu cầu, hiểu rõ từng câu lệnh, từng hàm, chương trình con về quy tắc, cấu trúc câu lệnh cũng như chức năng tác dụng của nó

3 Sơ đồ nguyên lý

Hình 2.1 Sơ đồ nguyên lý điều khiển led 7 thanh

Trang 15

Nguyên lý hoạt động:

- Khi cắm nguồn vào mạch tất cả các chân của các cổng IO của vi điều khiển là 5V( nếu cổng không lắp điện trở treo thì sẽ là 0V ) Nhìn sơ đồ mạch không có chênh điện áp nên không có đèn sáng Chúng ta muốn sáng thanh nào chỉ việc đưa ra điện

áp 0V ở chân vi điều khiển nối với thanh đó

- Phần nút bấm: Ban đầu P1.0 ở mức cao +5V, nếu bấm 2 đầu nút bấm thông nhau Chân P1.0 thông với GND Led sáng do chênh áp

Trang 16

 Chương trình điều khiển:

#include<AT89x51.h> // Dinh kem file thu vien sbit ctac = P1^0;

unsigned char dem=0;

void delay(long time)

{ while(time ); }

void phim_an(void)

{ if(ctac==0) //co phim nhan

{ delay(500); //chong rung phim

while(ctac==0); //Cho nha phim delay(500); // chong rung phim dem++; //tang bien dem

if(dem==10) dem=0; } } void so lan_an(void)

Trang 17

case 8: {P2=0x7f;break;}

case 9: {P2=0x6f;break;} } } void main(void)

{ dataP = 0x81; // ban dau la so 0

while(1) { phim_an();

solan_an(); }}

4.Lựa chọn thiết bị

- Máy vi tính đã cài các phần mềm KeilC, Proteus

- Kit thực hành 8051:

+ Cổng điều khiển : PORT-1

o Port1 được kết nối với Header CN2 (PORT-1)

Hình 2.4 Vị trị Port 1 trên board mạch + Một button:

Hình 2.5: Vị trí button T1 trên bo mạch

Trang 18

+ Một led 7 thanh

Hình 2.3 Vị trí led 7 thanh trên bo mạch

Hình 2.6 Sơ đồ mạch của model led 7 thanh

5.Trình tự thực hiện

- Bước 1: Dùng jump cắm 2 hàng 5x2 kết nối PORT-1 vào button

- Bước 2: Vẽ mạch mô phỏng trên Proteus

Trang 19

Hình 2.4: Sơ đồ mô phỏng proteus mạch đếm số lần ấn phím

và hiện thị ra led 7 thanh

- Bước 3: Mở chương trình mẫu

Trang 20

BÀI THỰC HÀNH SỐ 3 LẬP TRÌNH CHỨC NĂNG NGẮT TIMER - ĐỒNG HỒ SỐ

1.Mục đích

Sủ dụng bộ định thời với chức năng ngắt timer

Giao tiếp với led 7 thanh, phím bấm

2.Yêu cầu

- Tính toán, lựa chọn được các thông số của linh kiện, giá trị điện trở, dòng, áp cấp led

7 thanh

- Lập trình điều khiển hiển thị được đồng hồ số theo yêu cầu

- Nắm bắt được cờ ngắt của bộ định thời, chức năng các phần tử trong sơ đồ mạch

- Lập trình được các bài toán yêu cầu, hiểu rõ từng câu lệnh, từng hàm, chương trình

con về quy tắc, cấu trúc câu lệnh cũng như chức năng tác dụng của nó

3.Sơ đồ nguyên lý

Nguyên lý:

Biến giây : s ; biến phút : m ; biến giờ : h

Tạo độ trễ 1 giây, khi hết 1 giây thì tăng biến s lên 1 đơn vị Nếu s =60 thì s= 0 và m

tăng lên 1 đơn vị ;nếu m= 60 thì m=0 và tăn h lên 1 đơn vị nếu h =24 thì h=0

- Khi muốn điều chỉnh đồng hồ ( cấp mức 0 vào chân của vi điều khiển)

+ Nhấn phím P2_0 để chọn chế độ điều chỉnh phút - giờ - giây

+ Khi muốn tăng giờ hay phút , nhấn phím P2_1

+ Khi muốn giảm giờ hay phút , nhấn phím P2_2

+ Bấm phím P2_0 một lần nữa để về chế độ chạy bình thường

Chương trình điều khiển

#include <REGX52.H>

////////////////////

#define SW1 P2_0

Trang 21

EA = 0; //cam ngat toan cuc

TMOD = 0x10;//Timer che do 1 , 16 bit

//ET0=1; //cho phep ngat timer 0

EA =1; //cho phep ngat toan cuc

TR1 =1;

//TR0 =1; //chay timer 0 bat dau dem so chu ky may }

Trang 24

if(chon==5) { P0=display[b]; //display don vi gio P1_1=0;

Trang 25

delay(100);

P1_1=1;

delay(500); } else

if(chon==6) { P0=display[a]; //display chuc gio P1_0=0;

delay(100);

P1_0=1;

delay(500); } }

TL1 = 0x66;

TF1 =0;

TR1=1;

Trang 26

{ p=0;

gi=gi+1; } if(gi==24) gi=0;

Trang 27

if(SW2==1) { k=k+1;

if(k==10)k=0; } } while(SW2==0); } ///////////////////////////////

if(SW3==0)//giam { do

{ delay(100);

if(SW3==1) { k=k-1;

if(k<0)k=0; } } while(SW3==0);

}hienthi(k,p,gi);

Break; } ////////////////////////////////////////////////////////////////// case 2: //cai dat chuc cua giay

{ ////////////////////////

Trang 28

{ do { delay(100);

if(SW2==1) { k=k+10;

if(k>60) k=k%10; } } while(SW2==0); }

///////////////////////////////

if(SW3==0)//giam { do

{ delay(100);

if(SW3==1) { if(k>10)

{ k=k-10; } else

if(k==10)k=k%10; } } while(SW3==0);

}hienthi(k,p,gi);

break; } /////////////////////////////////////////////////////////////////////// case 3: //cai dat don vi cua phut

{ ////////////////////////

{ do { delay(100);

Trang 29

if(SW2==1) { p=p+1;

if(p==10)p=0; } } while(SW2==0); } ///////////////////////////////

if(SW3==0)//giam { do

{ delay(100);

if(SW3==1) { p=p-1;

if(p<0)p=0; } } while(SW3==0);

} hienthi(k,p,gi);

break; } ////////////////////////////////////////////////////////////////// case 4: //cai dat chuc cua phut { ////////////////////////

{ do { delay(100);

if(SW2==1) { p=p+10;

if(p>=60) p=p%10; }

Trang 30

} while(SW2==0); } ///////////////////////////////

if(SW3==0)//giam { do

{ delay(100);

if(SW3==1) { if(p>10)

{ p=p-10; } else

if(p==10)p=p%10; } } while(SW3==0);

} hienthi(k,p,gi);

break; } /////////////////////////////////////////////////////////////////////// case 5: //cai dat don vi cua gio

{ ////////////////////////

{ do { delay(100);

if(SW2==1) { gi=gi+1;

if(gi==24)gi=0; } } while(SW2==0); } ///////////////////////////////

if(SW3==0)//giam

Trang 31

{ do { delay(100);

if(SW3==1) { gi=gi-1;

if(gi<0)gi=0; } } while(SW3==0);

} hienthi(k,p,gi);

////////////////////////////////////////////////////////////////// case 6: //cai dat chuc cua gio { ////////////////////////

{ delay(100);

if(SW2==1) { gi=gi+10;

if(gi>24) gi=gi%10; } } while(SW2==0); }

Trang 32

else if(gi==10)gi=gi%10; } } while(SW3==0); }

hienthi(k,p,gi);

break; } } } }

4 Lựa chọn thiết bị

- Model led:

+ 6 led 7 thanh ( sd model led 7 thanh như bài thực hành số 3)

+ 2 led đơn ( sd trong model led đơn bài thực hành số 1)

- 3 button

Hình 3.1: Vị trí 3 button T1, T2, T3 trên bo mạch

- Cổng điều khiển: port 0, port 1, port 2, port 3

Hình 3.2: Vị trí 3 port P0,P1, P2, P3 trên bo mạch

5.Trình tự thực hiện

- Bước 1: Dùng jump cắm 1 hàng 5x2 kết nối PORT-2 vào 3 button T1, T2 VÀ T3

- Bước 2: Vẽ mạch mô phỏng proteus

Trang 33

Hình 3.3 Mô phỏng proteus đồng hồ số hiện thị trên led 7 thanh

- Bước 3: Biên dịch chương trình mẫu, mô phỏng trên Proteus và nạp chương trình vào kit thực hành Easy8051 để chắc chắn các khối mạch cần dùng hoạt động tốt

- Bước 4: Viết chương trình, chạy mô phỏng và chạy trên kit thực hành 8051 theo yêu cầu sau : đồng chạy gần đúng với thời gian thực, điều chỉnh được tăng hay giảm giờ, phút

Lưu ý

Khai báo đúng hàm timer,lựa chọn đúng hàm timer

Làm mạch thực tế đúng theo mô phỏng

Trang 34

- Lập trình điều khiển hiển thị được giá trị tần số theo yêu cầu

- Nắm bắt được cờ ngắt của bộ định thời, chức năng các phần tử trong sơ đồ mạch

3.Sơ đồ nguyên lý

Nguyên lý hoạt động: sử dụng bộ định thời tạo trễ 1s, đêm số xung vào trong 1s, số

xung đếm được chính là tần số và được hiển thị ra led 7 thanh

Trang 35

 Chương trình điều khiển

////////khoi tao ngat

void khoitaongat (void)

{ EA =0; //cam ngat toan cuc

TMOD = 0x01; //Timer 0 che do 16 bit

TH0 = 0xfc; //nap gia tri 252 vao TH0

TL0 = 0x67; //gia tri khoi tao 103 TL0

ET0 = 1; //cho phep ngat timer 0

IT0 = 1; //ngat theo suon xuong

EX0 = 1;//Cho phep ngat ngoai 0

EA = 1; //cho phep ngat toan cuc

TR0 = 1; //chay timer 0 bat dau dem so chu ky may }

Trang 37

+ 6 led 7 thanh ( sd model led 7 thanh như bài thực hành số 3)

- Cổng điều khiển: port 0, port 1, port 3

Hình 4.2: Vị trí 4 port P0,P1, P2, P3 trên bo mạch

Trang 39

BÀI THỰC HÀNH SỐ 5 LẬP TRÌNH CHỨC NĂNG NGẮT TRUYỀN THÔNG NÔI TIẾP

Hình 5.1: Sơ đồ nguyên lý sử dụng chức năng ngắt truyền thống nối tiếp

bật các led trên port 2

Nguyên lý hoạt động:

Khi nhận các bit qua chân RxD của nó thì 8051 phải trải qua các bước sau:

 Nó nhận bit Start báo rằng bit sau nó là bit dữ liệu đầu tiên cần phải nhận

 Ký tự 8 bit được nhận lần lượt từng bit một Khi bit cuối cùng được nhận thì một byte được hình thành và đặt vào trong SBUF

 Khi bit Stop được nhận thì 8051 bật RT = 1 để báo rằng toàn bộ ký tự được nhận

và phải lấy đi trước khi nó bị byte mới nhận về ghi đè lên

 Bằng việc kiểm tra bit cờ RI khi nó được bật lên chúng ta biết rằng một ký tự đã được nhận và đang nằm trong SBUF Sao nội dung SBUF vào nơi an toàn trong một thanh ghi hay bộ nhớ khác trước khi nó bị mất

 Sau khi SBUF được ghi vào nơi an toàn thì cờ RI được xoá về 0 để chuẩn bị kiểm tra chu trình tiếp theo

Trang 40

Hình 5.2: Lưu đồ thuật toán sử dụng chức năng ngắt truyền thống nối tiếp

bật các led trên port 2

 Chương trình điều khiển

Ngày đăng: 20/03/2016, 12:15

TỪ KHÓA LIÊN QUAN

w