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 3 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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 182,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiến thức cơ bản a.Sơ đồ ma trân phím b.Cách nhận biết phím a.Các chân chức năng b.Tập lệnh thường dùng Phần II.Thiết kế và lập trình máy tính đơn giản 1.Sơ đồ phần cứng 2... Kiến th

Trang 1

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ử trong CN & GTVT K54

GIÁO VIÊN HƯỚNG DẪN :

1 Lương Hữu Ngọc

2 Trần Văn Bảo

3 Trần Trung Hòa

4 Mai Gia Thiệu K53

5 Lê Văn Hoàng K53

6 Nguyễn Bá Tùng K53

Trang 2

Hà Nội – 10/2013

1

Thiết kế môn học

Chủ đề : thiết kế máy tính đơn

giản

Trang 3

Mục lục

Phần I Kiến thức cơ bản

a.Sơ đồ ma trân phím

b.Cách nhận biết phím

a.Các chân chức năng

b.Tập lệnh thường dùng

Phần II.Thiết kế và lập trình máy tính đơn giản 1.Sơ đồ phần cứng

2 Chương trình

Trang 4

Phần I Kiến thức cơ bản

a.Sơ đồ ma trận phím

(mắc them trở treo vào nút bấm để các nút bấm hoạt động ổn định hơn )

b.Cách nhận biết phím

- Xác hàng có phím được bấm

+ cho hàng là đầu vào, cột là đầu ra (tức là cho hàng bằng 1,cột bằng 0) + Kiểm tra xem có hàng nào bằng “0” hay không,nếu không thì không có phím nào được bấm,nếu có thì kiểm tra xem hàng nào được bấm

+ cho cột là đầu vào, hàng là đầu ra (tức là cho hàng bằng 0,cột bằng 1)

Trang 5

+ Kiểm tra xem có cột nào bằng “0” hay không,nếu không thì không có phím nào được bấm,nếu có thì kiểm tra xem hàng nào được bấm

a.Các chân chức năng

GND của mạch điều khiển

với VCC=5V của mạch điều khiển

“0” (GND) hoặc logic

“1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của

Trang 6

LCD (ở chế độ “ghi” write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” -read)

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic

“1” để LCD ở chế độ đọc

bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên

trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (lowto-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức

thấp

DB7

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử

dụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

b.Tập lệnh thường dùng

thực hiện

Trang 7

0x0C Bật hiển thị và tắt con trỏ 37us

Phần II.Thiết kế và lập trình máy tính đơn giản

1.Sơ đồ phần cứng

Trang 8

XTAL2 18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WRP3.5/T1 16 15 P2.7/A15 28

P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27

U1

AT89C51

1

2

3

8

9

=

7

A B C D

R1

10k R2

10k

R3

10k R4

10k

LM016L

RV1

1k

C1

30pF

C2

30pF

X1

12MHz

C3

10uF

R5

10k

R7

220

RS

RS

#include <REGX51.H>

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

{

do {

TL0 = 0x18;

TH0 = 0xFC;

Trang 9

TR0 = 1; // Timer0 bat dau dem

while(!TF0);

TF0 = 0;

n ;

}while(n!=0);

}

{

P2_0=0;

P3=x;

P2_2=0; // cho chan E tu 0 len 1 de lcd nhan du lieu

}

{

h=c=0;

delay(1000);

P1=0x0f;

if(P1==0x0f)h=c=5; // khong bam

else if(P1_0==0)h=1; //hang bang 1

else if(P1_1==0)h=2; //hang bang 2

else if(P1_2==0)h=3; //hang bang 3

else if(P1_3==0)h=4; //hang bang 4

P1=0xf0;

if(P1_7==0)c=1; //cot bang 1

else if(P1_6==0)c=2; //cot bang 2

else if(P1_5==0)c=3; //cot bang 3

else if(P1_4==0)c=4; //cot bang 4

hc=h*10+c;

}

{

Trang 10

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

delay(1000); //cho lenh thuc hien xong

}

dong

{

khoitao(0x30);

delay(5); //cho lenh thuc hien

khoitao(0x30);

delay(1);

khoitao(0x30);

khoitao(0x38); // che do hien thi 2 dong

khoitao(0x01); // xoa man hinh

khoitao(0x0c); // hien thi man hinh o d

}

ham chinh

{

int a=0,f[16],kq,kt=0,d=0;

khoitao1();

while(1)

{

so tu 0 den 9

if(hc==y[i])

{

Trang 11

khoitao(0x0c);

lcd_text(text[i]);

a=i+a*10;

bat man hinh

{

khoitao(0x01);

khoitao(0x0c);

}

for(i=10;i<14;i++) //kiem tra phep tinh

if(hc==y[i])

{

kq=a;

a=0;

if(hc==y[10])kt=1; // chia

}

if(hc==y[14]) //tinh toan va hien thi ket qua

{

d=0;

if(kt==1)kq=kq/a; //tinh toan else if(kt==2)kq=kq*a;

else if(kt==3)kq=kq-a;

else if(kt==4)kq=kq+a;

Trang 12

khoitao(0xc0) ;

if(kq<0){kq=0-kq;lcd_text(text[12]);} if(kq==0){lcd_text(text[0]);}

for(i=0;i<16;i++) {

if(kq!=0) {

f[i]=kq%10;

kq= (kq-f[i])/10;

d=d+1;

} }

for(i=0;i<d;i++)

lcd_text(text[f[d-i-1]]);

}

}

}

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

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w