Tải bản đầy đủ (.doc) (21 trang)

Mo phong mach logic so.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.4 KB, 21 trang )

Trêng ®¹i häc B¸ch khoa hµ néi
Khoa ®iÖn tö viÔn th«ng
hµ néi 6/2000
2
Trờng đại học Bách khoa hà nội
Khoa điện tử viễn thông
BàI Tập Lớn
Đề tài
Mô Phỏng Mạch Logic số
Mô Phỏng Mạch Logic số
Giáo viên hớng dẫn
Vũ Song Tùng

Thực hiện chơng trình
Đặng Hiếu Nhơn
Nguyễn Hoàng Nga
Nguyễn Thị Ngọc Thuỷ
Nguyễn Xuân Thuỳ
Nguyễn Thị Thu Hà
Ngô Đức Thờng
3
Hµ Néi - 6/2000
4
I.Đặt vấn đề:
Máy tính hiện nay là một công cụ rất mạnh để giải quyết những bài toán về kĩ
thuật đòi hỏi khả năng tính toán cao.
Với khả năng đồ hoạ của mình máy tính cho phép không chỉ thể hiện u điểm
của mình ở khả năng tihns toán nhanh mà nó còn cho phép chúng ta biểu thị các đối t-
ợng các hoạt động, các sự kiện một cách sinh động bằng hình ảnh.Đây là nguyên nhân
vì sao hiện nay cùng với sự phát triển nhanh về tốc độ ,su hớng làm phần mềm về đồ
hoạ mô phỏng ,hoặc những phần mềm đồ hoạ 3D phát triển rất mạnh.


Để bắt kịp với sự phát triển của thế giới chúngta cần phải khai thác một cách
triệt để khả năng của máy tính.
Với sự hớng dẫn của thầy giáo Vũ Song Tùng chúng tôi thiết kế phần mềm Mô
phỏng Mạch Logic số vơí mục đích:
Khai thác khả năng về đồ hoạ của máy tính
Bớc đầu làm quen với lập trình hớng đối tợng
Tăng dần khả năng lập trình với việc giải quyết các vấn đề nảy sinh trong kĩ
thuật lập trình mô phỏng(cha phải theo thời gian thực)
Chúng tôi chọn ngôn ngữ C++ để thực hiện chơng trình của mình
bởi vì hiện nay C++ đang đợc dạy trong các trờng đại học và khả năng lập trình hớng
đối tợng của nó rất mạnh rất thích hợp với các bài toán về đối tợng.
Tuy nhiên do thời gian có hạn nên một số ý tởng của tác giả cũng nh một số kĩ
thuật lập trình cha đợc đa vào.Vì thế chơng trình còn nhiều vấn đề cha đợc hoàn
thiện.Phần mềm này chỉ thích hợp với khuôn khổ một bài tập lớn.Chơng trình chỉ dừng
ở mức hớng đối tợng một nửa,cho nên rất thích hợp với những ngời mới học lập trình h-
ớng đối tợng.Chơng trình đợc trình bày một cách dõ dàng ,dễ đọc dễ hiểu,có thể là tài
liệu tham khảo của những ngời mới học lập trình hớng đối tợng.
Cuối cùng thay mặt cả nhóm xin chân thành cám ơn thầy :Vũ Song Tùng đã
nhiệt tình giúp đỡ chúng em hoàn thành chơng trình này.
Nhóm trởng: Đặng Hiếu Nhơn
II.Cơ sở lý thuyết:
Các phần tử logic cơ bản là AND,OR,NOT,XOR,NAND,NOR.Các cổng logic
hoạt động theo một bảng gọi là bảng chân lí(True Table).Tong ứng với 6 cổng logic ta
có 6 bảng chân lí sau:
1.Cổng AND:
Kí hiệu:
Bảng chân lý:
x y z
0 0 0
0 1 0

1 0 0
1 1 1
5
2.Cæng OR:
KÝ hiÖu:
B¶ng ch©n lý:
x y z
0 0 0
0 1 1
1 0 1
1 1 1
3.Cæng NOT:
KÝ hiÖu:
B¶ng ch©n lÝ:
x x
0 1
1 0
4.Cæng NAND:
KÝ hiÖu:
B¶ng ch©n lÝ:
x y z
0 0 1
0 1 1
1 0 1
1 1 0
5.Cæng NOR:
KÝ hiÖu:
6
Bảng chân lí:
x y z

0 0 1
0 1 1
1 0 1
1 1 0
6.Cổng XOR:
Kí hiệu:

Bảng chân lí:
x y z
0 0 1
0 1 1
1 0 1
1 1 0
III.Thiết kế chơng trình:
3.1.Các đối tợng:
Ta chia các đối tợng ra làm 2 loại:
Đối tợng nguyên tố : đối tợng này là nhỏ nhất không thể chia nhỏ
đợc nữa
Đối tợng nhóm(Group): đối tợng này gồm nhiều đối tợng con
ghép lại.
Chơng trình đợc thiết kế theo kiểu giao diện của Windows bao gồm
hệ thống Menu(Bảng chọn), ToolBar(Thanh công cụ), Các nút bấm
(Button), Hộp thoại (MessageBox), Hộp nhập liệu (InputBox), các đối tợng
lựa chọn(Option), Các đối tợng ảnh(Image).
Hoạt động của mỗi mạch logic đợc thiết kế ở những của sổ riêng gọi
là các FORM.Thể hiện hoạt động theo thời gian ta dùng đối tợng
Osilo,Bảng chân lý ta dùng đối tợng TrueTable,để thay đổi các đầu vào ta
dùng các nút chuyển mạch(SwitchButton)
3.2.Các hàm và các đối tợng:
Các hàm và các đối tợng đợc khai báo trong file logic.h nh sau:

#ifndef_LOGIC_H_
7
#define _LOGIC_H_
#include <dos.h>
#include <string.h>
#include <graphics.h>
#include <conio.h>
#include<iostream.h>
#ifndef byte
typedef unsigned char byte;
#endif
#ifndef word
typedef unsigned int word;
#endif
#ifndef dword
typedef unsigned long dword;
#endif
#ifndef bool
typedef int bool;
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define LEFT_MOUSE_PRESS 0xff01
#define RIGHT_MOUSE_PRESS 0xff02
#define LEFT_MOUSE_REL 0xff11
#define RIGHT_MOUSE_REL 0xff12

#define MOUSE_MOVE 0xff00
#define MS_GET_STATUS 3
#define MS_GET_MOVE 11
#define MS_HID_BOX 16
#define ABOUT 10
#define HELP 11
#define EXIT 12
#define SHOWICON 22
#define HIDEICON 23
#define SHOWTOOLBAR 20
#define HIDETOOLBAR 21
#define AND 1
8

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×