Tìm hiểu bảng tự động báo giá vàng và giá ngoại tệ
TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM Lời mở đầu Hiện đất nước ta chuyển theo phát triển chung giới khu vực Châu Á sản xuất đa dạng đầy tiềm Nền sản xuất không đòi hỏi số lượng lao động khổng lồ mà yêu cầu trình độ, chất lượng tay nghề, kỹ thuật lao động thiết bị sản xuất Trên đà phát triển đó, vấn đề tự động hoá trình sản xuất, nghiên cứu trở thành nhu cầu cần thiết Thoạt đầu vấn đề tự động hoá thực riêng lẻ từ khí hoá đến mạch điện tử Ngày nay, với đời vi mạch điều khiển máy vi tính đem lại ứng dụng ưu việt đẩy vấn đề tự động hoá lên bước cao Trong đó, việc ứng dụng máy vi tính để điều khiển đem lại kết đầy tính ưu việt Các thiết bị, hệ thống xử lý điều khiển ghép nối với máy vi tính có độ xác cao, thời gian thu thập số liệu ngắn thuận tiện cho người sử dụng Trên thực tế ta ứng dụng việc vào nhiều hệ thống hệ thống điều khiển thiết bị môi trường độc hại gây nguy hiểm cho người, hay hệ thống thông báo mà người trực tiếp thực hiện, làm giảm thời gian cập nhật thông tin liên tục bảng báo giá, lịch trình tàu xe,… Do đó, phạm vi hiểu biết cuả mình, em tìm hiểu thực đề tài: “Tìm hiểu bảng tự động báo giá vàng giá ngoại tệ” thông qua cổng nối tiếp, hướng dẫn cô Nguyễn Thị Minh Tâm Mặc dù chúng em cố gắng nhiều để hoàn thành đồ án này, song giới hạn thời gian kiến thức nên nội dung nhiều thiếu sót Rất Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM mong đóng góp ý kiến quý thầy cô để đổ án em được hoàn thiện Em xin chân thành cảm ơn MỤC LỤC CHƯƠNG : CƠ SỞ LÝ THUYẾT……………………… GIỚI THIỆU VỀ VI ĐIỀU KHIỂN ATMEGA32……………………… 1.1 Giới thiệu tổng quan cấu trúc Atmega32……………………………… 1.2 Khảo sát sơ đồ chân Atemega32, chức từng……………………………… 1.3 Tổ chức nhớ Atmega32…………………………………… 1.3.1 Bộ nhớ chương trình (Program memory) ………………………………… 1.3.2 Bộ nhớ liệu (data memory) …………………………………… 1.4 Các ghi chức …………………………………… 1.4.1 Thanh ghi trạng thái – Status Register…………………………………… 1.4.2 Tập ghi làm việc đa – General Purpose Register File……… 1.4.3 Thanh ghi X, Y Z…………………………………… 1.4.4 Con trỏ ngăn xếp – Stack Pointer (SP) …………………………………… GIỚI THIỆU VỀ VISUAL BASIC……………………… 2.1 Giới thiệu tổng quát visua basic…………………………………… 2.1.1 Bắt đầu với Visual Basic(VB) …………………………………… 2.1.2 Lập trình hướng đối tượng Visual Basic …………………………… 2.1.3 Giới thiệu Điều khiển (Control) …………………………………… 2.1.4 Cơ sở lập trình …………………………………… 2.1.4.1 Biến…………………………………… Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM 2.1.4.2 Các cấu trúc điều khiển …………………………………… 2.2 Visua basic với truyền thông nối tiếp kĩ thuật ghép nối máy tính…………… GIỚI THIỆU VỀ CHUẨN GIAO TIẾP RS232 VÀ IC GHÉP NỐI MAX232 3.1 Chuẩn giao tiếp RS232…………………………………… 3.1.1 Đặt vấn đề…………………………………… 3.1.2 Ưu điểm giao diện nối tiếp RS232…………………………………… 3.1.3 Những đặc điểm cần lưu ý chuẩn RS232…………………………… 3.1.4 Các mức điện áp đường truyền…………………………………… 3.1.5 Cổng RS232 PC…………………………………… 3.1.6 Quá trình liệu…………………………………… 3.2 IC ghép nối Max232…………………………………… GIỚI THIỆU VỀ IC THỜI GIAN THỰC DS1307……………………… 4.1 Sơ đồ chân chức Max232…………………………………… 4.2 Cấu tạo chức ghi đặc biệt…………………………………… GIỚI THIỆU VỀ IC GHI DỊCH 74HC595……………………… 5.1 Sơ đồ chân chức 74HC595………………………………… 5.2 Cấu tạo thông số đặc biệt………………………………………………… CHƯƠNG : THIẾT KẾ VÀ THI CÔNG……………………… THIẾT KẾ VÀ TÍNH TOÁN MẠCH PHẦN CỨNG……………………… 1.1 Nguyên Lý hoạt động khối nguồn…………………………………… 1.2 Nguyên lý hoạt động khối điều khiển chính…………………………………… 1.3 Nguyên lý hoạt động khối ghép nối Atmega32 với Max232…………………… 1.4 Nguyên Lý hoạt động khối hiển thị…………………………………… Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM THI CÔNG PHẦN CỨNG……………………… Thi công board mạch Atmega32 (mainboard) ………………………………… 2.2 Thi công mạch quang báo (màn hình) …………………………………… 2.1 CHƯƠNG TRÌNH XỬ LÝ……………………… 3.1 Chương trình vi điều khiển…………………………………… 3.2 Chương trình máy tính…………………………………… CHƯƠNG : KẾT QUẢ THI CÔNG VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI KẾT QUẢ THI CÔNG……………………… HƯỚNG PHÁT TRIỂN ĐỀ TÀI……………………… CHƯƠNG : TÀI LIỆU THAM KHẢO……………………… Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM CHƯƠNG : CƠ SỞ LÝ THUYẾT GIỚI THIỆU VỀ VI ĐIỀU KHIỂN ATMEGA32 1.1 Giới thiệu tổng quan cấu trúc Atmega32 ATMEGA32 loại vi điều khiển CMOS, nguồn thấp, bit, xây dựng tảng cấu trúc tập lệnh thu gọn tiên tiến cho AVR (Enhanced AVR RISC architecture) • RISC – Reduced Instruction Set Computer • CISC – Complex Instruction Set Computer Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM Hình 1.1: Sơ đồ cấu trúc bên Atmega32 Khả thực thi 1MIPS (Mega Instruction Per Second) 1MHz Bao gồm 32 ghi làm việc (General Purpose Working Register) liên kết trực tiếp với xử lý số học ALU (Arithmetic Logic Unit) Gồm tính sau: • 32K Flash có khả lập trình tương thích hoạt động Read-WhileWrite • 1024B EEPROM • 2K SRAM Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM • 32 GPIO • 32 ghi làm việc • Ngõ JTAG • Tính On-chip debug • Timer/Counter • Internal External Interrupt • USART • TWI • kênh ADC 10-bit • Watchdog timer • SPI • Tính ISP thông qua cổng SPI Boot Loader Lõi AVR sử dụng kiến trúc Harvard – với bus riêng biệt cho chương trình liệu Lệnh từ nhớ chương trình thực thi thông qua ống đơn cấp Khi lênh thực thi, lệnh nhốt (pre-fetch) từ nhớ chương trình, cho phép lệnh thực thi chu kì clock Các 32 ghi (8bit) làm việc cho phép truy xuất nhanh chu kỳ clock Trong hoạt động thông thường ALU, toán hạng xuất từ ghi làm việc, lệnh thực thi, kết lưu ngược lại ghi làm việc chu kì clock số 32 ghi dùng trỏ địa gián tiếp 16-bit sử dụng cho địa không gian liệu ghi địa dùng trỏ địa look-up table nhớ Flash Bộ ALU hỗ trợ hoạt động tính toán số học logic ghi với nhau, hay ghi với số Các hoạt động ghi đơn thực ALU Sau tính toán, ghi trạng thái (Status Register) cập nhật thông tin liên quan đến kết tính toán Dòng chương trình (Program Flow) Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM cung cấp lệnh nhảy có điều kiện không điều kiện, định địa chì trực tiếp đến toàn không gian địa Hầu hết lệnh AVR dạng 16-bit Mỗi địa nhớ chương trình chứa lệnh 16 32-bit Bộ nhớ chương trình chia làm phần: Boot Loader vùng ứng dụng Cả sử dụng lockbit để bảo vệ đọc/ghi Lệnh SPM thực thi việc ghi liệu vào vùng flash ứng dụng phải đặt vùng Boot Loader Trong trình ngắt hay hàm/chương trình gọi, địa trả đếm chương trình lưu ngăn xếp (stack) Stack phân bồ hiệu phần nhớ SRAM, vậy, độ lớn stack phụ thuộc vào SRAM việc sử dụng SRAM Chương trình người dùng cần phải khởi tạo giá trị cho SP – Con trỏ ngăn xếp (Stack Pointer) chương trình sau reset trước thực việc gọi hàm hay chương trình ngắt thực thi Module ngắt linh hoạt có ghi điều khiển riêng không gian IO có bit cho phép ngắt toàn cục ghi trạng thái (Status Register) Tất ngắt có vector ngắt riêng bảng vector ngắt Các ngắt có ưu tiên ngắt theo vị trí ngắt Địa ngắt thấp độ ưu tiên ngắt cao 1.2 Khảo sát sơ đồ chân Atemega32, chức chân Dưới hình vẽ sơ đồ chân VĐK At mega32: Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM Hinh1.2: Sơ đồ chân Atmega32 • • At mega32 gồm có port: port A, port B, port C port D Port A gồm chân từ PA0 đến PA7: cổng vào tương tự cho chuyển đổi tương tự sang số Nó cổng vào/ra hai hướng bit trường hợp không sử sụng lam cổng chuyển đổi tương tự, có điện trở nối lên nguồn dương bên Port A cung cấp đường địa liệu vào/ra theo • kiểu hợp kênh dùng nhớ bên ngoai Port B gồm chân từ PB0 đến PB7: cổng vào/ra hai hướng bit, có điện trở nối lên nguồn dương bên Port B cung cấp chức ứng với • tính đặc biệt Atmega32 Port C gồm chân từ PC0 đến PC7: cổng vào/ra hai hướng 8bit, co điện trở nối lên nguồn dương bên Port C cung cấp địa lối sử dụng nhớ bên va đồng thời cung cấp ứng với tinh • đặc biệt Atmega32 Port D gồm chân từ PD0 đến PD7: cổng vào/ra hai hướng bit, có điện trở nối lên nguồn dương bên Port D cung cấp chức • ứng với tinh đặc biệt Atmega32 Chân nguồn Vcc (chân số 10 chân số 30): điện áp nguồn nuôi Atmega32 từ 4.5v đến 5.5v Page TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM • • • Chân Reset (chân số 9): lối vào đặt lại Chân GND (chân số 11 chân 31): chân nối mass Chân XTAL1, XTAL2 hai chân nối thạch anh (chân số 12 chân số • 13) Atmega32 sử dụng thạch anh 8MHz Chân ICP(chân số 20): chân vào cho chức bắt tin hiệu cho định • thời/đếm Chân OC1B(chân số 18): chân cho chức so sánh lối định • thời/đếm Chân INT1(chân số 17): chân ngõ vào ngắt 1.3 Tổ chức nhớ Atmega32 Bộ nhớ ATMEGA32 bao gồm phần: nhớ chương trình nhớ liệu Trong ATMEAG32 có nhớ EEPROM để lưu trữ liệu 1.3.1 Bộ nhớ chương trình (Program memory) Là nhớ Flash lập trình được, chip AVR cũ (như AT90S1200 hay AT90S2313…) nhớ chương trình gồm phần Application Flash Section chip AVR có thêm phần Boot Flash setion Thực chất, application section bao gồm phần: phần chứa instruction (mã lệnh cho hoạt động chip) phần chứa vector ngắt (interrupt vectors) Các vector ngắt nằm phần đầu application section (từ địa 0x0000) dài đến tùy thuộc vào loại chip Phần chứa instruction nằm liền sau đó, chương trình viết cho chip phải load vào phần Page 10 2400 bps, 4800 bps, 9600 bps, 14.4 kbps, 28.8 kbps, 33.6 kbps, 56 kbps), chiều dài ký tự 5, 6, bit kết hợp với bit start bit stop, bit parity (chẵn lẻ) để tạo thành frame (khung truyền) Ngoài đường truyền liệu, port giao tiếp có đường điều khiển thu, phát, kiểm tra lỗi Cách giao tiếp cho phép truyền khoảng cách lớn khả chống nhiễu nhỏ Mặt khác đường truyền nối tiếp nên thành viên thứ ba tham gia vào trao đổi thông tin Ưu điểm lớn kiểu giao tiếp sử dụng đường truyền, nhiễu tín hiệu nên truyền quãng đường xa…Nhưng mặc khác chất truyền thông nối tiếp nên cổng nối tiếp không sử dụng cho ứng dụng thời gian thực hay điều khiển song song…Có giải pháp cho vấn đề sử dụng cổng song song • Giao tiếp qua cổng máy in (cổng song song) Máy in giao tiếp với máy tính nhờ vào ổ cắm 25 chân phía sau máy tính Ổ cắm dành riêng cho cổng máy in mà sử dụng mục đích đo lường điểu khiển Qua ổ cắm liệu truyền song song nên gọi cổng ghép nối song song tốc độ truyền liệu đạt tới mức đáng kể Bên cạnh bit liệu có đường dẫn tín hiệu khác, tổng cộng ta trao đổi cách riêng biệt với 17 đường dẫn tín hiệu bao gồm 12 đường dẫn đường dẫn vào Bởi đường dẫn liệu từ D0 đến D7 (từ chân đến chân 9) đường dẫn hai chiều nên sử dụng lối Các lối khác chân (STORE), chân 14 (AUTOFEED), chân 16 (INT), chân 17 (SELECT) Khi trao đổi thông tin với thông tin với máy in, đường dẫn có thông tin định Nhìn chung giao tiếp qua cổng máy in tương đối dễ dàng thuận tiện, mặc khác theo chuẩn TTL nên phù hợp cho mục đích giao tiếp GIỚI THIỆU VỀ CHUẨN GIAO TIẾP RS232 VÀ IC GHÉP NỐI MAX232 Hinh1.12: Cổng giao tiếp RS232 IC ghép nối Max232 3.1 Chuẩn giao tiếp RS232 Ngày thiết bị đo lường, điều khiển phải giao tiếp với máy tính để quan sát thông số chế độ hoạt động thiết bị nào? Chuẩn giao tiếp coi đơn giản dễ dùng RS232 Hầu thiết bị giao tiếp với máy tính thông qua chuẩn 3.1.1 Đặt vấn đề Vấn đề giao tiếp PC vi điều khiển quan trọng ứng dụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 kỹ thuật sử dụng rộng rãi để ghép nối thiết bị ngoại vi với máy tính.Nó chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều thiết bị , chiều dài kết nối lớn cho phép để đảm bảo liệu 12.5 đến 25.4m, tốc độ 20kbit/s tốc độ 115kbit/s với số thiết bị đặc biệt Ý nghĩa chuẩn truyền thông nối tiếp nghĩa thời điểm có bit gửi dọc theo đườn truyền Có hia phiên RS232 lưu hành thời gian tương đối dài RS232B RS232C Nhưng phiên RS232B cũ dùng RS232C dùng tồn thường gọi tên ngẵn gọn chuẩn RS232 Các máy tính thường có cổng nối chuẩn RS232C gọi cổng Com Chúng dùng ghép nối cho chuột, modem, thiết bị đo lường Trên main máy tính có loại chân lại 25 chân tùy vào đời máy main máy tính Việc thiết kế giao tiếp với cổng RS232 tương đối dễ dàng, đặc biệt chọn chế độ hoạt động không đồng tốc độ truyền liệu thấp 3.1.2 Ưu điểm giao diện nối tiếp RS232 • • Khả chống nhiễu cổng nối tiếp cao Thiết bị ngoại vi tháo lắp máy tính cấp • điện Các mạch điện đơn giản nhận điện áp nguồn nuôi qua công nối tiếp 3.1.3 Những đặc điểm cần lưu ý chuẩn RS232 • Trong chuẩn RS232 có mức giới hạn (logic 1) +12V Hiện cố định trở kháng tải phạm vi từ 3000 • ôm - 7000 ôm Mức logic có điện áp nằm khoảng -3V đến -12V, mức logic từ • +-3V đến 12V Tốc độ truyền nhận liệu cực đại 100kbps ( ngày lớn • • • hơn) Các lối vào phải có điện dung nhỏ 2500pF Trở kháng tải phải lớn 3000 ôm phải nhỏ 7000 ôm Độ dài cáp nối máy tính thiết bị ngoại vi ghép nối qua cổng • nối tiếp RS232 không vượt qua 15m không sử model Các giá trị tốc độ truyền liệu chuẩn : 50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 566 00,115200 bps 3.1.4 Các mức điện áp đường truyền RS 232 sử dụng phương thức truyền thông không đối xứng, tức sử dụng tín hiệu điện áp chênh lệch dây dẫn đất Do từ đời mang vẻ lỗi thời chuẩn TTL, vấn sử dụng mức điện áp tương thích TTL để mô tả mức logic Ngoài mức điện áp tiêu chuẩn cố định giá trị trở kháng tải đấu vào bus phận trở kháng phát Mức điện áp tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) mô tả sau: • Mức logic : +3V , +12V • Mức logic : -12V, -3V Các mức điện áp phạm vi từ -3V đến 3V trạng thái chuyển tuyến Chính từ - 3V tới 3V phạm vi không định nghĩa, trường hợp thay đổi giá trị logic từ thấp lên cao từ cao xuống thấp, tín hiệu phải vượt qua quãng độ thơì gian ngắn hợp lý Điều dẫn đến việc phải hạn chế điện dung thiết bị tham gia đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài dây dẫn Đa số hệ thống hỗ trợ với tốc độ 19,2 kBd 3.1.5 Cổng RS232 PC Hầu hết máy tính cá nhân trang bị cổng Com hay cổng nối tiếp RS232 Số lượng cổng Com lên tới tùy loại main máy tính Khi cổng Com đánh dấu Com 1, Com 2, Com Trên có loại đầu nối sử dụng cho cổng nối tiếp RS232 loại chân (DB9) 25 chân (DB25) Tuy hai loại đầu nối có song song hai loại đầu nối phân biệt cổng đực (DB9) cổng (DB25) Ta xét sơ đồ chân cổng Com chân: Hinh1.13: Cổng ghép nối RS232 Trên kí hiệu chân hình dạng cổng DB9 Chức chân sau: • chân : Data Carrier Detect (DCD) : Phát tín hiệu mang liệu • chân 2: Receive Data (RxD) : Nhận liệu • chân : Transmit Data (TxD) : Truyền liệu • chân : Data Termial Ready (DTR) : Đầu cuối liệu sẵn sàng • • kích hoạt phận muốn truyền liệu chân : Singal Ground ( SG) : Mass tín hiệu chân : Data Set Ready (DSR) : Dữ liệu sẵn sàng, kích hoạt • truyền sẵn sàng nhận liệu chân : Request to Send : yêu cầu gửi,bô truyền đặt đường lên mức • hoạt động sẵn sàng truyền liệu chân : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường lên mức kích hoạt động để thông báo cho truyền sẵn sàng nhận tín • hiệu chân : Ring Indicate (RI) : Báo chuông cho biết nhận nhận tín hiệu rung chuông Còn DB28 hầu hết main cổng Nên không đề cập đến 3.1.6 Quá trình liệu • Quá trình truyền liệu Truyền liệu qua cổng nối tiếp RS232 thực không đồng Do nên thời điểm có bit truyền (1 kí tự) Bộ truyền gửi bit bắt đầu (bit start) để thông báo cho nhận biết kí tự gửi đến lần truyền bit tiếp the Bit bắt đầu mức Tiếp theo bit liệu (bits data) gửi dạng mã ASCII( 5,6,7 hay bit liệu) Sau Parity bit ( Kiểm tra bit chẵn, lẻ hay không) cuối bit dừng - bit stop 1, 1,5 hay bit dừng • Tốc độ Baud Đây tham số đặc trưng RS232 Tham số đặc trưng cho trình truyền liệu qua cổng nối tiếp RS232 tốc độ truyền nhận liệu hay gọi tốc độ bit Tốc độ bit định nghĩa số bit truyền thời gian giây hay số bit truyền thời gian giây Tốc độ bit phải thiết lập bên phát bên nhận phải có tốc độ ( Tốc độ vi điều khiển máy tính phải chung tốc độ truyền bit) Ngoài tốc độ bit tham số để mô tả tốc độ truyền tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa liệu sử dụng để diễn tả bit truyền tôc độ bit phản ánh tốc độ thực tế mà bit truyền.Vì phần tử báo hiệu mã hóa bit nên hai tốc độ bit tốc độ baud phải đồng Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ 19200 Khi sử dụng chuẩn nối tiếp RS232 yêu cầu sử dụng chuẩn thời gian chuyển mức logic không vượt 4% thời gian truyền bit Do vậy, tốc độ bit cao thời gian truyền bit nhỏ thời gian chuyển mức logic phải nhỏ Điều làm giới hạn tốc Baud khoảng cách truyền • Bit chẵn lẻ hay Parity bit Đây bit kiểm tra lỗi đường truyền Thực chất trình kiểm tra lỗi truyền liệu bổ xung thêm liệu truyền để tìm sửa số lỗi trình truyền Do chuẩn RS232 sử dụng kỹ thuật kiểm tra chẵn lẻ Một bit chẵn lẻ bổ sung vào liệu truyền để ch thấy số lượng bit "1" gửi khung truyền chẵn hay lẻ Một Parity bit tìm số lẻ lỗi chả hạn 1,3,,5,7,9 Nếu bit chẵn mắc lỗi Parity bit trùng giá trị với trường hợp không mắc lỗi không phát lỗi Do kỹ thuật mã hóa lỗi không sử dụng trường hợp có khả vài bit bị mắc lỗi 3.2 IC ghép nối Max232 Max232 IC chuyên dùng cho giao tiếp RS232 thiết bị ngoại vi Max232 IC hãng Maxim Đây IC chay ổn định sử dụng phổ biến mạch giao tiếp chuẩn RS232 Giá thành Max232 phù hợp (12K hay 10K) tích hợp hai kênh truyền cho chuẩn RS232 Dòng tín hiệu thiết kế cho chuẩn RS232 Mỗi đầu truyền cổng nhận tín hiệu bảo vệ chống lại phóng tĩnh điện ( 15KV) Ngoài Max232 thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ Khi vi mạch MAX232 nhận mức TTL để chuyển đổi, thay đổi logic TTL đến +3 15 V, thay đổi TTL logic đến -3 đến -15 V, ngược lại để chuyển đổi từ RS232 để TTL Điều gây nhầm lẫn bạn nhận điện áp truyền liệu RS232 trạng thái logic định đối diện với dòng điều khiển RS232 điện áp trạng thái logic Để làm rõ vấn đề này, xem bảng Để biết thêm thông tin, xem mức điện áp RS-232 Điện Loại đường RS232 mức logic Điện áp RS232 Truyền liệu (Rx / Tx) logic V đến 15 V 0V Truyền liệu (Rx / Tx) logic -3 V đến -15 V 5V áp TTL đến / từ MAX232 Tín hiệu điều khiển (RTS / CTS / DTR / DSR) logic Tín hiệu điều khiển (RTS / CTS / DTR / DSR) logic -3 V đến -15 V 5V V đến 15 V 0V Bang1.2: Mức điện áp RS232 Mạch giao tiếp RS232 dùng IC Max232 : Hinh1.15: Mạch giao tiếp RS232 IC Max232 GIỚI THIỆU VỀ IC THỜI GIAN THỰC DS1307 4.1 Sơ đồ chân chức DS1307 DS1307 chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm thời gian thực dùng với ý nghĩa thời gian tuyệt đối mà người sử dụng, tình giây, phút, giờ…DS1307 sản phẩm Dallas Semiconductor (một công ty thuộc Maxim Integrated Products) Chip có ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm Ngoài DS1307 có ghi điều khiển ngõ phụ 56 ghi trống dùng RAM DS1307 đọc ghi thông qua giao diện nối tiếp I2C (TWI AVR) nên cấu tạo bên đơn giản DS1307 xuất gói SOIC DIP có chân hình 1.16 Hình1.16: Hai gói cấu tạo chip DS1307 Các chân DS1307 mô tả sau: • X1 X2: ngõ kết nối với thạch anh 32.768KHz làm nguồn tạo dao • • • động cho chip VBAT: cực dương nguồn pin 3V nuôi chip GND: chân mass chung cho pin 3V Vcc Vcc: nguồn cho giao diện I2C, thường 5V dùng chung với vi điều khiển Chú ý Vcc không cấp nguồn VBAT cấp • DS1307 hoạt động (nhưng không ghi đọc được) SQW/OUT: ngõ phụ tạo xung vuông (Square Wave / Output Driver), tần số xung tạo lập trình Như chân không liên quan đến chức DS1307 đồng hồ thời gian thực, • bỏ trống chân nối mạch SCL SDA đường giao xung nhịp liệu giao diện I2C mà tìm hiểu TWI AVR 4.2 Cấu tạo chức ghi dặc biệt Cấu tạo bên DS1307 bao gồm số thành phần mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao điện I2C, trỏ địa ghi (hay RAM) Do đa số thành phần bên DS1307 thành phần “cứng” nên nhiều việc sử dụng DS1307 Sử dụng DS1307 chủ yếu ghi đọc ghi chip Bộ nhớ DS1307 có tất 64 ghi 8-bit đánh địa từ đến 63 (từ 0x00 đến 0x3F theo hệ hexadecimal) Tuy nhiên, thực chất có ghi đầu dùng cho chức “đồng hồ” (tôi gọi RTC) lại 56 ghi bỏ trông dùng chứa biến tạm RAM muốn Bảy ghi chứa thông tin thời gian đồng hồ bao gồm: giây (SECONDS), phút (MINUETS), (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH) năm (YEAR) Việc ghi giá trị vào ghi tương đương với việc “cài đặt” thời gian khởi động cho RTC Việc đọc giá từ ghi đọc thời gian thực mà chip tạo Ví dụ, lúc khởi động chương trình, ghi vào ghi “giây” giá trị 42, sau 12s đọc ghi này, thu giá trị 54 Thanh ghi thứ (CONTROL) ghi điều khiển xung ngõ SQW/OUT (chân 6) Tuy nhiên, không dùng chân SQW/OUT nên có thề bỏ qua ghi thứ Tổ chức nhớ DS1307 trình bày hình 1.17 Hình1.17: Tổ chức nhớ DS1307 Vì ghi quan trọng hoạt động DS1307, khảo sát ghi cách chi tiết Trước hết quan sát tổ chức theo bit ghi hình 1.18 Hình 1.18 Tổ chức ghi thời gian • Thanh ghi giây (SECONDS): ghi ghi nhớ DS1307, địa 0x00 Bốn bit thấp ghi chứa mã BCD 4-bit chữ số hàng đơn vị giá trị giây Do giá trị cao chữ số hàng chục (không có giây 60 !) nên cần bit (các bit SECONDS6:4) mã hóa (số =101, bit) Bit cao nhất, bit 7, ghi điều khiển có tên CH (Clock halt – treo đồng hồ), bit set dao động chip bị vô hiệu hóa, đồng hồ không hoạt động Vì vậy, thiết phải reset bit • xuống từ đầu Thanh ghi phút (MINUTES): có địa 0x01, chứa giá trị phút đồng hồ Tương tự ghi SECONDS, có bit ghi • dùng lưu mã BCD phút, bit luôn Thanh ghi (HOURS): nói ghi phức tạp DS1307 Thanh ghi có địa 0x02 Trước hết 4-bits thấp ghi dùng cho chữ số hàng đơn vị Do DS1307 hỗ trợ loại hệ thống hiển thị (gọi mode) 12h (1h đến 12h) 24h (1h đến 24h) giờ, bit6 (màu green hình 4) xác lập hệ thống Nếu bit6=0 hệ thống 24h chọn, bit cao dùng mã hóa chữ số hàng chục giá trị Do giá trị lớn chữ số hàng chục trường hợp (=10, nhị phân) nên bit đủ để mã hóa Nếu bit6=1 hệ thống 12h chọn, với trường hợp có bit dùng mã hóa chữ số hàng chục giờ, bit (màu orange hình 4) buổi ngày, AM PM Bit5 =0 AM bit5=1 PM Bit (thiết kế dở, dời hẳn bit mode A-P sang • bit đơn giản hơn) Thanh ghi thứ (DAY – ngày tuần): nằm địa chĩ 0x03 Thanh ghi DAY mang giá trị từ đến tương ứng từ Chủ nhật đến thứ tuần Vì thế, có bit thấp ghi có nghĩa Các ghi lại có cấu trúc tương tự, DATE chứa ngày tháng (1 đến 31), MONTH chứa tháng (1 đến 12) YEAR chứa năm (00 đến 99) Chú ý, DS1307 dùng cho 100 năm, nên giá trị năm có chữ số, phần đầu năm người dùng tự thêm vào (ví dụ 20xx) Ngoài ghi nhớ, DS1307 có ghi khác nằm riêng gọi trỏ địa hay ghi địa (Address Register) Giá trị ghi địa ghi nhớ mà người dùng muốn truy cập Giá trị ghi địa (tức địa nhớ) set lệnh Write GIỚI THIỆU VỀ IC GHI DỊCH 74HC595 5.1 Sơ đồ chân chức 74HC595 74HC595 ic ghi dịch 8bit kết hợp chốt liệu , đầu vào nối tiếp đầu song song Chức : Thường dùng mạch quét led , led matrix …để tiết kiệm số chân VDK tối đa (3 chân) Có thể mở rộng số chân vi điều khiển tùy thích mà k ic làm dc việc mắc nối tiếp đầu vào liệu ic với Sơ đồ chân : Hinh1.19: Sơ đồ chân 74HC595 Giải thích ý nghĩa hoạt động số chân quan trọng • (input) Chân 14 : đầu vào liệu nối tiếp Tại thời điểm xung clock đưa vào bit • (output) QA=>QH : chân (15,1,2,3,4,5,6,7) Xuất liệu chân chân 13 tích cực mức thấp có xung tích cực sườn âm chân chốt 12 • (output-enable) Chân 13 : Chân cho phép tích cực mức thấp (0) Khi mức cao, tất đầu 74595 trở trạng thái cao trở, đầu cho phép • (SQH) Chân 9: Chân liệu nối tiếp Nếu dùng nhiều 74595 mắc nối tiếp chân đưa vào đầu vào dịch đủ 8bit (Shift clock) Chân 11: Chân vào xung clock Khi có xung clock tích cực sườn dương(từ lên 1) 1bit dịch vào ic • (Latch clock) Chân 12 : xung clock chốt liệu Khi có xung clock tích cực sườn dương cho phép xuất liệu chân output lưu ý xuất liệu lúc bạn muốn ,ví dụ đầu vào chân 14 dc bit có xung clock chân 12 liệu chân Qa Qb (chú ý chiều dịch liệu từ Qa=>Qh) • (Reset) Chân 10: chân mức thấp(mức 0) liệu bị xóa chip) 5.2 Cấu tạo thông số đặc biệt Hinh1.20: Sơ đồ cấu tạo 74HC595 Đây ic đầu hoạt động mức &1 dòng tầm 35mA điện áp hoạt động [...]... thực, • chúng ta sẽ bỏ trống chân này khi nối mạch SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C mà chúng ta đã tìm hiểu trong bài TWI của AVR 4.2 Cấu tạo và chức năng các thanh ghi dặc biệt Cấu tạo bên trong DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao điện I2C, con trỏ địa chỉ và các thanh ghi (hay RAM) Do đa số các thành phần bên... thanh ghi điều khiển của từng ngoại vi đó Một khi bit cho phép ngắt toàn cục bị xóa thì cho dù bit cho phép ngắt của ngoại vi nào đó được bật lên, ngắt cũng không thể xảy ra Lưu ý: Bit toàn cục này sẽ bị xóa tự động bằng phần cứng khi có ngắt nào đó xảy ra Và nó được set trở lại tự động bằng phần cứng khi lệnh RETI (lệnh quay về từ chương trình ngắt) được thực thi Bit toàn cục cũng có thể được set/clear... riêng và có địa chỉ tính từ 0x0000 1.4 Các thanh ghi chức năng Page 14 TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM 1.4.1 Thanh ghi trạng thái – Status Register Thanh ghi này chứa kết quả liên quan đến lệnh xử lý số học gần nhất Kết quả chứa trong thanh ghi này có thể được sử dụng để thực hiện các hoạt động có điều kiện Thanh ghi trạng thái không tự động lưu lại khi nhảy vào interrupt và. .. đối từ 0x0000 đến 0x001F Mỗi thanh ghi có thể chứa giá trị dương từ 0 đến 255 hoặc các giá trị có dấu từ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanh ghi này được đặt tên theo thứ tự là R0 đến R31 Chúng được Page 11 TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM chia thành 2 phần, phần 1 bao gồm các thanh ghi từ R0 đến R15 và phần 2 là các thanh ghi R16 đến R31 Các thanh ghi... khi nhảy vào interrupt và cũng không tự động phục hồi (restore) khi quay về, cần thực hiện điều này bằng phần mềm Hinh1.6: Thanh ghi trạng thái – Status Register • Bit 7 – I: Global Interrupt Enable Bit cho phép ngắt toàn cục Bit này cần được set để hoạt động ngắt được kích hoạt Việc cho phép ngoại vi nào ngắt được thực hiện trong các thanh ghi điều khiển của từng ngoại vi đó Một khi bit cho phép ngắt... I/O là cửa ngõ giao tiếp giữa CPU và thiết bị ngoại vi Tất cả các thanh ghi điều khiển, trạng thái…của thiết bị ngoại vi đều nằm ở đây Xem lại ví dụ trong bài 1, trong đó tôi có đề cập về việc điều khiển các PORT của AVR, mỗi PORT liên quan đến 3 thanh ghi DDRx, PORTx và PINx, tất cả 3 thanh ghi này đều nằm trong vùng nhớ I/O Xa hơn, nếu muốn truy xuất các thiết bị ngoại vi khác như Timer, chuyển đổi... 1.4.3 Thanh ghi X, Y và Z Page 16 TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI GVHD: Th.s NGUYỄN THỊ MINH TÂM Hinh1.8: Thanh ghi X, Y và Z Các thanh ghi làm việc từ R26 R31 có các chức năng phụ trợ Những thanh ghi này là con trỏ địa chỉ 16-bit để định địa chỉ gián tiếp trong không gian dữ liệu Trong các chế độ định địa chỉ khác nhau, các thanh ghi này có các chức năng như chuyển dịch cố định, tự động tăng/giảm 1.4.4... GVHD: Th.s NGUYỄN THỊ MINH TÂM trình interrupt và subroutine phân bổ Không gian cho stack phải được chương trình phần mềm định nghĩa trước khi thực thi subrountine hay ngắt xảy ra (kích hoạt ngắt) SP cần phải trỏ tới địa chỉ từ trên $60 SP sẽ giảm đi 1, khi dữ liệu được cất vào stack sau khi thực hiện lệnh PUSH, và stack sẽ giảm đi 2 khi giá trị trả về được cất vào stack khi gọi subrountine hay chương trình... 2.1.4.1 Biến: • Được dùng để lưu trữ tạm thời các giá trị trong quá trình tính toán của chương trình Giá trị mà ta lưu trữ trong biến có thể là những số nguyên, số thực, hay con chữ cái mà ta gọi là kiểu biến Vì là thành phần lưu trữ tạm thời nên biến sẽ tự động mất đi khi kết thúc chương trình hay thậm chí khi kết thúc một câu lệnh • Trong VB, biến được khai báo theo cấu trúc: Page 22 TRƯỜNG ĐH CÔNG NGHIỆP... qua cổng máy in tương đối dễ dàng và thuận tiện, mặc khác do theo chuẩn TTL nên rất phù hợp cho mục đích giao tiếp 3 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP RS232 VÀ IC GHÉP NỐI MAX232 Hinh1.12: Cổng giao tiếp RS232 và IC ghép nối Max232 3.1 Chuẩn giao tiếp RS232 Ngày nay các thiết bị đo lường, điều khiển đều phải giao tiếp với máy tính để quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn