Ngày nay bộ vi điều khiển (Micro-controller) đã rất phổ biến trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển khống chế hoạt động của các thiết bị như TV, máy giặt, đầu đọc laser, điện thoại Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong robot, dây chuyền tự động. Các hệ thống càng thông minh thì vai trò của vi điều khiển càng quan trọng. Nhưng bộ vi điều khiển là gì, nó có tác dụng và hoạt động như thế nào?
Thực ra bộ vi điều khiển (Micro-controller) là một mạch tích hợp trên một bộ Chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ thống. Bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo lường thời gian và tiến hành đọc mở một cơ cấu nào đó.Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển. Nhưng thông thường người ta thường sử dụng hai ngôn ngữ chính để lập trình là: ngôn ngữ lập trình C và Assembly.
33 trang |
Chia sẻ: tuandn | Lượt xem: 5294 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế bộ đo tần số hiển thị bằng led 7 đoạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời nói đầu
Ngày nay bộ vi điều khiển (Micro-controller) đã rất phổ biến trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển khống chế hoạt động của các thiết bị như TV, máy giặt, đầu đọc laser, điện thoại…Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong robot, dây chuyền tự động. Các hệ thống càng thông minh thì vai trò của vi điều khiển càng quan trọng. Nhưng bộ vi điều khiển là gì, nó có tác dụng và hoạt động như thế nào?
Thực ra bộ vi điều khiển (Micro-controller) là một mạch tích hợp trên một bộ Chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ thống. Bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo lường thời gian và tiến hành đọc mở một cơ cấu nào đó.Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển. Nhưng thông thường người ta thường sử dụng hai ngôn ngữ chính để lập trình là: ngôn ngữ lập trình C và Assembly.
Trong qúa trình học tập và đặc biệt được sự giúp đỡ tận tình của Cô Vũ Thị Thu Hương, Giảng viên bộ môn Vi điều khiển - nhóm sinh viên chúng tôi đã quyết định làm đồ án kết thúc môn vi điều khiển là thiết kế mạch “ Thiết kế bộ đo tần số hiển thị bằng led 7 đoạn ”.
Nội dung đồ án gồm 2 phần:
Phần I : cơ sở lý thuyết liên quan đến nội dung đồ án
Phần II : trình tự thiết kế và hoàn chỉnh đồ án
Tuy đã rất cố gắng tìm hiểu,nghiên cứu và hoàn thiện bài tập lớn nhưng có thể vẫn còn có những sai sót. Chúng tôi rất mong nhận được sự góp ý của thầy giáo và các bạn để có thêm những kiến thức vững chắc trong lĩnh vực điện tử đang theo học. Chắc chắn những kiến thức đó sẽ giúp chúng tôi rất nhiều trong việc nghiên cứu học tập và công tác sau này.
Xin chân thành cảm ơn !
Giáo viên hướng dẫn : Vũ Thị Thu Hương
Sinh viên thực hiện : Nguyễn Văn Tú
Nguyễn Văn Luân
Phạm Ngọc Giáp
Lớp : ĐH Cơ Điện Tử 1 _ K6
NHẬN XÉT CỦA GIÁO VIÊN
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Phần I : CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐẾN NỘI DUNG CỦA ĐỒ ÁN
I.Vi điều khiển AT89S52
1.Giới thiệu về IC AT89S52
IC 89S52 là phiên bản 8051 có ROM trên chip ở dạng bộ nhớ Flash. Phiên bản này là lý tưởng với những phát triển nhanh vì bộ nhớ Flash có thể xóa trong vài giây. Ta gọi IC này là bộ vi điều khiển vì trong chúng chứa ROM, RAM, các cổng nối tiếp và song song. 89S5 không được sử dụng trong máy tính nhưng được sử dụng rộng rãi trong công nghiệp và trong sản phẩm máy móc tiêu dùng.
Cùng với họ 89S52 có một số vi điều khiển khác. Về cơ bản chúng đều giống nhau, chúng chỉ khác nhau ở vùng nhớ nội bao gồm vùng nhớ mã lệnh, vùng nhớ dữ liệu và một số Timer. Sự khác nhau đó được mô tả bằng bảng dưới đây:
Vi điều khiển
Vùng mã lệnh nội
Vùng dữ liệu nội
Số Timer
8051
8031
8751
8052
8032
8732
4K ROM
0K
4K EPROM
8K ROM
0K
4K EPROM
128 bytes
128 bytes
128 bytes
256 bytes
256 bytes
256 bytes
2
2
2
3
3
3
2.Cấu trúc của IC 89S52:
Trung tâm của 89S52 vẫn là vi xử lý trung tâm (CPU). Để kích thích cho toàn bộ hệ thống hoạt động, 89S52 có bộ tạo dao động nội với thạch anh được ghép từ bên ngoài với tần số khoảng từ vài Mhz đến 24 Mhz. Liên kết các phần tử với nhau là hệ thống BUS nội, gồm có BUS dữ liệu, BUS địa chỉ và BUS điều khiển. 89S52 có 8K ROM, 256 bytes RAM và một số thanh ghi bộ nhớ… Nó giao tiếp với bên ngoài qua 3 cổng song song và một cổng nối tiếp có thể thu, phát dữ liệu nối tiếp với tốc độ lập trình được. Hai bộ định thời 16 bit của 89S52 còn có 2 ngắt ngoài cho phép nó đáp ứng và xử lý điều kiện bên ngoài theo cách ngắt quãng, rất hiệu quả trong các ứng dụng điều khiển. Thông qua các chân điều khiển và các cổng song song 89S52 có thể mở rộng bộ nhớ ngoài lên đến 64Kbs dữ liệu.
Sau đây là sơ đồ khối vi điều khiển:
Hình 1. Sơ đồ khối Vi điều khiển họ 89S52
3.Sơ lược về các chân IC 89S52
IC 89S52 có 40 chân. Có đến 32 chân làm nhiệm vụ xuất nhập, truyền dữ liệu. Các chân phục vụ ngắt, các chân Timer, trong đó 24 chân làm 2 nhiệm vụ khác nhau. Mỗi chân có thể là đường xuất nhập, đường điều khiển hoặc là một phần của địa chỉ hay dữ liệu. Thiết kế thường có bộ nhớ ngoài hay các thiết bị ngoại vi sử dụng những Port để xuất nhập dữ liệu. Tám đường trong mỗi Port được sử dụng như một dơn vị giao tiếp song song như máy in, bộ biến đổi tương tự số…. Hoặc mỗi đường cũng có thể hoạt động độc lập trong giao tiếp với các thiết bị đơn bit khác như: transistor, LED, switch….
Sau đây là hình dạng sơ đồ của IC 89S52:
Hình 2. Hình dạng sơ đồ IC 89S52
4. Chức năng các chân IC 89S52:
Sau đây là phần giới thiệu chức năng các chân , các Port tương ứng, chân PSEN, chân ALE, chân REST…
Port 0
Port 0 là cổng song song dùng cho 2 mục đích, nó là các chân từ 32. Trong những thiết kế nhỏ nó được dùng trong các cổng xuất nhập bình thường. Ở những thiết kế có sử dụng bộ nhớ ngoài, nó vừa là Bus dữ liệu vừa là bytes thấp của Bus địa chỉ. Nó còn được dùng chứa những bytes mã khi nạp ROM nội.
Port 1
Port 1 dành cho cổng xuất nhập và chỉ dành cho mục đích này mà thôi. Nó dùng để giao tiếp với các thiết bị ngoại vi theo từng bit hoặc bytes . Port 1 chiếm các chân từ 1 đến 8.
Port 2
Port 2 (chân 21÷ 28) là Port có 2 chưc năng. Ngoài mục đích dành cho xuất nhập thông thường nó còn dùng làm bytes cao cho các địa chỉ bộ nhớ ngoài.
d. PSEN (cho phép nạp chương trình)
89S52 có 4 chân tín hiệu điều khiển. PSENT là tín hiệu điều khiển được xuất ra ở chân 29. Tín hiệu điều khiển này cho phép lập trình ở bộ nhớ ngoài và thường được nối với các chân OE của EPROM để đọc mã lệnh từ bộ nhớ ngoài vào thanh ghi đệm của 89S52. Nó xuống mức thấp nhất trong khi đọc lệnh. Mã lệnh đọc từ EPROM, qua Bus dữ liệu, được chốt vào thanh ghi của 89S52. Khi thi hành chương trình từ ROM nội PSEN được giữ ở mức cao (trạng thái không tác động).
EA (truy xuất vùng nhớ ngoài)
EA là một tín hiệu vào có thể ở mức cao hay thấp. Nếu ở mức cao 89S52 thi hành chương trình ở ROM nội, 4K/8K chương trình. Nếu ở mức thấp, chương trình chỉ được thi hành ở bộ nhớ ngoài. Đối với 80431/ 8231 EA phải được giữ ở mức thấp vì chúng không có ROM nội. EA cũng chính là chân nhận điện áp mức cao để nạp EPROM nội.
ALE ( cho phép chốt địa chỉ)
ALE là tín hiệu được xuất ra ở chân 20, rất quen thuộc với những ai đã tùng làm việc với vi xử lý 8085, 8086 của Intel. 89S52 dùng ALE để phân kênh cho từng Bus địa chỉ và Bus dữ liệu. Khi Port 0 được dùng làm Bus dữ liệu và bytes thấp của Bus địa chỉ - ALE là tín hiệu dùng để chốt địa chỉ vào thanh ghi chốt bên ngoài trong nửa đầu của một chu kỳ máy. Sau đó Port 0 sẵn sàng để truy xuất dữ liệu trong nửa chu kỳ còn lại.
Xung ALE có tần số bằng 1/6 lần tần số bộ dao động nội và có thể dùng như một xung clock cho mục đích nào đó khi hệ thống không làm việc. Nếu tần số của 89S52 là 12MHz thì tần số xung ALE là 2MHz. Một xung ALE bị mất khi có một lệnh MOVX được thi hành.
Ngõ vào dao động nội
Ngõ vào đao động nội được mô tả như dưới hình hai, có một thạch anh được nối vào chân 19 (XTAL1) và 18 (XTAL2). Có thể mắc thêm tụ để ổn định dao động. Thạch anh 12MHz thường dùng cho họ IC MCs-51, trừ IC 80C31BH có thể dùng thạch anh lên đến 16MHz. Tuy nhiên, không nhất thiết phải dùng thạch anh mà ta có thể dùng mạch dao động TTL tạo xung Clock đưa vào chân XTAL1 và lấy đảo của nó đưa vào XTAL2.
RST (RESET)
Ngõ vào chân RST (chân 19) là chân master reset của 89S52. Khi nó ở mức cao nhất (trong khoảng ít nhất 2 chu kỳ máy ) các thanh ghi nội được nạp với giá trị tương ứng theo thứ tự khởi động hệ thống.
Nguồn cung cấp
89S52 sử dụng nguồn cung cấp Vcc=5V được cấp vào chân 40,GND được nối vào chân 20.
Bit
Tên
Chức năng
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
P1.0
P1.1
RXD
TXD
INT0
INT1
T0
T1
W/R
RD
T2
T2EX
Nhận dữ liệu
Phát dữ liệu
Ngắt ngoài 0
Ngắt ngoài 1
Ngõ vào Timer/couter 0
Ngõ vào Timer/ couter 1
Đọc dữ liệu từ bộ nhớ ngoài
Đọc dữ liệu vào bộ nhớ ngoài
Ngõ vào của Timer/ couter
Bảng 2. Giới thiệu một số chân IC họ 8951
5. Các thanh ghi có chức năng đặc biệt
Các thanh ghi nội của 89S52 chiếm một phần của vùng nhớ nội, vì vậy mỗi thanh ghi đều có một địa chỉ. Các thanh ghi chức năng (FSRs) trong vùng nhớ cao từ 80H đến FFH. Lưu ý có một số bytes trong vùng này không được định nghĩa. Chỉ có 21 địa chỉ thanh ghi chức năng được định nghĩa (26 địa chỉ đối với 8052/8032).
Các thanh ghi chương trình
Thanh ghi B
Con trỏ ngăn sắp xếp
Con trỏ dữ liệu
Các thanh ghi Port
Các thanh ghi bộ định thời
Các thanh ghi cổng nối tiếp
Các thanh ghi ngắt
Thanh ghi PCON
6. Bộ nhớ ngoài
Mở rộng bộ nhớ là một khả năng quan trọng đói với vi điều khiển nhằm tránh gặp bế tắc trong vấn đề thiết kế. Họ MCs-51 có thể mở rộng 64Kbs và bộ nhớ mã lệnh 64Kbs dữ liệu. Các IC giao tiếp ngoại vi cũng có thể thêm vào để tăng năng xuất nhập.
Các chân cho phép giao tiếp với bộ nhớ ngoài RD, WR, PSEN, OE…
II.Bộ tạo xung bằng IC 555
1.khái quát IC 555
Cấu tạo và nguyên lý hoạt động của IC 555
Cấu tạo của NE555 gồm OP-amp so sánh điện áp, mạch lật và transistor đểxả điện. Cấu tạo của IC đơn giản nhưng hoạt động tốt. Bên trong gồm 3 điện trởmắc nối tiếp chia điện áp VCC thành 3 phần. Cấu tạo này tạo nên điện áp chuNn. Điện áp 1/3 VCC nối vào chân dương của Op-amp 1 và điện áp 2/3 VCC nối vào chân âm của Op-amp 2. Khi điện áp ở chân 2 nhỏhơn 1/3 VCC, chân S = [1] và FF được kích. Khi điện áp ởchân 6 lớn hơn 2/3 VCC, chân R của FF = [1] và FF được reset
Chân 1 : GND (nối dất) Chân 5 : Control Voltage (điện áp điềukhiển)
Chân 2 : Trigger Input Chân 6 : Threshold (thềm – ngưỡng)
Chân 3 : Out put (ngõ ra) Chân 7 : Discharge (phóng điện)
Chân 4 : Reset (hồi phục) Chân 8 : +VCC(nguồn dương)
Giải thích sự dao động :
Ký hiệu 0 là mức thấp bằng 0V, 1 là mức cao gần bằng VCC. Mạch FF là loại RS Flipflop.
Khi S = [1] thì Q = [1] và Q= [ 0].
Sau đó, khi S = [0] thì Q = [1] và Q = [0].
Khi R = [1] thì Q = [1] và Q = [0].
Tóm lại, khi S = [1] thì Q = [1] và khi R = [1] thì Q = [0] bởi vì Q = [1], transisitor mở dẫn, cực C nối đất. Cho nên điện áp không nạp vào tụ C, điện áp ở chân 6 không vượt quá V2. Do lối ra của Op-amp 2 ở mức 0, FF không reset.
Giai đoạn ngõ ra ở mức 1:
Khi bấm công tắc khởi động, chân 2 ở mức 0.
Vì điện áp ở chân 2 (V-) nhỏ hơn V1(V+), ngõ ra của Op-amp 1 ở mức 1 nên
S = [1], Q = [1] và Q = [0]. Ngõ ra của IC ở mức 1. Khi Q = [0], transistor tắt, tụ C tiếp tục nạp qua R, điện áp trên tụ tăng. Khi nhấn công tắc lần nữa Op-amp 1 có V- = [1] lớn hơn V+ nên ngõ ra của Op-amp 1 ở mức 0, S = [0], Q và Q vẫn không đổi. Trong khi điện áp tụC nhỏhơn V2, FF vẫn giữ nguyên trạng thái đó.
Giai đoạn ngõ ra ở mức 0:
Khi tụ C nạp tiếp, Op-amp 2 có V+ lớn hơn V- = 2/3 VCC, R = [1] nên Q = [0] và Q = [1]. Ngõ ra của IC ở mức 0. Vì Q = [1], transistor mở dẫn, Op-amp2 có V+ = [0] bé hơn V-, ngõ ra của Op-amp 2 ở mức 0. Vì vậy Q và Q không đổi giá trị, tụ C xả điện thông qua transistor.
Kết quảcuối cùng :Ngõ ra OUT có tín hiệu dao động dạng sóng vuông, có chu kỳ ổn định.
2.Các thông số của mạch
Trong mạch này, giá trị tần số tạo ra 3 dải tần số bằng cách thay đổi giá trị tụ điện tương ứng
R1=6kΩ;R2 là biến trở 15k
Dải 1 từ10Hz đến 100Hz: tụ giá trị1µF
Dải 2 từ100Hz đến 500Hz: tụ giá trị 470nF
Dải 3 từ1KHz đến 5KHz: tụ giá trị 47nF
III.Hiển thị bằng led 7 thanh.
1.Khái quát chung về led 7 thanh.
Led 7 thanh có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm 1 led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 thanh.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0. Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển.
Sơ đồ vị trí các led được trình bày như hình dưới:
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b. Tương tự với các chân và các led còn lại.
2.Kết nối với Vi điều khiển.
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).
Phần II:TRÌNH TỰ THIẾT KẾ VÀ HOÀN THIỆN ĐỒ ÁN
I.Sơ đồ nguyên lý và mạch in.
Sơ đồ nguyên lý:
Mạch tạo dao động:
Mạch in:
II.Nguyên lý hoạt động của mạch.
Xung vuông tạo ra từ IC 555 cấp vào chân 14(T0)_chân đếm xung của IC 89S52.
timer 1 tạo thời gian đếm 1s thì ngắt.
giá trị xung đếm được từ timer0.
hiển thị qua led 7 thanh(anot chung).
III.Code chương trình.
#include
sbit led3 = P3^6;
sbit cd1 = P0^0;
sbit cd2 = P0^1;
sbit cd3 = P0^2;
void Display(unsigned long int num);
void digit(unsigned long int n);
unsigned char d1,d2,d3,d4;
unsigned long int f=0,ts=0,nt=1; // 'f' LA BIEN DEM CUA TAN SO,'ts' LA GIA TRI TAN SO DE HIEN THI
int dem;
bit kt=0;
unsigned char ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // MA LED
void delay(t)
{
unsigned int i;
for(i=0;i<t;i++);
}
void Ngoai0() interrupt 0 // NGAT NGOAI 0 DE DEM XUNG VAO
{
if(kt==1) // NEU TRUOC DO DA LAY RA 'ts' THI DEM 'f' LAI TU DAU
{
kt=0; // XOA BIT KIEM TRA
f=0;
}
f++;
}
void Ngat1() interrupt 3 // NGAT TIMER 1 DE TAO TRE 50(ms)
{
TR1=0;
TH1=0X3C; // TIMER1=15536
TL1=0XB0;
dem++;
if(dem==20) // KHI BIEN 'dem'=20 => TRE 1(s)=> DUA RA GIA TRI 'ts'
{
dem=0; // XOA 'dem' DE DEM LAI TU DAU
kt=1; // BIT KIEM TRA VIEC DUA RA TAN SO HIEN THI
ts=f;
}
TR1=1;
}
void digit(unsigned long int n) // Tach so de hien thi
{
// Hang chuc
d4=(n%10);
d3=(n%100)/10;
d2=(n%1000)/100;
d1=n/1000; // Hang tram nghin
}
void chedo1()
{
if((ts>10)&(ts<100))
{
digit(ts);
P1=0xfe;
P2=0xff;
delay(200);
P1=0Xfd;
P2=0xff;
delay(200);
P1=0Xfb;
P2=ma[d3];
delay(200);
P1=0Xf7;
P2=ma[d4];
delay(200);
}
else
{
ts= 0;
led3 = 1;
delay(5000);
led3 = 0;
delay(5000);
}
}
void chedo2()
{
if((ts100))
{
digit(ts);
P1=0xfe;
P2=0xff;
delay(200);
P1=0Xfd;
P2=ma[d2];
delay(200);
P1=0Xfb;
P2=ma[d3];
delay(200);
P1=0Xf7;
P2=ma[d4];
delay(200);
}
else
{
ts=0 ;
led3 = 1;
delay(5000);
led3 = 0;
delay(5000);
}
}
void chedo3()
{
if((ts>1000)&(ts<5000))
{
digit(ts);
P1=0xfe;
P2=ma[d1];
delay(200);
P1=0Xfd;
P2=ma[d2];
delay(200);
P1=0Xfb;
P2=ma[d3];
delay(200);
P1=0Xf7;
P2=ma[d4];
delay(200);
}
else
{
ts=0;
led3 = 1;
delay(5000);
led3 = 0;
delay(5000);
}
}
void main()
{
P0=0xff;
TMOD=0X10; // TIMER 1 CHE DO 1
TH1=0X3C; // TIMER1=15536
TL1=0XB0;
ET1=EX0=1; // CHO PHEP NGAT NGOAI 0 VA NGAT TIMER 1
EA =IT0=IT1=1; // CHO PHEP NGAT TOAN CUC,NGAT NGOAI SUON AM
TR1=1; //BAT TIMER 1
while(1)
{
if(cd1==0) chedo1();
if(cd2==0) chedo2();
if(cd3==0 ) chedo3();
}
}
Kết luận
Trong quá trình thực hiện đề tài chúng em rút ra một sốkết luận sau:
* Ưu điểm:
Thiết kế và thi công đề tài này giúp chúng em bước đầu làm quen với các đề tài khoa học kỹt huật và tích lũy được nhiều kiến thức bổ ích trong việc thiết kếthi công mạch thực tế và kỹ thuât lập trình cho vi điều khiển.
Sản phẩm thiết kế tạo ra một mô hình giúp sinh viên nghiên cứu khảo sát và khám phá tài nguyên của của họ vi điều khiển 8051. Tăng cường khả năng lập trình cho vi điều khiển.
Hiểu hơn về cách giao tiếp của họ 8051 với các thiết bị ngoại vi như led 7 thanh.
Tạo tiền đềnâng cao khả năng thiết kế và lập trình cho mọi thành viên trong nhóm để nhóm có thể nghiên cứu và thiết kế nhiều sản phẩm có ích cho cuộc sống và xã hội.
* Nhược điểm:
Bên cạnh những ưu điểm của sản, nhưng do sản phẩm chỉ là một mô hình thí nghiệm nên nó còn có rất nhiều hạn chế:
- Khảnăng đo còn chưa hoàn toàn chính xác, vẫn còn hiện tượng nhiễu.
- Chưa khai thác được nhiều tài nguyên của 89S52, sự phong phú đa dạng của ngôn ngữ lập trình C.
- Giá thành sản phẩm còn cao….
* Tính thực tếcủa sản phẩm và hướng cải tiến phát triển:
Sản phẩm là mô hình thu nhỏ của một máy tính điện tử, nhưng tính thực tế của của sản phẩm còn thấp.
Để sản phẩm đi vào thực tế chúng ta cần phải khai thác hơn nữa khả năng của vi điều khiển và ngôn ngữ lập trình. Nhằm nâng cao khả năng tính toán hạ giá thành sản phẩm.
Nói chung sản phẩm chỉ là một mô hình mang ý nghĩa nghiên cứu và thí nghiệm, giúp sinh viên làm quen với cấu trúc,lập rình và ứng dụng của vi điều khiển.
Cuối cùng em xin chân thành cám ơn thầy cô đã quan tâm giúp đỡ chúng em hoàn thành đề tài!
Tài liệu tham khảo
1. Vi Điều Khiển Cấu trúc-lập trình và ứng dụng( Kiều Xuân Thực)
2. Giáo trình kỹthuật lập trình C (Ngô Diệp Tập, VũTrung Kiên, Phạm Xuân Khánh, Kiều Xuân Thực, 2007)
3. Cấu trúc và lập trình vi điều khiển (Nguyễn Tăng Cường, Phan Quốc Thắng, 2004)
4. Vi điều khiển 8051( Tống Văn On, Hoàng Đức Hải, 2005)
5. Kỹthuật lập trình C-Cơsởvà nâng cao(Phạm Văn Ất)
6. Giáo trình Vi sử lý và cấu trúc máy tính( Ngô Diệp Tập, Vũ Trung Kiên, Phạm Xuân Khánh, Kiều Xuân Thực)
7. Kỹ thuật Vi sử lý( Văn ThếMinh, NXB giáo dục,1997)
8. Lập trình Hợp ngữvà máy tính IBM-PC (Quách Tuấn Ngọc-Đại học Bách Khoa Hà Nội)