Xây dựng chương trình và thiết kế mạch chống trộm

31 1.1K 1
Xây dựng chương trình và thiết kế mạch chống trộm

Đ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

Xây dựng , viết chương trình và thiết kế mạch chống trộm

SHARE BY KYSUBACHKHOA.COM I. Giới thiệu khái quát về họ IC MCS-51™ MCS-51   là một họ IC vi điều khiển do Intel phát triển sản xuất. Một số nhà sản xuất được phép cung cấp các IC tương thích với các sản phẩm MCS- 51 của Intel là Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel… Các IC của họ MCS-51 có các đặc trưng chung như sau: • 4 port I/O 8 bit • Giao tiếp nối tiếp • 64K không gian bộ nhớ chương trình mở rộng • 64K không gian bộ nhớ dữ liệu mở rộng • Một bộ xử lý luận lý (thao tác trên các bit đơn) • 210 bit được đòa chỉ hóa • Bộ nhân/chia 4 µs. Ngoài ra, tùy theo số hiệu sản xuất mà chúng có những khác biệt về bộ nhớ bộ đònh thời/bộ đếm như trong bảng so sánh dưới đây: Số hiệu sản xuất Bộ nhớ chương trình trên chip Bộ nhớ dữ liệu trên chip Số bộ đònh thời (bộ đếm) 8031 8051 8751 8951 0K 4K ROM 4K EPROM 4K FLASH 128 byte 128 byte 128 byte 128 byte 2 2 2 2 8032 8052 8752 8952 0K 8K ROM 8K EPROM 8K FLASH 256 byte 256 byte 256 byte 256 byte 3 3 3 3 2 Giới thiệu AT89C51 AT89C51 là một Microcomputer 8 bit, loại CMOS, có tốc độ cao công suất thấp với bộ nhớ Flash có thể lập trình được. Nó được sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, tương thích với chuẩn công nghiệp của 80C51 80C52 về chân ra bộ lệnh. Vì lý do đó, kể từ đây về sau ta sẽ dùng thuật ngữ “80C51” (hoặc "8051") Sơ đồ khối của AT89C51 2.1 Những đặc trưng của AT89C51. + Tương thích với các sản phẩm MCS-51 + 4KByte bộ nhớ Flash có thể lập trình lại với 1000 chu kỳ đọc/xoá + Hoạt động tónh đầy đủ: 0Hz đến 24MHz + Khoá bộ nhớ chương trình ba cấp + 128 x 8 bit RAM nội + 32 đường xuất-nhập lập trình được (tương ứng 4 port) + Hai timer/counter 16 bit + Một port nối tiếp song công lập trình được + Mạch đồng hồ bộ dao động trên chip Cấu hình chân của AT89C51 như sau: Như vậy AT89C51 có tất cả 40 chân. Mỗi chân có chức năng như các đường I/O (xuất/nhập), trong đó 24 chân có công dụng kép: mỗi đường có thể hoạt động như một đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus đòa chỉ bus đữ liệu. Mô tả chân • VCC (chân 40) Chân cấp nguồn. • GND (chân 20) Chân nối đất. • Port 0 Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit. Nếu được sử dụng như là một ngõ xuất thì mỗi chân có thể kéo 8 ngõ vào TTL. Khi mức 1 được viết vào các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao. Port 0 có thể được đònh cấu hình để hợp kênh giữa bus đòa chỉ bus dữ liệu (phần byte thấp) khi truy cập đến bộ nhớ dữ liệu bộ nhớ chương trình ngoài. Ở chế độ này, P0 có các điện trở pullup bên trong. Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, xuất ra các byte code khi kiểm tra chương trình. Cần có các điện trở pullup bên ngoài khi thực hiện việc kiểm tra chương trình. • Port 1 Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong. Các bộ đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL. Khi mức 1 được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội có thể được dùng như là các ngõ nhập. Nếu đóng vai trò là các ngõ nhập, các chân của port 1 (được kéo xuống thấp qua các điện trở bên ngoài) sẽ cấp dòng I IL do các điện trở pullup bên trong. • Port 2 Port 2 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong. Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội có thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng I IL do có các điện trở pullup bên trong. Port 2 phát ra byte cao của đòa chỉ khi đọc từ bộ nhớ chương trình ngoài khi truy cập bộ nhớ dữ liệu ngoài dùng các đòa chỉ 16 bit (MOVX @DPTR). Trong ứng dụng này, nó dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1. Khi truy cập bộ nhớ dữ liệu ngoài dùng các đòa chỉ 8 bit (MOVX @RI), port 2 phát ra các nội dung của thanh ghi chức năng đặc biệt P2. Port 2 cũng nhận các bit cao của đòa chỉ một vài tín hiệu điều khiển khi lập trình kiểm tra Flash. • Port 3 Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong. Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội có thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng I IL do có các điện trở pullup bên trong. Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt dưới đây: Chân Tên Các chức năng chuyển đổi P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD Port nhập nối tiếp Port xuất nối tiếp Ngắt 0 bên ngoài Ngắt 1 bên ngoài Ngõ vào Timer/Counter 0 Ngõ vào Timer/Counter 1 Xung ghi bộ nhớ dữ liệu ngoài Xung đọc bộ nhớ dữ liệu ngoài Các chức năng chuyển đổi trên Port 3 • RST (chân 9) Ngõ vào reset. Một mức cao trên chân này khoảng hai chu kỳ máy trong khi bộ dao động đang chạy sẽ reset thiết bò. lên cao bởi các điện trở pullup "nhẹ". Việc set bit cấm-ALE không có tác dụng khi bộ vi điều khiển đang ở chế độ thi hành ngoài. • EA /Vpp EA (External Access Enable) phải được nối với GND để cho phép thiết bò đọc code từ bộ nhớ chương trình ngoài có đòa chỉ từ 0000H đến FFFFH. Tuy nhiên, lưu ý rằng nếu bit khoá 1 (lock-bit 1) được lập trình, EA sẽ được chốt bên trong khi reset. EA phải được nối với Vcc khi thi hành chương trình bên trong. Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó áp lập trình 12V được chọn). Khi bit khoá 1 được lập trình, mức logic tại chân EA được lấy mẫu chốt khởi tạo với một giá trò ngẫu nhiên cho đến khi được reset. Giá trò được chốt của EA phải bằng với mức logic hiện tại ở chân đó để cho thiết bò làm việc một cách chính xác.  XTAL1 XTAL2 XTAL1 XTAL2 là hai ngõ vào ra của một bộ khuếch đại dao động nghòch được cấu hình để dùng như một bộ dao động trên chip. Hình. Các kết nối của bộ dao động Không có yêu cầu nào về duty cycle của tín hiệu xung ngoài,vì ngõ nhập nối với mạch tạo xung nội là một flip-flop chia đôi, nhưng các chỉ đònh về thời gian high low, các mức áp tối đa tối thiểu phải được tuân theo. Các đặc trưng khác sẽ được trình bày một cách chi tiết hơn ở những phần tiếp theo sau đây. 3 Tổ chức bộ nhớ 8051/8031 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình dữ liệu. Như đã nói ở trên, cả chương trình dữ liệu có thể ở bên trong; dù vậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64 Kbytes bộ nhớ chương trình 64 Kbytes bộ nhớ dữ liệu. Bộ nhớ bên trong bao gồm ROM RAM trên chip, RAM trên chip bao gồm nhiều phần : phần lưu trữ đa dụng, phần lưu trữ đòa chỉ hóa từng bit, các bank thanh ghi các thanh ghi chức năng đặc biệt. Hai đặc tính cần lưu ý là : • Các thanh ghi các port xuất nhập đã được xếp trong bộ nhớ có thể được truy xuất trực tiếp giống như các đòa chỉ bộ nhớ khác. • Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoài như trong các bộ vi xử lý khác. Chi tiết về bộ nhớ RAM trên chip: Như ta thấy trên hình ( ), RAM bên trong 8051/8031 được phân chia giữa các bank thanh ghi (00H–1FH), RAM đòa chỉ hóa từng bit (20H–2FH), RAM đa dụng (30H–7FH) các thanh ghi chức năng đặc biệt (80H–FFH). 3.1 RAM đa dụng Mặc dù trên hình cho thấy 80 byte RAM đa dụng chiếm các đòa chỉ từ 30H– 7FH, 32 byte dưới cùng từ 00H đến 1FH cũng có thể được dùng với mục đích tương tự (mặc dù các đòa chỉ này đã có mục đích khác). Mọi đòa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng cách đánh đòa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở đòa chỉ 5FH của RAM nội vào thanh ghi tích lũy, lệnh sau sẽ được dùng : MOV A, 5FH Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh đòa chỉ trực tiếp để xác đònh “đòa chỉ nguồn” (5FH). Đích nhận dữ liệu được ngầm xác đònh trong mã lệnh là thanh ghi tích lũy A. RAM bên trong cũng có thể được truy xuất dùng cách đánh đòa chỉ gián tiếp qua R0 hay R1. Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn ở trên : Tóm tắt các vùng bộ nhớ của 8031/8051. MOV R0, #5FH MOV A, @R0 Lệnh đầu dùng đòa chỉ tức thời để di chuyển giá trò 5FH vào thanh ghi R0, lệnh thứ hai dùng đòa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi tích lũy. Bộ nhớ chương trình được chọn qua PSEN FFFF 0000 Bộ nhớ dữ liệu được chọn qua WR RD FFFF 0000 F 00 Bộ nhớ trên chip Bộ nhớ mở rộng Tóm tắt bộ nhớ dữ liệu trên chip. 3.2 RAM đòa chỉ hóa từng bit 8051/8031 chứa 210 bit được đòa chỉ hóa, trong đó 128 bit là ở các đòa chỉ byte 20H đến 2FH, phần còn lại là trong các thanh ghi chức năng đặc biệt. 7F 7E 7D 7C 7B 7A 79 78 2F 77 76 75 74 73 72 71 70 2 6F 6E 6D 6C 6B 6A 69 68 2 67 66 65 64 63 62 61 60 2 5F 5E 5D 5C 5B 5A 59 58 2 57 56 55 54 53 52 51 50 2 4F 4E 4D 4C 4B 4A 49 48 29 47 46 45 44 43 42 41 40 28 3F 3E 3D 3C 3B 3A 39 38 27 37 36 35 34 33 32 31 30 26 2F 2E 2D 2C 2B 2A 29 28 25 27 26 25 24 23 22 21 20 24 1F 1E 1D 1C 1B 1A 19 18 23 17 16 15 14 13 12 11 10 22 0F 0E 0D 0C 0B 0A 09 08 21 07 06 05 04 03 02 07 00 20 Bank 3 1F 18 Bank 2 17 10 Bank 1 0F 08 Bank thanh ghi 0 (mặc đònh cho R0 - R7) 07 00 RAM đa dụng 7F 30 RAM Đòa chỉ bit Đòa chỉ byte 87 86 85 84 83 82 81 80 80 P0 không được đòa chỉ hóa bit 81 SP không được đòa chỉ hóa bit 82 DPL không được đòa chỉ hóa bit 83 DPH không được đòa chỉ hóa bit 87 PCON 8F 8E 8D 8C 8B 8A 89 88 88 TCON không được đòa chỉ hóa bit 89 TMOD không được đòa chỉ hóa bit 8 TL0 không được đòa chỉ hóa bit 8 TL1 không được đòa chỉ ho ùa bit 8 TH0 97 96 95 94 93 92 91 90 90 P1 9F 9E 9D 9C 9B 9A 99 98 98 SCON không được đòa chỉ hóa bit 99 SBUF A A A A A A A A A P2 AF – – A C A B A A A9 A8 A IE – – – B C B B B A B9 B 8 B IP E7 E6 E5 E4 E3 E2 E1 E0 E ACC D D D D D D – D D PSW B B B B B B B B B P3 F7 F6 F5 F4 F3 F2 F1 F0 F0 B CÁC THANH GHI CHỨC NĂNG ĐẶC Đòa chỉ byte Đòa chỉ bit không được đòa c hỉ hóa bit 8 TH1 F Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi của vi điều khiển nói chung. Các bit có thể được đặt, xóa, AND, OR, với một lệnh đơn. Đa số các vi xử lý đòi hỏi một chuỗi lệnh đọc-sửa-ghi để đạt được hiệu quả tương tự. Hơn nữa, các port I/O cũng được đòa chỉ hóa từng bit làm đơn giản phần mềm xuất nhập từng bit. Có 128 bit được đòa chỉ hóa đa dụng ở các byte 20H đến 2FH. Các đòa chỉ này được truy xuất như các byte hoặc như các bit phụ thuộc vào lệnh được dùng. Ví dụ, để đặt bit 67H, ta dùng lệnh sau : SETB 67H 4.1Con trỏ ngăn xếp . Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở đòa chỉ 81H. Nó chứa đòa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ đọc dữ liệu giảm SP. Ngăn xếp của 8051/8031 được giữ trong RAM nội được giới hạn các đòa chỉ có thể truy xuất bằng đòa chỉ gián tiếp. Chúng là 128 byte đầu của 8051/8031. Để khởi động lại SP với ngăn xếp bắt đầu tại 60H,các lệnh sau đây được dùng: MOV SP, #5FH Trên 8051/8031 ngăn xếp bò giới hạn 32 byte vì đòa chỉ cao nhất của RAM trên chip là 7FH. Sở dó dùng giá trò 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ liệu đầu tiên. Người thiết kế có thể chọn không phải khởi động lại con trỏ ngăn xếp mà để nó lấy giá trò mặc đònh khi reset hệ thống. Giá trò mặc đònh đó là 07H kết quả là ngăn đầu tiên để cất dữ liệu có đòa chỉ là 08H. Nếu phần mềm ứng dụng không khởi động lại SP, bank thanh ghi 1 (có thể cả 2 3) sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp. Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH POP để lưu trữ tạm thời lấy lại dữ liệu, hoặc được truy xuất ngầm bằng các lệnh gọi chương trình con (ACALL, LCALL) các lệnh trở về (RET, RETI) để cất lấy lại bộ đếm chương trình. [...]... tích cực mức cao P2.0 P3.1 nối vào hai ngõ vào cổng AND của IC_74LS08.Ngõ ra cổng AND nối vào cực G của Q3 Khi P2.0 P3.1 cùng tích cực mức cao thì ngõ ra của cổng AND cũng tích cực mức cao dẫn đến G của Q3 cũng tích cực mức cao Q3 dẫn Tương tự , khi ta điều khiển quay nghòch thì ta điều khiển Q2 Q4 cùng dẫn Q1 Q3 cùng ngắt Khi đó P3.1 tích cực mức thấp còn P3.0 P2.1 cùng tích cực... hỏi điện áp cổng tác dụng liên tục Dòng điện đi vào mạch cổng điều khiển không đáng kể trừ khi mạch ở trạng thái quá độ , đóng hoặc ngắt dòng Lúc đó xuất hiện dòng phóng nạp điện cho tụ của mạch cổng Thời gian đóng ngắt rất nhỏ ,khoảng vài ns đến hàng trăm ns phụ thuộc vào linh kiện Điện trở trong của MOSFET khi dẫn điện Ron thay đổi phụ thuộc vào khả năng chòu áp của linh kiện Do đó , các linh... dẫn thiểu số ,không có quá trình sản sinh tái hợp của hai loại hạt dẫn cho nên tham số của MOSFET ít chiệu ảnh hưởng của nhiệt độ Ngõ vào của MOSFET có điện trở rất lớn , dòng điện vào gần như bằng không nên mạch vào hầu như không tiêu thụ năng lượng Điều này đặc biệt thích hợp cho việc khuếch đại các nguồn tín hiệu yếu ,hoặc nguồn có nội trở lớn Vai trò cực nguồn cực máng có thể đổi lẫn cho... tải có công suất lớn II CẤU TẠO HOẠT ĐỘNG : Linh kiện MOSFET có thể có cấu trúc pnp npn.Trên H.1.1 mô tả cấu trúc MOSFET loại npn Giửa lớp kim loại mạch cổng các mối nối n+ p có lớp điện môi silicon oxid SiO.Điểm thuận lợi cơ bản của MOSFET làkhả năng điều khiển kích đóng ngắt linh kiện bằng xung điện áp ở mạch cổng Khi điện áp dương áp đặt lên giửa cổng G Source(emitter), tác dụng của... FORW_PWM II.SƠ ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH VXL_PWM ĐIỀU KHIỂN ĐỘNG CƠ DC 5A Chương Trình điều khiển động cơ 5 tốc độ có đảo chiều động cơ với các bit điều khiển tốc độ là: TOCDO_100=P1.0 TOCDO_80=P1.1 TOCDO_60=P1.2 TOCDO_50=P1.3 TOCDO_40=P1.4 KTRA_THUAN=P1.6 KTRA_NGUOC=P1.7 P1.6=0 P1.7=1 Quay thuận P1.6=1 P1.7=0 Quay ngược P1.6=0 P1.7=0 &P1.6=1 P1.7=1 DỪNG động cơ Các bit điều khiển MOSFET:... đóng ngắt nhanh tổn hao do đóng ngắt thấp.Với cổng điều khiển bằng điện trường (điện áp) nên MOSFET còn được gọi là transistor trường có cực cửa cách ly.MOSFET được sử dụng nhiều trong các ứng dụng công suất nhỏ(vài kW) không thích hợp sử dụng cho các ứng dụng có công suất lớn.Tuy nhiên ,linh kiện MOSFET khi kết hợp với công nghệ linh kiện GTO lại phát huy hiệu quả cao chúng kết hợp với nhau... thu nhỏ thể tích transistor một cách đáng kể nhờ đó transistor trường rất thông dụng trong các vi mạch có mật độ tích hợp cao Còn trong lãnh vực điện tử công suất , MOSFET được sử dụng như một công tắc đóng ngắt các mạch điện PHẦN 3 :SƠ ĐỒ CẤU TẠOVÀ HOẠT ĐỘNG I SƠ ĐỒ CẤU TẠO : Sơ đồ cấu tạo của mạch điều khiển tốc độ động cơ một chiều (cả chiều thuận chiều nghòch) được cho dưới HÌNH 3.0 Sơ... A1015, IC 74LS08 các điện trở II.HOẠT ĐỘNG : 1) HOẠT ĐỘNG CỦA PHẦN CỨNG : Theo sơ đồ cấu tạo, để điều khiển động cơ DC quay thuận ta phải điều khiển Q1 Q3 cùng hoạt động (cùng dẫn) trong khi đó Q2 Q4 cùng không hoạt động(cùng ngắt) Q1 hoạt động khi P3.0 tích cực mức thấp Khi đó Q6 hoạt động dẫn đến OPTO hoạt động cực G của Q1 được nối lên nguồn 9V Q1 dẫn Q3 dẫn khi P2.0 P3.1 cùng tích... nạp giá trò cho nó một lần bằng phần mềm ở đầu chương trình để khởi tạo trò đặt chế độ timer Sau đó timer có thể bò dừng, cho chạy, v v bằng cách truy cập các SFR timer khác 4.3 Thanh Ghi Điều Khiển TIMER(TCON) Thanh ghi TCON chứa các bit điều khiển trạng thái cho timer0 timer1.Bốn bit cao của TCON(TCON.4-TCON.7)được dùng để bật ttimer chạy tắt timer(TF0,TF1) Bốn bit thấp trong TCON(TCON.0-TCON.3)không... để cho timer chạy hình Hình Cho chạy dừng các timer Xung nhòp timer TRx Các thanh ghi 0 = lên :timer dừng 1 = xuống :timer chạy Vì TRx ở trong thanh ghi TCON có đòa chỉ bit, do đó ta dễ dàng cho chạy dừng các timer trong chương trình Thí dụ, Timer 0 đượccho chạy bằng lệnh sau SETB TR0 làm nó dừng bằng CLR TR0 Assembler sẽ thực hiện chuyển đổi ký hiệu cần thiết từ TR0 thành đòa chỉ bit đúng

Ngày đăng: 10/06/2014, 11:41

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan