Nghiên cứu công nghệ vi xử lý IC 8051 chế tạo các dụng cụ đo trong các thí nghiệm vật lí đại cương

39 576 0
Nghiên cứu công nghệ vi xử lý IC 8051 chế tạo các dụng cụ đo trong các thí nghiệm vật lí đại cương

Đ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

Lời cảm ơn Tác giả xin gửi lời cảm ơn chân thành tới Ban chủ nhiệm khoa Vật lý tạo điều kiện cho đợc tham gia nghiên cứu đề tài khoa học Trong thời gian thực đề tài " Nghiên cứu công nghệ vi xử lý IC 8051 chế tạo dụng cụ đo thí nghiệm vật lý đại cơng " nhận đợc nhiều quan tâm giúp đỡ hớng dẫn Thầy giáo, Cô giáo Tôi bày tỏ lòng biết ơn chân thành tới Thầy giáo TS GVC Võ Thanh Cơng - Ngời hớng dẫn tận tình giúp đỡ cung cấp nhiều tài liệu để hoàn thành luận văn Tôi xin chân thành cảm ơn Thầy giáo ThS Nguyễn Văn Phú cho nhiều ý kiến quý báu bổ ích cho luận văn Tôi xin cảm ơn đóng góp ý kiến bổ sung Thầy, Cô khoa Vật lý Hội đồng bảo vệ luận văn tốt nghiệp Khoa Vật lý để đề tài đợc hoàn thành Sau thời gian tìm hiểu nghiên cứu, đề tài thu đợc số kết định kiến thức nh phơng pháp nghiên cứu khoa học Tuy nhiên lần tác giả luận văn tham gia nghiên cứu mảng đề tài khoa học mới, đề tài số khiếm khuyết Tác giả mong đóng góp ý kiến Thầy Cô giáo nh bạn đồng nghiệp tham dự buổi bảo vệ luận văn Tốt nghiệp để đề tài đợc hoàn thiện Xin chân thành cảm ơn Sinh viên: Nguyễn Đăng Quang Phần Mở đầu Trong thí nghiệm vật lý đại cơng đồng hồ bấm giây thiết bị thiếu đợc Các đồng hồ bấm giây đợc sử dụng chủ yếu đồng hồ học Liên xô cũ cuả Đức, có số nhợc điểm nh sau: Sai số lớn Các sai số cần kể đến sai số khách quan sai số chủ quan Sai số khách quan sai số thiết bị cụ thể độ rơ, độ bôi trơn bánh xe vv sai số ngày tăng tần suất sử dụng tăng Các loại thiết bị dễ bị hỏng khó sửa chữa Sai số chủ quan Sai số ngời sử dụng thiết bị: cách quan sát cách đọc vạch chia độ, phản xạ bấm giây Không thể kết nối sensor máy tính Đây yêu cầu cần thiết hớng phát triển khoa học công nghệ giáo dục ngày Để khắc phục nhợc điểm đó, ngời ta có xu hớng thay đồng hồ bấm giây học đồng hồ số điện tử Các đồng hồ đợc tạo tần số quatz thạch anh (Xtal) nên xác đo đợc khoảng thời gian nhỏ (10-6 s) Một xu hớng phát triển hệ thời gian qua phơng hớng chế tạo thiết bị số (DIGITAL), vi mạch đợc sử dụng cổng logic Mặc dù có nhiều u điểm hệ bán dẫn rời nhng có nhiều nhợc điểm nh: mạch cồng kềnh (với công nghệ ngày cm2 có đến 10.000 cổng), khó sửa chữa bị cứng hoá khó kết nối trực tiếp đợc máy tính Để kết nối trực tiếp với máy tính tín hiệu vào phải thể dới dạng file BIN (nhị phân) file HEX (thập lục phân) Do xu hớng ngời ta sử dụng IC vi xử lí (còn gọi chip) để chế tạo Đối với loại thiết bị này, công nghệ chế tạo nh sau: Các CHIP đợc hoạt động nh máy tính nhỏ lập trình đợc có nhớ đọc đợc (ROM), nhớ đọc ghi đợc (RAM) có lệnh ngầm định, vùng nhớ hoạt động nh đĩa cứng (HARD DISK), có nhiều cổng vào (PORTS) song song (R232) nối tiếp (SERIAL PORTS USB) Các ghi ghi nhiều lần (trên 1000 lần) thuận tiện cho việc sửa chữa dao động chủ nhờ thạch anh đạt tới 24 MHz, suy tốc độ truyền liệu cho phép đạt đến 10 MB giây Thiết bị chế tạo đợc mềm hoá, thiết bị có thể sử dụng nhiều chức khác Ví dụ nh: mạch đồng hồ số ta lập trình để thiết bị thành: máy phát tần số máy đếm tần số, máy đo phóng xạ vv mà không cần thay đổi sơ đồ mạch Khi h hỏng việc nạp lại chơng trình thuận tiện Để nâng cao chất lợng đào tạo thực hành việc nâng cao chất lợng thí nghiệm vật lý thiếu đợc Điều đợc thực nhờ đại hoá thiết bị đo đại lợng vật lý Để khắc phục nhợc điểm dụng cụ đo với tầm quan trọng lý mà chọn đề tài Đây đề tài mới, lý thú bổ ích Trong luận văn tác giả nghiên cứu hai phơng pháp: Phơng pháp chế tạo đồng hồ số cổng logic (kỹ thuật số) phơng pháp mô tả phần cứng (lập trình CHIP) Sau làm quen với phần mềm tự lập trình chơng trình đơn giản chế tạo đồng hồ đếm giây Sau nghiên cứu phần mềm TS Võ Thanh Cơng sản phẩm hoàn chỉnh thiết bị Do luận văn đợc chia làm phần: Phần mở đầu Chơng I đếm mạch lôgic Trong chơng tác giả luận văn tổng quan mạch đếm xung cổng logic Từ đa các giải pháp chế tạo mạch đếm thời gian Chơng II CHIP vi xử lí họ 8051 Trong chơng tác giả luận văn trình bày phần cứng IC vi xử lí họ 8051 số lệnh Chơng III Đồng hồ bấm giây điện tử Trong phần tác giả thử lập trình chơng trình đơn giản sử dụng IC 8051 để đếm 0,1 giây Trong phần trình bày sản phẩm cách sử dụng đồng hồ số điện tử với CHIP ATM 52 IC vi xử lí họ 8051 hãng Intel sản xuất Phần kết luận Phần phụ lục số phần mềm chạy mạch điện Thầy giáo TS GVC Võ Thanh Cơng lập trình Chơng I đếm mạch lôgic 1.1 Khái niệm chung đếm 1.1.1 Khái niệm Bộ đếm mạch dãy tuần hoàn có đầu vào đếm nhiều lối Mạch có số trạng thái hệ số đếm Dới tác dụng tín hiệu đầu vào đếm, mạch chuyển từ trạng thái đến trạng thái khác theo thứ tự định Cứ sau N lần tín hiệu vào đếm mạch trở lại trạng thái xuất phát (N hệ số đếm ) Sơ đồ khối đếm đợc mô tả nh hình vẽ dới Các đầu trạng thái n X(đếm) Bộ đếm Hệ số đếm N Y(đầu điều khiển ) 1.1.2 Phân loại đếm Trong kỹ thuật điện tử số ngời ta dùng nhiều cách để phân loại đếm Dới giới thiệu số cách phân loại thông dụng 1.1.2.1 Phân loại theo cách làm việc đếm Dựa vào cách làm việc đếm ta phân đếm làm loại: Bộ đếm đồng đếm dị Bộ đếm đồng đếm mà Triger (FF) chịu tác động điều khiển đồng thời xung đồng hồ nhất, xung đếm đầu vào (X) Các trạng thái đếm thay đổi lúc, chuyển đổi trạng thái (từ Si đến Sj ) thông qua trạng thái trung gian Bộ đếm không đồng hay gọi đếm dị bộ, đếm mà có FF chịu tác động trực tiếp xung đếm đầu vào (X) nhng có FF chịu tác động điều khiển xung đầu FF khác Vậy chuyển đổi trạng thái FF không lúc tức không đồng 1.1.2.2 Phân loại theo hệ số đếm N Căn vào khác biệt hệ số đếm ngời ta phân đếm thành loại -Bộ đếm nhị phân N=2n (n N*) -Bộ đếm thập phân N =10 -Bộ đếm N phân Chú ý: Bộ đếm nhị phân đếm thập phân trờng hợp riêng đếm N phân 1.1.2.3 Phân loại theo hớng đếm Căn vào tác động xung đếm đầu vào mà hệ số đếm đếm tăng hay giảm, từ ngời ta phân đếm thành loại: Bộ đếm tiến Bộ đếm lùi Bộ đếm tiến lùi Bộ đếm tiến ( hay gọi đếm thuận) đếm mà có tín hiệu đếm X trạng thái đếm tăng lên Bộ đếm lùi (hay gọi đếm nghịch) đếm mà có tín hiệu đếm X trạng thái đếm giảm Bộ đếm vừa có khả đếm tiến đếm lùi gọi đếm tiến lùi (T/L) 1.1.2.4 Phân loại theo khả lập trình Căn vào khả lập trình đếm, ngời ta phân làm hai loại: Bộ đếm có khả lập trình hoá Bộ đếm khả lập trình hoá Bộ đếm có khả lập trình hoá đếm sử dụng hệ số đếm khác tuỳ thuộc tín hiệu điều khiển đa vào Do đếm "mềm dẻo" đa đếm khác đếm có hệ số đếm định Ngợc lại gọi đếm khả lập trình 1.1.3 Mã đếm Quá trình đếm đếm, trình thay đổi từ trạng thái đến trạng thái khác, trạng thái đếm đợc mã hoá mã cụ thể Dới dới thiệu số mã thờng dùng để mã hoá đếm 1.1.3.1 Mã nhị phân Mã nhị phân loại mã bít có trọng số 1-2-4-8 bít trẻ ứng với 20= 1, bớc ứng với 21 = bít già ứng với 2n-1 1.1.3.2 Mã Grây Mã Grây loại mã trọng số Trong từ mã kề khác biến 1.1.3.3 Mã BCD Hệ 10 Mã BCD mã nhị phân mã hoá số thập phân Bảng (1.1) mã BCD Mã dùng chữ số nhị phân để mã hoá chữ số thập phân, nhóm chữ số nhị phân gọi Decard Để mã hoá số thập phân nhiều chữ số ngời ta dùng decard khác Ví dụ: Decard: Hàng đơn vị - hàng chục - hàng trăm (118)10 = (0001.0001.1000)BC ta dùng Decard Mã BCD 0 0 0 0 0 1 0 1 1 0 1 1 0 0 Bảng.1.1 (0001)BCD: (1)10 1.2 Xây dựng phân tích đếm (0001)BCD: (0)10 1.2.1 Nguyên tắc xây dựng đếm (1000)BCD: (8)10 Mạch đếm đợc xây dựng từ Triger mạch logic Nó thành phần hệ thống số đợc sử dụng để đếm xung chia tần số đồng thời để điều khiển mạch lôgic khác Sự ghép nối Triger cho phép ta biểu diễn kết dới dạng số nhị phân có số bít số Triger đếm đồng thời thu đợc mạch đếm khác Khi có xung tác động vào đếm thay đổi trạng thái theo nhịp xung thiết lập cho ta đếm nhị phân biểu diễn số l8 N Q3 Q2 Q1 Q0 0 0 0 0 0 1 0 1 1 1 ợng xung8 tác 1động0vào 0bộ đếm Một có thể0 đếm1 đợc (nbộ đếm tổng quát 10 1 1) xung 11 xung thứ n 1thì đa 12 trạng thái ban đầu (gọi đếm trở 13 1 14 1 15 1 1 16 0 0 Bảng 1.2 trạng thái nghỉ )và đếm có dung lợng đếm n-1 hay đếm mođun n Ví dụ nh: Triger đếm T đếm modun sở để tạo đếm có modun Nếu ghép liên tiếp Triger ta có đếm với modun đếm 24=16 dung lợng đếm 15 xung Từ lí luận ta có bảng trạng thái đếm bít ( bảng 1.2) Từ bảng 1.2 ta thấy: Lối Q thay đổi trạng thái theo xung vào Nói cụ thể hơn: Xung thứ xác lập Q0 lên 1, xung thứ hai xoá Q0 nh tiếp tục xung sau ứng với xung vào, đầu Q thiết lập đợc xung, nh Q0 phép nhân chu kỳ xung vào lên phép chia tần số xung vào - Lối Q1 lật trạng thái từ (hoặc ngợc lại) Q0 chuyển từ (tại sờn âm xung Q0) Hiện tợng xảy tơng tự Q2 Q3 Nói cách tổng quát: Trạng thái Triger chuyển Triger cấp thấp chuyển trạng thái từ giá trị giá trị Rõ ràng, xung vào kích thích cho phần tử có lối Q 0, Q0lại kích thích cho phần tử có lối Q1 v.v Mỗi phần tử đếm lại có lật trạng thái sờn âm xung vào chia hai tần số xung vào Chức logic nh hoàn toàn đợc thực nhờ FF-MS nh loại JK-MS D - MS Đơng nhiên sử dụng FF thông thờng khác nhng phải thực phép đấu cho đầu có mã không đổi Bộ đếm thực theo nguyên tắc đợc gọi đếm nối tiếp hay đếm không đồng (dị bộ) Trạng thái Triger chuyển tất Triger cấp thấp trạng thái giá trị V dụ Q2 lật trạng thái Q1, Q0 mức Nhận xét sở để xây dựng đếm song song hay đếm đồng Đồ thị xung mô tả bảng trạng thái (bảng1.2) hình 1.1 Từ đồ thị dạng sóng lần thấy lại nhận xét nêu Đồng thời đồ thị làm sáng tỏ điều đếm đồng thời chia tần Sự khác đếm chia tần chỗ: Với đếm kết đợc lấy tất đầu ra, chia tần lấy đầu ra.Ví dụ ta lấy Q có kết chia 4, Q3 có kết chia 16 Cần ý rằng: Bộ chia tần cha đếm Sau hình 1.1 10 11 12 13 14 15 C Q0 Q1 Q2 Q3 10 2.2.7 PSEN Xung PSEN đợc sử dụng làm xung đọc nhớ chơng trình bên CHIP Khi AT89C52 chạy mã lệnh từ nhớ chơng trình bên ngoài, PSEN đợc kích hoạt lần chu kỳ máy trừ lần kích hoạt bị bỏ qua truy cập nhớ liệu bên 2.2.8 EA/VPP Cho phép truy cập nhớ chơng trình bên EA đợc nối với GND phép CHIP nhận đợc lệnh từ nhớ chơng trình bên từ địa 0000H đến FFFFH EA đợc nối với nguồn truy cập nhớ bên Chân nhận điện áp +12 Vôn lập trình Flash Rom loại AT89C52 loại lập trình 12 Vôn 2.2.9 XTAL1, XTAL2 XTAL1 đầu vào đảo cho dao động, đầu vào cho mạch dao động bên XTAL2 đầu đảo cho dao động nằm CHIP, để có chíp với dao động bên chân XTAL1 phải bỏ trống chân XTAL2 đợc nối với nguồn dao động bên 2.3 Cấu trúc phần cứng bên vi điều khiển AT89C52 2.3.1 Địa nhớ AT89C52 Bản đồ nhớ liệu bên AT89C52 nh sau: Không gian nhớ bị chia thành khối vùng thấp 128 byte vùng cao 128 byte vùng SFR Địa để truy cập nhớ bên có độ rộng 1byte tức định đợc địa 256 byte Tuy nhiên nhờ có chế độ định địa cho RAM bên nên định địa đợc 384 byte Địa trực tiếp lớn 7Fh truy cập vào vùng nhớ, truy cập địa gián tiếp địa lớn 7Fh truy cập vào vùng nhớ khác Do đồ nhớ vùng không gian địa nhớ bên lớn 7Fh có hai vùng vùng 128 byte cao vùng SFR nhng hai vùng hai thực thể tách rời mặt vật lý FFh Cao Chỉ truy cập qua địa gián tiếp Chỉ truy cập qua địa trực tiếp 80h 7Fh Thấp 0h FFh 80h Có thể truy cập qua địa trực tiếp gián tiếp Các ghi chức đặc biệt Hình1 Bộ nhớ liệu bên AT89C52 Bản đồ vùng nhớ 128 byte thấp nh sau: 32 byte thấp đợc nhóm lại thành băng ghi Chỉ thị chơng trình gọi ghi từ R0 đến R7 Hai bít ghi Từ Trạng Thái Chơng Trình (PSW) chọn băng ghi đợc sử dụng Việc tổ chức làm tăng hiệu không gian mã, thị ghi ngắn so với sử dụng địa trực tiếp Tiếp theo vùng băng ghi khối không gian nhớ đợc định địa cho bít 128 bít vùng đợc định địa trực tiếp thị trình biên dịch MCS-51 Tất byte vùng 128 byte thấp đợc truy cập chế độ địa trực tiếp gián tiếp Vùng 128 byte cao đợc truy cập chế độ địa gián tiếp 7FH 30H Không gian nhớ đợc định địa bít Giá4 trị băng sau8khi reset củaghi trỏ ngăn R0-R7 xếp SP 2FH 20H 1FH 18H 17H 10H 0FH 08H 07H Hình 128 byte thấp RAM bên CHIP Hình miêu tả qua vùng Các Thanh Ghi Chức Năng Đặc Biệt( SFR) Vùng bao gồm mạch chốt cổng, thời gian, điều khiển thiết bị ngoại vi Các ghi đợc truy cập chế độ địa trực tiếp 2.3.2 Cấu trúc ngắt vi điều khiển AT89C52 2.3.2.1.Vị trí chơng trình phục vụ ngắt Core bên AT8952 cung cấp cho ta nguồn ngắt có ngắt ngoài, ngắt timer ngắt cổng truyền tin nối tiếp Sau đồ phần thấp nhớ chơng trình chứa chơng trình phục vụ ngắt Vị trí phục vụ ngắt đợc định địa byte Địa 0003H cho ngắt 0, địa 000BH cho ngắt Timer 0, địa 0013H cho ngắt 1, địa 001BH cho ngắt Timer Nếu chơng trình phục vụ ngắt nhỏ byte nằm trọn đoạn phục vụ ngắt Vị trí ngắt Reset (0033H) (0028H) (0023H) (001BH) (0013H) (000BH) (0003H) (0000H) 8byte Hình Bản đồ nhớ chơng trình phục vụ ngắt Nếu phục vụ ngắt có mã lệnh nhiều byte ta phải sử dụng thị nhảy để nhảy tới chơng trình phục vụ ngắt Mỗi nguồn ngắt cho phép cấm riêng rẽ cách đặt xoá bít ghi IE( ghi cho phép ngắt) (MSB) EA - Ký hiệu Vị trí EA IE.7 ES ET1 ET1 EX1 ET0 (LSB) EX0 Chức Cấm tất ngắt Nếu EA=0, tất ngắt bị cấm Nếu EA=1 nguồn ngắt đợc phép hay cấm tuỳ theo bít cho ES ET1 EX1 ET0 EX0 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 phép đặt hay xoá Để dành cho tơng lai Để dành cho tơng lai Bít cho phép ngắt cổng nối tiếp Bít cho phép ngắt tràn Timer Bít cho phép ngắt Bít cho phép ngắt tràn Timer Bít cho phép ngắt Hình Thanh ghi cho phép ngắt AT89C52 2.3.2.2 Thứ tự u tiên ngắt Mỗi nguồn ngắt đợc lập trình riêng rẽ với mức thứ tự u tiên cách đặt xoá bít ghi IP ( thứ tự u tiên ngắt) Ngắt có thứ tự u tiên thấp ngắt ngắt có thứ tự u tiên cao hơn, hai yêu cầu ngắt ngắt có thứ tự u tiên khác xảy đồng thời lúc yêu cầu ngắt ngắt có thứ tự u tiên cao đợc phục vụ trớc Nếu hai ngắt có thứ tự u tiên nh xảy lúc ngắt đợc phục vụ theo vòng 2.3.3 Một số lệnh đặc biệt AT89C52 Lệnh ADD Câu lệnh ADD A, < địa > Khi lệnh đợc thực giá trị ghi A giá trị ghi A cộng với giá trị địa Ví dụ: Trong ghi A có giá trị 0C3H (11000011B) địa ghi R0 có giá trị 0AAH (10101010) Câu lệnh ADD A, RO Kết qủa cho ta giá trị ghi 6DH (01101101B) Lệnh CJINE (compare and jump if not set) Câu lệnh CJINE < địa >, , địa đến Hoặc CJINE < giá trị địa >, < giá trị>, địa đến Câu lệnh đợc thực giá trị giá trị địa cho khác giá trị so sánh câu lệnh câu lệnh Ngợc lại câu lệnh địa đến Ví dụ: Trong ghi R0 giá trị 30D, ghi A giá trị 10D CJINE R0, # 31D, LABEL_1 ADD A, RO CJINE R0, # 40D, LABEL_2 MOV R1, # 0D Kết nh sau: giá trị ghi R0 khác 31D nên lệmh ADD A, R0 lúc giá trị ghi A cộng thêm 10D 40D lệnh CJINE R0, # 40D, LABEL_2 đợc thực lệnh lệnh có địa LABEL_2 Lệnh CLR (clear) Câu lệnh CLR < địa bít > Giá trị địa BIT có giá trị OH Ví dụ ghi A có giá trị 30H Câu lệnh CLR A Sẽ cho kết ghi A giá trị OH Lệnh DJINZ (Decrement and jump if not zero) Câu lệnh < byte> < địa chơng trình> Lệnh DJINZ giảm giá trị địa chuyển câu lệnh tới địa định Ví dụ ghi với địa 40H, 50H 60H có giá trị lần lợt 01H, 70H 15H DJINZ 40H, LABEL_1 ; giảm giá trị địa 40H 1, giá trị lại 0H nên thực tiếp lệnh sau DJINZ 50H, LABEL_2 ; giảm giá trị địa 50D 1, giá trị lại khác 0H nên lệnh sau lệnh địa LABEL_2 DJINZ 60H, LABEL_3 Kết địa 40H có giá trị 0H câu lệnh DJINZ 50H, LABEL_2 cho ta kết địa 50H giá trị 6FH, 6FH khác OH nên câu lệnh câu lệnh có địa LABEL_2 Kết cuối ghi với địa 40H, 50H, 60H có giá trị 0H, 6FH 15H Lệnh INC ( increment) Câu lệnh INC Ví dụ ghi R0 có giá trị 7EH Trong ghi địa 7EH 7FH có giá trị tơng ứng 0FFH 40H Câu lệnh: INC @R0 ; tăng giá trị địa R0 lên (7FH) INC R0 ; tăng giá trị địa có giá trị R0 lên INC @R0 ; tăng giá trị ghi R0 lên Kết nh sau Đầu tiên ghi R0 có giá trị 7EH sau câu lệnh đầu tăng lên thành 7FH Câu lệnh thứ hai tăng giá trị địa ghi R0 7FH lên cụ thể từ 40H lên 41H Lệnh DPTR (increment data pointer) Tăng vị trí trỏ lên Câu lệnh: ICR DPTR ICR DPTR ICR DPTR Tăng địa trỏ vị trí Lệnh JB (Jum if bit set) Câu lệnh JB < bit > , địa Câu lệnh đợc thực nh sau: bít có giá trị địa địa cho, ngợc lại bít 0B lệnh lệnh Ví dụ địa P1.1 có giá trị 0B địa P1.2 có giá trị 1B Câu lệnh JB P1.1, LABEL_2 JB P1.2, LABEL_1 Kết địa LABEL_1 Lệnh JMP (jump) Lệnh JMP đến địa Câu lệnh là: JMP LABEL_1 Câu lệnh câu lệnh địa LABEL_1 Lệnh JMP @A+DPTR Lệnh di chuyển trỏ ghi A Lệnh LJMP (long Jump) Di chuyển câu lệnh xa Câu lệnh: LJMP SURTN Di chuyển câu lệnh tới địa SUBRTN Lệnh MOV (move) Câu lệnh: MOV < số liệu> Chức câu lệnh: Chuyển số liệu sang địa khác Mô tả chức năng: Lệnh mov chuyển đợc số liệu nh địa ghi giá trị ghi đến địa khác Câu lệnh nh sau: Hiện RAM ghi có địa 30H có số liệu 40H Giá trị ghi có địa 40H 10H Số liệu cổng P1 0CAH MOV R0, # 30H ; gán cho ghi R0 giá trị ghi có địa 30H, kết số liệu ghi R0 40H MOV A, @RO ; gán cho A giá trị RO, kết A có giá trị 40H MOV R1, A ; gán cho ghi R1 địa có giá trị A, kết R1 có địa 40H MOV B, @R1 ; gán cho ghi B giá trị R1 kết B có giá trị 10H MOV @R1, P1 ; gán cho ghi R1 giá trị cổng P1, kết R1 có giá trị là: 0CAH MOV P2, P1 ; gán cho cổng P2 giá trị cổng P1 Ngoài lệnh MOV nhiều chức khác xem tài liệu tham khảo [1] Lệnh MOVC Câu lệnh MOVC A, @A + DPTR (con trỏ) Chức năng: chuyển byte mã lệnh (byte code) Câu lệnh chuyển cho ghi A mã lệnh Ví dụ ghi A có bốn giá trị 0, 1, 2, Trong địa DPTR ta có giá trị DB thứ tự nh sau: DB 66H DB 77H DB 88H DB 99H Ta có lệnh sau: REL_PC: INC A ; cộng cho A thêm MOVC A, @A+PC RETI ; Trở lại vòng lặp REL_PC Câu lệnh MOVC cho A giá trị DB nh sau: Với vòng lặp thứ A có giá trị nh A nhận giá trị địa DPTR 66H Sau tăng A lên nên ghi lại nhận giá trị DPTR 77H , tiếp dó 88H 99H Lệnh PUSH (push onto stack) Thêm số chồng (stack) lên Lệnh POP (pop from stack) Giảm số chồng (stack) Lệnh RET (Return from subroutine) Lệnh trở đầu vòng lặp Lệnh RETI (Return from Interrupt) Lệnh trở ngắt lệnh Lệnh SETB (set Bit) Bật bít lên 01B Chơng III Đồng hồ bấm giây điện tử Trong chơng tác giả luận văn xin trình bày: thông số kỹ thuật hớng dẫn sử dụng thiết bị đồng hồ bấm giây điện tử Thầy giáo hớng dẫn TS Võ Thanh Cơng thiết kế chế tạo Sau phân tích u điểm thiết bị Cuối phần mền đơn giản tác giả tập viết đếm từ đến IC ATM52 hãng Intel 3.1 Thông số kỹ thuật Dải đo: 0,00 s đến 99,99 s Sai số : 0,01 s Tạo xung: thạch anh 24 MHz Hiển thị : nét có dấu chấm (LED TL_309 thông dụng thị trờng), Chiều cao số: 20 mm Nguồn nuôi: vol Ngõ vào trực tiếp: Chuột (Mouse) , Chắn quang (Light brie), loại sensor từ khác Có thể giao diện trực tiếp máy tính qua cổng COM 3.2 Hớng dẫn sử dụng Cắm chuột vào cổng vào (cổng PS/2) Bật công tắc, hiển thị xuất chữ CHAO (chào bạn) Chờ hiển thị xuất lại số 00.00 ấn chuột phải đồng hồ bắt đầu đếm (START) ấn chuột trái đồng hồ dừng lại trình đếm (STOP) Để thực trình đếm có hai phơng pháp: + ấn chuột phải đồng hồ lại bắt đầu đếm từ 00.00 s + ấn chuột phải đồng thời với chuột trái đồng hồ bắt trở trạng thái khởi động (RESET) 00.00 Muốn tiếp tục bạn trở lại trình nh ban đầu Khi không sử dụng tắt công tắc điện Một số vấn đề lu ý: Đồng hồ điện tử không cần trở trạng thái RESET Trong phần mềm ta ấn START trỏ (DPTR) trở vị trí START Câu lệnh thực thời gian 0,5 10- s, nên không ảnh hởng tới kết phép đo Mặc dù quan sát thấy LED sáng ổn định thực tế thời điểm có LED sáng Trong s LED có 50 lần sáng 50 lần tắt xen kẽ Các LED phần lẻ trăm , phần lẻ chục, phần đơn vị phần chục lần lợt sáng sáng (lần lợt cổng P2 ta gán cho giá trị 00000001B, 00000010B, 00000100B, 00001000 B) Vì mắt ta không phân biệt đợc dới 25 hình 1s nên ta nhìn thấy LED sáng Do tiết kiệm đợc lợng (PIN) tăng đợc thời hạn sử dụng LED Ngõ vào nối trực tiếp với cổng P1 cổng xuất lệnh file HEX file BIN ví dụ nh: 00000010 B (hoặc 02H) lúc CHIP ATM52 bắt đầu thực trình đếm Khi cổng P1 cổng xuất lệnh 00000100 B ( 04H) CHIP ATM52 dừng trình đếm Biên độ xung Volt PP ta nhận lệnh từ máy tính qua cổng in (PRINTER PORT) Ngõ nối trực tiếp với cổng P0 u điểm lớn CHIP ATM52 hãng Intel Do tín hiệu trạng thái treo (H), nên ta có gửi trực tiếp vào máy tính qua cổng COM trực tiếp vào phần mềm WINDOWS (câu lệnh: START \ PROGRAM\ ACCOSSERIES \ COMMUNICATIONS \ HIGHER TERMINA) từ bạn chọn cổng COM1 COM1 Lúc lệnh MOVC DPTR, DECODE phải đổi thành MOVC DPTR, DECODE1 lệnh DECODE1 là: DECODE1: DB 0D, 1D, 2D, 3D, 4D,5D,6D,7D,8D,9D Đây điểm hẳn thiết bị CASSY hãng LEYBOL mà khoa Vật lý Đại học Vinh sử dụng (CASSY phải qua môđem +1phần mềm để gửi tín hiệu vào DOS máy tính) Tốc độ truyền tín hiệu vào tín hiệu 2MHz tốc độ mà hãng khác khó đạt đợc Hai điểm hai u điểm tuyệt đối CHIP ATM52 hãng Intel ( giá thành CASSY phụ thuộc tốc độ truyền) Đồng hồ điện tử số mạch đơn giản, LED thị có IC, điện trở , tụ điện thạch anh 24 MHz nên dễ sửa chữa Nếu hỏng phần mềm bạn cần cài lại CHIP ATM52 hãng Intel nạp lại 1000 lần Dới sơ đồ LED: Chân chân nối với anot Nếu file abcdegfh ta có t ơng ứng : Chân ứng với a, với b, với dấu chấm với c, ứng với d1 với e, 10 với f với h Để số từ đến thay đổi đếm ngợc đơn giản 10 ta đổi lệnh Decode: Tơng tự nh cho trờng hợp chữ 3.3 Phần mềm ví dụ Sau tác giả luận văn xin trình bày ví dụ mô phần mềm cho CHIP ATM 52 tác giả thực theo yêu cầu giáo viên hớng dẫn Phần kết luận Một mục tiêu Bộ GD& ĐT trờng Đại Học Vinh cải tiến phơng pháp giảng dạy Kết nối máy tính thí nghiệm Vật lý, tự viết phần mềm mô tả thí nghiệm nhiệm vụ nặng nề khó Đề tài luận văn đáp ứng đợc yêu cầu đặt vấn đề quan trọng ngời giáo viên vật lý thời kỳ đổi phơng pháp giảng dạy Sau hoàn thành đề tài Em thu hoạch số kết nh sau: Đề tài giúp làm quen với phơng pháp khoa học điện tử đợc gọi phơng pháp mô tả phần cứng Qua đề tài em nắm đợc lý thuyết số đếm thông dụng, dụng cụ đo thời gian Qua đề tài em phần nắm đợc phần cứng IC vi xử lý họ 8051 số lệnh Đây vấn đề hoàn toàn có mạng cha đa vào giáo trình giảng dạy cho sinh viên kể trờng đại học lớn nh ĐHBK Hà nội Đã nắm đợc phần lập trình mô tả phần cứng cho CHIP máy tính lập trình đợc chơng trình đơn giản cho IC 8051 để đếm thời gian (1byte) Qua đề tài phần khả thực hành em đợc nâng cao kỹ thuật điện tử nh ngôn ngữ phần mềm ESSEMBLE Đây mảng đề tài lớn, có ý nghĩa thực tiễn Bộ GD&ĐT Hy vọng Em có điều kiện nghiên cứu ứng dụng sau [...]... O> C K1 J2 C O> K2 J3 O>C K3 C O Hình 1.11 Chơng II J4 C K4 O> Chip Vi xử lý 8051 2.1 Họ IC vi xử lý 8051 2.1.1 Thông số kỹ thuật cơ bản MC51 là IC vi xử lý có các đặc trng sau: Xử lý trung tâm và các ứng dụng 8 bít Có thể thao tác đợc các phép toán của đại số Boole (đại số nhị phân) Bộ nhớ 64Kb cho các địa chỉ Bộ nhớ 64 Kb cho các số liệu Bộ nhớ số liệu động RAM 128 byte 32 cổng giao tiếp ngoài... lập trình trong chip 2.1.2 Sơ đồ của IC 8051 của hãng Intel Internal interrupts ngắt trong external interrupts ngắt ngoài OSC Bộ dao động thạch anh 4K ROM Bộ xử lý trung tâm chỉ đọc đợc 128 K bytes RAM Bộ nhớ số liệu có thể ghi và đọc đợc CPU bộ xử lý trung tâm Bus control Các đờng dẫn I/O ports Các cổng vào và ra Serial ports Cổng nối tiếp Timer 1, timer 0 Bộ đếm thời gian Các bộ nhớ của IC 8051 RAM... 80C51 7A-5 Chân (pin) EA# (External Enable) khi để ở chế độ cao (H) cho phép truy cập vào ROM Trong ROM thờng các đặt các lệnh ngầm định 2.2 CHIP điều khiển AT89C52 Cùng họ 8051, hiện nay trên thị trờng lu hành họ vi điều khiển AT89C52 IC AT89C52 là CHIP cùng họ với họ vi điều khiển 8051 có giá thành rẻ và tốc độ xử lý của CHIP nhanh 24 Mhz Miêu tả các chân của AT89C52 2.2.1 Port 0 (từ chân 32 đến chân... B8H D0H E0H F0H Các bytes SP, DPTR, DPL, DPH, PCON, TMOD, TLO,TL1, TH0, TH1 và SBUF là các bytes có thể chỉ là địa chỉ Có nghĩa các thanh ghi này có thể ghi đọc, lệnh và so sánh với các bytes khác Các bytes ACC, B, PSW, PO, P1,P2, P3, IE, IP, SCON vad TCON là các bít địa chỉ Có nghĩa các thanh ghi này có thể ghi đọc, lệnh và so sánh với các bít khác ROM (Read only memory) Trong IC 8051 có 8K ROM Có... collecter, khi giá trị 1 đợc vi t lên Port0 thì các chân này đợc sử dụng nh một đầu vào trở kháng cao + Trong khi truy nhập bộ nhớ ngoài, port 0 đợc cấu tạo là một bus phân chia thời gian địa chỉ/dữ liệu (địa chỉ thấp) Trong chế độ này port 0 đợc kéo lên nguồn bởi một điện trở treo nguồn bên trong CHIP + Port 0 nhận các byte mã lệnh để ghi lên Flash Rom trên CHIP và trả lại các byte mã trong quá trình kiểm... Memory) Trong IC 8051 RAM đợc cấu tạo bởi các thanh nhớ với các địa từ 0FH đến 7FH đợc chỉ trình bày nh sau: 4 dải (bank) đầu tiên, mỗi dải là một thanh ghi 8 bít có địa chỉ từ 00H đến 17FH đợc sử dụng làm các thanh ghi có địa chỉ (INTOO , INTO1, INTO2, Từ địa chỉ 18H đến 1FH là INTO3 Từ địa chỉ 20H đến địa chỉ 2FH làm các thanh ghi địa chỉ, từ địa chỉ 30H đến địa chỉ 7FH gồm 80 bytes để ghi các thông... đợc sử dụng Vi c tổ chức này làm tăng hiệu quả của không gian mã, do đó các chỉ thị thanh ghi là ngắn hơn so với sử dụng địa chỉ trực tiếp Tiếp theo vùng 4 băng thanh ghi là khối không gian bộ nhớ đợc định địa chỉ cho cả từng bít 128 bít trong vùng này có thể đợc định địa chỉ trực tiếp bởi các chỉ thị của trình biên dịch MCS-51 Tất cả các byte trong vùng 128 byte thấp có thể đợc truy cập bằng cả chế độ... nằm trọn trong đo n giữa các phục vụ ngắt này Vị trí của các ngắt Reset (0033H) (0028H) (0023H) (001BH) (0013H) (000BH) (0003H) (0000H) 8byte Hình 3 Bản đồ bộ nhớ chơng trình các phục vụ ngắt Nếu phục vụ ngắt có mã lệnh nhiều hơn 8 byte ta phải sử dụng chỉ thị nhảy để nhảy tới chơng trình phục vụ ngắt Mỗi một nguồn ngắt có thể cho phép hoặc cấm một các riêng rẽ bằng cách đặt hoặc xoá một bít trong thanh... giây điện tử Trong chơng này tác giả luận văn xin trình bày: đầu tiên là các thông số kỹ thuật và bản hớng dẫn sử dụng thiết bị đồng hồ bấm giây điện tử do Thầy giáo hớng dẫn TS Võ Thanh Cơng thiết kế và chế tạo Sau đó là các phân tích về u điểm của thiết bị này Cuối cùng là một phần mền đơn giản do tác giả tập vi t về bộ đếm từ 0 đến 9 bằng IC ATM52 của hãng Intel 3.1 Thông số kỹ thuật Dải đo: 0,00 s... dụng 16 bít địa chỉ( MOVX @DPTR) Khi truy nhập bộ nhớ ngoài sử dụng 8 bít địa chỉ (MOVX @RI), port 2 gửi ra nội dung của P2 trong các thanh ghi chức năng đặc biệt + Port 2 cũng đợc sử dụng để nhận các bít địa chỉ cao và một vài tín hiệu điều khiển trong khi lập trình và kiểm tra Flash Rom trên CHIP 2.2.4 Port 3 Port 3 đợc sử dụng để thực hiện các chức năng rất linh động của AT89C52 nh ở bảng sau: Chân ... K4 O> Chip Vi xử lý 8051 2.1 Họ IC vi xử lý 8051 2.1.1 Thông số kỹ thuật MC51 IC vi xử lý có đặc trng sau: Xử lý trung tâm ứng dụng bít Có thể thao tác đợc phép toán đại số Boole (đại số nhị... lợng đào tạo thực hành vi c nâng cao chất lợng thí nghiệm vật lý thiếu đợc Điều đợc thực nhờ đại hoá thiết bị đo đại lợng vật lý Để khắc phục nhợc điểm dụng cụ đo với tầm quan trọng lý mà chọn... quan mạch đếm xung cổng logic Từ đa các giải pháp chế tạo mạch đếm thời gian Chơng II CHIP vi xử lí họ 8051 Trong chơng tác giả luận văn trình bày phần cứng IC vi xử lí họ 8051 số lệnh Chơng III

