1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế môn học Chủ đề : thiết kế máy tính đơn giản

12 2 0

Đ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

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC GIAO THÔNG VẬN TẢI HÀ NỘI KHOA ĐIỆN – ĐIỆN TỬ ====XxX==== BÀI TẬP LỚN KỸ THUẬT VI XỬ LÝ Đề số 16 LỚP : Trang bị điện – điện tử CN & GTVT K54 GIÁO VIÊN HƯỚNG DẪN : Lương Hữu Ngọc Trần Văn Bảo Trần Trung Hịa Mai Gia Thiệu K53 Lê Văn Hồng K53 Nguyễn Bá Tùng K53 Hà Nội – 10/2013 Thiết kế môn học Chủ đề : thiết kế máy tính đơn giản Mục lục Phần I Kiến thức Ma trận phím a.Sơ đồ ma trân phím b.Cách nhận biết phím LCD - Giao tiếp lập trình vi điều khiển a.Các chân chức b.Tập lệnh thường dùng Phần II.Thiết kế lập trình máy tính đơn giản 1.Sơ đồ phần cứng Chương trình Phần I Kiến thức Ma trận phím a.Sơ đồ ma trận phím (mắc them trở treo vào nút bấm để nút bấm hoạt động ổn định ) b.Cách nhận biết phím - Xác hàng có phím bấm + cho hàng đầu vào, cột đầu (tức cho hàng 1,cột 0) + Kiểm tra xem có hàng “0” hay khơng,nếu khơng khơng có phím bấm,nếu có kiểm tra xem hàng bấm  Hàng có phím bấm - Xác định cột có phím bấm + cho cột đầu vào, hàng đầu (tức cho hàng 0,cột 1) + Kiểm tra xem có cột “0” hay khơng,nếu khơng khơng có phím bấm,nếu có kiểm tra xem hàng bấm  Cột có phím bấm  Phím bấm giao hàng cột LCD - Giao tiếp lập trình vi điều khiển a.Các chân chức Chân số Tên Chức VSS Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển VDD Vee Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển Chân dùng để điều chỉnh độ tương phản LCD RS Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” write) nối với đếm địa LCD (ở chế độ “đọc” read) + Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD R/W E 7-14 DB0 – DB7 Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E + Ở chế độ ghi: Dữ liệu bus LCD chuyển vào(chấp nhận) ghi bên phát xung (high-to-low transition) tín hiệu chân E + Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (lowto-high transition) chân E LCD giữ bus đến chân E xuống mức thấp Tám đường bus liệu dùng để trao đổi thơng tin với MPU Có chế độ sử dụng đường bus : + Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 + Chế độ bit : Dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7 b.Tập lệnh thường dùng Mã lệnh Chức Thời gian thực 0x01 Xóa tồn nội dung hiển thị hình 1.52ms 0x02 Di chuyển chuột vị trí đầu hình 1.52ms 0x06 Tự động di chuyển trỏ đến vị trí xuất LCD ký tự 37us 0x0C Bật hiển thị tắt trỏ 37us 0x0E Bật hiển thị bật trỏ 37us 0x80 Di chuyển trỏ đầu dòng 37us 0xC0 Di chuyển trỏ đầu dòng hai 37us 0x38 Giao tiếp bit,hiển thị dịng,kích thước font 5x7 37us 0x28 Giao tiếp bit,hiển thị dịng,kích thước font 5x7 37us Phần II.Thiết kế lập trình máy tính đơn giản 1.Sơ đồ phần cứng LCD1 LM016L R7 220 10k RV1 53% 12MHz U1 A B C + = ON C R3 R2 R4 10k 10k 10k 10k 18 RS 29 30 31 XTAL1 XTAL2 RST PSEN ALE EA D 19 R1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 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 39 38 37 36 35 34 33 32 1k 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 AT89C51 Chương trình #include unsigned char h,c,hc; unsigned long i,j; unsigned char text[] ="0123456789/x-+=o"; int y[]={43,34,33,32,24,23,22,14,13,12,11,21,31,41,42,44}; void delay(unsigned int n); void kiemtraphim(void); void khoitao(unsigned char x); void khoitao1(void); void lcd_text(unsigned char t); void delay(unsigned int n) //ham tre { { TL0 = 0x18; TH0 = 0xFC; TR0 = 1; // Timer0 bat dau dem while(!TF0); TR0 = 0; // Timer0 ngung dem D0 D1 D2 D3 D4 D5 D6 D7 30pF X1 R5 10 11 12 13 14 C2 30pF RS RW E C1 RS 10uF VSS VDD VEE C3 TF0 = 0; n ; }while(n!=0); } void khoitao(unsigned char x) // dung de gui lenh cho lcd { P2_0=0; P3=x; P2_2=0; // cho chan E tu len de lcd nhan du lieu P2_2=1; delay(100); } void kiemtraphim(void) // ktra phim nao duoc bam { h=c=0; delay(1000); P1=0x0f; if(P1==0x0f)h=c=5; // khong bam else if(P1_0==0)h=1; //hang bang else if(P1_1==0)h=2; //hang bang else if(P1_2==0)h=3; //hang bang else if(P1_3==0)h=4; //hang bang P1=0xf0; if(P1_7==0)c=1; //cot bang else if(P1_6==0)c=2; //cot bang else if(P1_5==0)c=3; //cot bang else if(P1_4==0)c=4; //cot bang hc=h*10+c; } void lcd_text(unsigned char t) // ham hien thi chuoi len lcd { P2_0=1; //chan E =1 thi cho phep lcd nhan du lieu P3=t; P2_2=0; // tao xung o chan e thi lcd moi nhan duoc du lieu P2_2=1; delay(1000); //cho lenh thuc hien xong } void khoitao1(void) dong { khoitao(0x30); delay(5); khoitao(0x30); delay(1); khoitao(0x30); khoitao(0x38); khoitao(0x01); khoitao(0x0c); } // khoi tao he thong o che đo bit //cho lenh thuc hien // che hien thi dong // xoa man hinh // hien thi man hinh o d void main() // ham chinh { int a=0,f[16],kq,kt=0,d=0; khoitao1(); while(1) { kiemtraphim(); // kta phim for(i=0;i

Ngày đăng: 05/09/2022, 16:40

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w