CPU bao gồm: - Thanh ghi tích luỹ A - Thanh ghi tích luỹ B, dùng cho phép nhân và chia - Đơn vị logic học ALU - Từ trạng thái chương trình PSW - 4 bank thanh ghi - Con trỏ ngăn xếp - Ngo
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM
KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
MSSV : 0751040025
GVHD: LÊ ANH UYÊN VŨ SVTH: VÕ NGỌC HIỆP LỚP: DV07
MSSV : 0751040025
Trang 2TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM
KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
MSSV : 0751040025
Trang 3Giới thiệu Led 7 đoạn
Giới thiệu về transistor C1815, Tụ , Điện trở
Phần III: Thiết kế và thi công .19
Nguyên lý hoạt động của các khối
Chương II: Thi công mạch 38
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.
Chữ ký của giáo viên hướng dẫn
Trang 5- Lời đầu tiên chúng em xin chân thành cảm ơn cô
Lê Anh Uyên Vũ cùng quý thầy cô bộ môn khoa
Điện-Điện Tử Viễn Thông Trường Đại Học Giao Thông Vận Tải Thành Phố Hồ Chí Minh.
- Trong quá trình thực hiện đồ án gặp những khó khăn và thiếu sót khi thực hiện đồ án, trong thực hiện
và thi công mạch về phần cứng cũng như về phần mềm Nhưng được sự hướng dẫn và chí dạy nhiệt tình của quý thầy cô đã giúp chúng em khắc phục được những thiếu sót đó và có thể hoàn thành được đề tài.
- Kế đó xin gửi lời cảm ơn tới các bạn trong lớp giúp đỡ hoàn thành đồ án nhanh nhất!.
TP HCM, tháng 4 năm 2010
SV thực hiện:
Võ Ngọc Hiệp
- Lời đầu tiên chúng em xin chân thành cảm ơn cô
Lê Anh Uyên Vũ cùng quý thầy cô bộ môn khoa
Điện-Điện Tử Viễn Thông Trường Đại Học Giao Thông Vận Tải Thành Phố Hồ Chí Minh.
- Trong quá trình thực hiện đồ án gặp những khó khăn và thiếu sót khi thực hiện đồ án, trong thực hiện
và thi công mạch về phần cứng cũng như về phần mềm Nhưng được sự hướng dẫn và chí dạy nhiệt tình của quý thầy cô đã giúp chúng em khắc phục được những thiếu sót đó và có thể hoàn thành được đề tài.
- Kế đó xin gửi lời cảm ơn tới các bạn trong lớp giúp đỡ hoàn thành đồ án nhanh nhất!.
Trang 6PHẦN I Dẫn Nhập
1.1/ Đặt vấn đề :
Cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện
tử đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong hầu hết các lĩnh vực khoa học kỹ thuật cũng như trong đời sống xã hội
Việc gia công, xử lý các tín hiệu điện tử hiện đại đều dựa trên cơ sở nguyên lý số Vì các thiết bị làm việc dựa trên cơ sở nguyên lý số có ưu điểm hơn hẳn so với các thiết bị làm việc dưạ trên cơ sở nguyên lý tương tự, đặc biệt
là trong kỹ thuật tính toán
Sự phát triển mạnh mẽ của công nghệ điện tử đã cho ra đời nhiều vi mạch số cỡ lớn với giá thành rẻ và khả năng lập trình cao đã mang lại những thay đổi lớn trong ngành điện tử Mạch số ở những mức độ khác nhau đã đang thâm nhập trong các lĩnh vực điện tử thông dụng và chuyên nghiệp một cách nhanh chóng Các trường kỹ thuật là nơi mạch số thâm nhập mạnh mẽ và được học sinh, sinh viên ưa chuộng do lợi ích và tính khả thi của nó Vì thế sự hiểu biết sâu sắc về kỹ thuật số là không thể thiếu đối với sinh viên ngành điện tử hiện nay Nhu cầu hiểu biết về kỹ thuật số không chỉ riêng đối với những người theo chuyên ngành điện tử mà còn đối với những cán bộ kỹ thuật khác có sử dụng thiết bị điện tử
Trang 7
1.2/ Mục đích yêu cấu :
Sự cần thiết , quan trọng cũng như tính khả thi và lợi ích của mạch số cũng chính là lý do để chọn và thực hiện đề án “thiết kế mạch đồng hồ số” nhằm ứng dụng kiến thức đã học về kĩ thuật số vào thực tế
Yêu cầu của đồ án này là thiết kế Đồng Hồ Số sử dụng vi xử lí 89C51 Có thể hiển thị giờ , chỉnh giờ ,và hẹn giờ
1.3/ Giới hạn đề tài:
Trong phạm vi tập đề án này, người thực hiện chỉ thiết kế và thi công
mạch đồng hồ số gọn, đơn giản
Đề tài “đồng hồ số” rất đa dạng và phong phú, cĩ nhiều loại hình khác nhau dựa vào cơng dụng và độ phức tạp Do tài liệu tham khảo bằng Tiếng Việt cịn hạn chế, trình độ cĩ hạn và kinh nghiệm trong thực tế cịn non kém, nên đề tài chắc chắn cịn nhiều thiếu sĩt Vì vậy rất mong nhận được những ý kiến đĩng gĩp, giúp đỡ chân thành của các thầy cơ cũng như của các bạn sinh viên
Trang 8- 4 KB EPROM bên trong
- 128 Bytes RAM nội
- 4 Port xuất nhập I/O 8 bgit
- Giao tiếp nối tiếp
(Power-3 và 256 byte RAM nội
AT89C51 có thể giao tiếp với bộ nhớ ngoài dung lượng lên đến 64KB, 89C51 có 2 ngắt ngoài và 2 ngắt timer mức độ ưu tiên được quy định cụ thể,8951 cũng có 2 bộ đếm 16 bit,kênh giao tiếp nối 2 chiều.Với bộ
xử lí đại số Boole cho phép xử lí từng bit của RAM va thiết bị ngoại vi,mỗi lệnh của kéo dài 1 đến 2 micro giây
Trang 92.1.2/ cấu trúc bên trong của IC 89C51.
+ Thành phần chính của vi điều khiển 89C51 la bộ xử lý trung tâm hay
con gọi là CPU CPU bao gồm:
- Thanh ghi tích luỹ A
- Thanh ghi tích luỹ B, dùng cho phép nhân và chia
- Đơn vị logic học ALU
- Từ trạng thái chương trình PSW
- 4 bank thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chương trình, bộ giải ma lệnh, bộ điều khiển thời gian và logic
+ Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động
+ Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ở bên trong Các nguồn ngắt có thể là các biến cố ở bên ngoài, sự tràn bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp
+ 2 bộ định thời 16 bit hoạt động như một bộ đếm
+ Các cổng port 0, port 1, port 2, port 3 được sử dụng vào mục đích điều khiển, ở cổng port 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp cũng như các đường dẫn ngắt bên ngoài
Trang 10+ Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ làm việc độc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng và được ấn định bằng một bộ định thời.
+ Trong vi diều khiển 8051 còn có hai thành phần quan trọng khác là bộ nhớ và các thanh ghi
+ Bộ nhớ còn có Ram và Rom dùng để lưu dữ liệu và mã lệnh
+ Các thanh ghi sử dụng để lưu dữ thông tin trong quá trình xử lý Khi CPU làm việc, nó làm thay đôỉ nội dung của các thanh ghi
2.1.3/ Sơ đồ chân 89C51:
AT89C51 cĩ tất cả 40 chân cĩ chức năng
như các đường xuất nhập Trong đĩ cĩ 24 chân
cĩ tác dụng kép (cĩ nghĩa 1 chân cĩ 2 chức
năng), mỗi đường cĩ thể hoạt động như đường
xuất nhập hoặc như đường điều khiển hoặc là
thành phần của các bus dữ liệu và bus địa chỉ
U1
AT89C51 9
18 19
20 29
30 31
40
1 2 3 4 5 6 7 8
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
39 38 37 36 35 34 33 32
RST
XTAL2 XTAL1
GND PSEN
ALE/PROG EA/VPP
VCC
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
Trang 11a Các Port :
- Port 0: Cĩ hai chức năng từ chân 31 đến chân 39 trong các thiết kế
nhỏ ( khơng dùng bộ nhớ mở rộng ) Cĩ hai chức năng như các đường I/O Đối với các thiết kế cỡ lớn ( với bộ nhớ mở rộng ) nĩ được kế hợp kênh giữa các Bus
- Port 1: là port I/O trên các chân từ chân số 1 đến chân số 8 có thể
dùng các thiết bị ngoài nếu cần Port 1 không có chức năng khác
vì thế chúng ta chỉ được dùng trong các thiết bị ngoài
- Port 2: là port công dụng kép trên các chân 22 đến 28 được dùng
như các đường xuất nhập hoặc byte cao của bus địa chỉ đối với các thiết kế mở rộng
- Port 3: là port công dụng kép trên các chân 10 đến chân 17 Các
chân cûa port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tín đặc biệt của 8051/8031 như ở bảng sau:Bit Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
P3.2 INTO Ngắt 0 bên ngoài
P3.3 INT1 Ngắt 1 bên ngoài
P3.4 T0 Ngõ vào của timer/courter 0
P3.5 T1 Ngõ vào của timer/courter 1
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài
b Nhĩm chân nguồn,dao động và điều khiển
- VCC - Chân 40 được nối lên nguồn 5V.
- GND - Chân 20 nối đất
- XTAL1-chân 19 và XTAL2-chân 18 : Bộ dao động được tích
hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ XTAL1-chân 19 và XTAL2-chân 18 Tần số thạch anh thường sử dụng cho AT89C51 là 12Mhz
Trang 12+ Chân PSEN: là chân 29, có 4 tín hiệu điều khiển, là tín hiệu để cho
phép bộ nhớ chương trình mở rộng và thường được nối lên chân OE của một Eprom để cho phép đọc các byte mã lệnh
PSEN ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương trình được đọc từ Eprom qua bus và được chốt vào thanh ghi lệnh của 8051 để giải mã lệnh Khi thi hành chương trình trong Rom nội PSEN sẽ thụ động (mức cao)
+ Chân ALE: (chốt) Tín hiệu ra ALE trên chân 30 tương hợp với các
thiết bị làm việc với các xử lý 8585,8088,8051 dùng ALE một cách tương tự cho làm việc giải các kênh các Bus địa chỉ và dữ liệu khi port 0 được dùng trong chế đọ chuyển đổi của nó: vừa là Bus dữ liệu vừa là byte thấp của địa chỉ, ALE là tín hiệu để chốt địa chỉ vào vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đương port 0 dùng để xuất hoặc nhập dữ liệu trong nửa sau của chu kỳ bộ nhớ
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và có thể được làm xung nhịp cho các hệ thống Nếu xung trên
8051 là 12MHZ thì ALE có tần số 2MHZ Chỉ ngoại trừ khi thi hành lệnh Movx, một xung ALE bị mất Chân này cũng được làm ngõ vào cho xung lập trình cho Eprom trong 8051
+ Chân EA: (truy xuất ngoài):Tín hiệu vào EA trên chân 31 thường
được mắc lên mức cao(+5V) hoặc mức thấp(GND) Nếu ở mức cao,
8051 thi hành chương trình từ Rom nội trong khoảng địa chỉ thấp(4K) Nếu ở mức thấp chương trình chi được thi hành từ bộ nhớ mở rộng Khi dùng 8031, EA luôn được nối ở mức thấp vì không có bộ nhớ chương trình trên chíp Nếu EA được nối ở mức thấp bộ nhớ bên trong chương trình 8051 sẽ bị cấm và thi hành chương trình Eprom mở rộng Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho Eprom trong 8051
+ Chân RST(reset): Khi tín hiệu này được đưa lên mức cao(ít nhất
phải 2 chu kỳ máy), các thanh ghi trong 8051 được tải những giá trị thích hợp đẻ khởi động hệ thống
Trang 132.1.4/ Các thanh ghi bộ định thời (Timer):
- AT89C51 cĩ hai thanh ghi bộ định thời/đếm 16 bit được dung cho định thời hoặc đếm sự kiên.
a Thanh ghi chế độ định thời (TMOD):
- Không được định địa chỉ bit
- Được dùng để định chế độ hoạt động cho các timer
+ T/C : bit chọn chức năng đếm hoặc định thời cho timer
+ Gate: bit điều khiển cổng cho bộ định thời.
b Thanh ghi điều khiển định thời (TCON):
- Chứa các bit điều khiển và trạng thái của timer 0 và 1 ở 4 bit cao,
4 bit thấp được dùng cho chức năng ngắt (interrupt)
- Chức năng từng bit:
+ TF x: cờ tràn của timer x (x là 0 hay 1)
+ TRx = 0: không cho phép timer chạy
+ TRx = 1: cho phép timer chạy.
Trang 142.1.5/ Các thanh ghi port nối tiếp (Serial port) :
* Thanh ghi SBUF (Serial Buffer):
- ở địa chỉ 99H là bộ đệm nhập/xuất nối tiếp Khi xuất dữ liệu thì ghi lên SBUF, khi nhập dữ liệu thì đọc từ SBUF
- Các chế độ hoạt động khác nhau của port nội tiếp được lập trình thông qua thanh ghi điều khiển port nối tiếp SCON (Serial Control) ở địa chỉ 98H Đây là thanh ghi được định địa chỉ từng bit.
* Thanh ghi điều khiển port nối tiếp SCON
- Địa chỉ 99H
- Định địa chỉ bit
- Chức năng các bit:
+ SM0, SM1: chọn chế độ hoạt động của port nối tiếp
+ SM2: chọn chế độ hoạt động của port nối tiếp
SM2 = 1: cho phép truyền thông đa xử lý ở các chế độ 2 và 3; bit
RI sẽ
không được tích cực nếu bit thứ 9 nhận được là 0
+ REN: bit cho phép thu
REN = 1: cho phép thu
REN = 0: không cho phép thu
+ TB8: bit phát thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng
phần mềm
+ RB8: bit thu thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần
mềm.
Trang 152.4.6/ Các thanh ghi ngắt (Interrupt):
- 8031/8051 có 5 nguồn ngắt:
+ 2 ngắt ngoài: ngắt ngoài 0: qua chân 0INT (P3.2)
Ngắt ngoài 1: qua chân 1INT (P3.3)
+ 3 ngắt trong: ngắt timer 0
Ngắt timer 1
Ngắt port nối tiếp.
* Các thanh ghi liên quan đến ngắt :
a Thanh ghi cho phép ngắt IE (Interrupt Enable)
- Được định địa chỉ bit
- Chức năng từng bit:
EA: cho phép toàn bộ
ET2: cho phép ngắt timer 2 (nếu có)
ES: cho phép ngắt port nối tiếp
ET1: cho phép ngắt timer 1
EX1: cho phép ngắt ngoài 1
ET0: cho phép ngắt timer 0
EX0: cho phép ngắt ngoài 0
- Để cho phép 1 nguồn ngắt, cần phải có:
+ EA = 1
+ Bit cho phép ngắt tương ứng bằng 1.
b/ Thanh ghi ưu tiên ngắt IP (Interrupt Priority)
- Được định địa chỉ bit
- Bit = 1: mức ưu tiên cao
- Bit = 0: mức ưu tiên thấp
- Mặc nhiên sau khi reset, tất cả các ngắt ở mức ưu tiên thấp
- Nếu 2 ngắt với mức ưu tiên khác nhau xuất hiện đồng thời, ngắt có mức ưu tiên cao sẽ được phục vụ trước Đồng thời, ngắt có mức ưu tiên cao cũng có thể tạm dừng chương trình phục vụ ngắt của ngắt có mức ưu tiên thấp.
Trang 16- Nếu các ngắt có cùng mức ưu tiên xuất hiện đồng thời, việc xác định ngắt nào được phục vụ trước sẽ theo thứ tự: ngắt ngoài 0, ngắt timer 0, ngắt ngoài 1,ngắt timer 1,ngắt port nối tiếp,ngắt timer 2 (đối với 8032/8052).
c/ Thanh ghi TCON
- Định địa chỉ bit
- Chức năng các bit liên quan đến ngắt (interrupt):
+ IEx: cờ ngắt ngoài x (IEx = 1 → tạo ngắt ngoài x)
+ ITx: bit xác định loại tác động ngắt ngoài x :
ITx = 0 : tác động mức 0
ITx = 1 : tác động cạnh xuống (thường dùng)
2.2/LED 7 ĐOẠN
Một trong các chỉ báo hiển thị số thập phân và một dố kí tự khác là Led
7 đoạn.Led cĩ 2 loại Anot chung và Catot chung.Sau đây chúng ta sẽ tìm hiểu loại Anot chung đã sử dụng
Led Anode chung :
Đối với dạng Led anode chung, chân COM phải cĩ mức logic 1 và muốnsáng Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0
Trang 17
Bảng mã cho Led Anode chung (a là LSB, dp là MSB):
- Để hiển thị dữ liệu trên Led dùng AT89C51 có 2 phương pháp là chốt dữ liệu dùng một số loại IC chốt như : 74HC573,74LS373,74LS374 và phương pháp quét Led
- Trong đồ án này em đã dùng phương pháp quét led , là một trong những phương pháp được dùng nhiều hiện nay
2.3 / Transistor điều khiển nâng dòng: C1815:
Trang 186/Điện trở: sử dụng điện trở 4 vòng màu và 5 vòng màu
Trang 19PHẦN III
Thiết Kế Và Thi Cơng
Chương I THIẾT KẾ MẠCH
I.SƠ ĐỒ KHỐI CỦA MẠCH
NÚT NHẤN
KHỐI XỬ
LÍ VÀ ĐIỀU KHIỂN
LOA
Trang 20II Các khối chức năng :
1 Khối giao tiếp nút nhấn :
Bao gồm 4 nút nhấn như hình vẽ :
Bình thường các chân này luôn ở trạng thái mức thấp khi nhấn nút trạng thái thay đổi Đồng thời vi xử lí sẽ được kích thực hiện các chương trình chỉnh giờ,hẹn giờ,chọn led hay tăng giá trị tùy thuộc vào ta kích cho chân nào
2 Bộ dao động thạch anh :
Bộ này có tác dụng tạo ra tần số dao động chuẩn cho chip.Thông thường tần số của thạch anh là 12MHZ,thạch anh được nối tới 2 chân XTAL-chân 18 và XTAL2 -chân 19 và 2 tụ 30pF
Trang 213 Khối xử lí và điều khiển :
Khối này là IC AT89C51 mọi quá trình xử lí dữ liệu dều dược thực hiện ở đây.Trong đồ án này em đã sử dụng port 1 để xuất dữ liệu sau khi
8951 tính toán.Còn port 2 dùng để xuất các tín hiệu điều khiển để quét