Ngày đăng: 15/12/2015, 11:16

Từ khóa liên quan

Mục lục

  • Sinh viên: Nguyễn Đăng Quang

    • Phần Mở đầu

    • Chương I

    • bộ đếm bằng các mạch lôgic cơ bản

    • 1.1. Khái niệm chung về bộ đếm.

      • 1.1.1. Khái niệm.

      • 1.1.2. Phân loại bộ đếm.

      • 1.2. Xây dựng và phân tích bộ đếm.

        • 1.2.1. Nguyên tắc xây dựng bộ đếm.

        • 1.2.2. Bộ đếm nhị phân:

          • Bảng1.3

          • 1.2.3. Bộ đếm modun bất kỳ M.

          • 1.2.4. Bộ đếm thập phân

          • 1.2.5. Bộ đếm tiến, lùi, tiến lùi.

          • 2.1.1. Thông số kỹ thuật cơ bản.

          • 2.1.2. Sơ đồ của IC 8051 của hãng Intel.

          • 2.2. CHIP điều khiển AT89C52

            • 2.2.1. Port 0 (từ chân 32 đến chân 39)

            • 2.2.2. Port 1

            • 2.2.3. Port 2

            • 2.2.4. Port 3

            • 2.2.5. RST

            • 2.2.6. ALE/PROG

            • 2.2.7. PSEN

            • 2.2.8. EA/VPP

Tài liệu cùng người dùng

Tài liệu liên quan