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
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 5SVTH: Võ Ngọc Hiệp 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!.
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
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 8AT89C51 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash.Phiên bản này rất thích hợp cho các ứng dụng nhanh vi bộ nhớ Flash có thể xóa được trong vài giây.
- 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ỉ
Trang 11SVTH: Võ Ngọc Hiệp Trang 11
Trang 12a 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 0P3.5 T1 Ngõ vào của timer/courter 1P3.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à
Trang 13XTAL2-chân 18 Tần số thạch anh thường sử dụng cho AT89C51 là 12Mhz.
Trang 14+ 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
Trang 15+ 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 162.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
+ 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 172.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
1 1 3 UART 9 bit tốc độ thay đổi.
+ SM2: chọn chế độ hoạt động của port nối
+ 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
Trang 18+ RB8: bit thu thứ 9 (ở chế độ 2 và 3), có thể
đặt và xóa bằng phần mềm.
2.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
Trang 19cao 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.
- 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
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ốn
sáng Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0
Trang 21Bả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 226/Điện trở: sử dụng điện trở 4 vòng màu và 5 vòng màu
Trang 23PHẦ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 24II 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 253 Khối xử lí và điều khiển :
Trang 264 Khối hiển thị Led 7 đoạn :
Khối này cĩ chức năng hiển thị giờ ,phút giây dữ liệu sẽ được lấy từ Port 1 của vi xử lí AT89C51
III Sơ đồ nguyên lý và sơ đồ mạch in:
Trang 28G P
CHON LED HEN GIO TANG GIA TRI
P3.6/WR 18
P3.5/T1 17 P2.7/A15 31
P2.0/A8 24 P2.1/A9 25 P2.2/A10 26
Trang 29V GIẢI THUẬT MAIN:
BENGI N
- Khai báo biến
Gọi Chương trình hiển thị led
Gọi chương trình chỉnh giờ
Gọi chương trình hẹn giờ
Gọi chương trình so sánh để báo thức
Trang 30Tăng phân trăm giây Gán phân trăm giây vào R0
R0 = 100
Gán phần trăm giây bằng 0
Tăng giây Gán giây vào R0
R0 = 60
Gán giây bằng 0 Tăng phút Gán phút vào R0
R0 = 60
Gán phút bằng 0 Tăng giờ Gán phút vào R0
R0 = 24
Gán giờ bằng 0
EXIT
Trang 31Đ
CHƯƠNG TRÌNH CON CHỈNH GIỜ
Lưu đồ giải thuật chương trình con chỉnh phút, giờ cũng tương tự như lưu
đồ giải thuật chương trình con chỉnh giây.Và tổng hợp 3 như lưu đồ giải thuật chương trình con chỉnh giờ ,phút ,giây ta được như lưu đồ giải thuật chương trình chỉnh giờ đồng hồ như lưu đồ giải thuật chương trình hẹn giờ tương tự như như lưu đồ giải thuật chương trình chỉnh giờ đồng hồ
CHỈNH GIÂY
Tăng giây lên một đơn vị
Đủ 60 chưa
Cho giây bằng 0
Chỉnh phút