Báo cáo khoa học đề tài giải mã nguyên lí hoạt động của công nghệ số - Pdf 23

SỞ GIÁO DỤC ĐÀO TẠO KHÁNH HÒA
Trường THPT Chuyên Lê Quý Đôn
Địa chỉ: 67 Yersin, Nha Trang.
www.lqdon.khanhhoa.edu.vn GIẢI MÃ NGUYÊN LÝ HOẠT
ĐỘNG CÔNG NGHỆ KỸ THUẬT SỐ
Lĩnh vực dự thi: 06 – Khoa Học Máy Tính
Nha Trang, tháng 1 năm 2014
Các tác giả:
Hoàng Trung Hiếu
Nguyễn Phạm Xuân Thắng

A. TÓM TẮT NỘI DUNG DỰ ÁN _________________________________ Trang 04
B. LÝ DO NGHIÊN CỨU – Ý TƯỞNG NGHIÊN CỨU________________ Trang 05
1. Lý do nghiên cứu…………………………………………………….… Trang 06
2. Ý tưởng nghiên cứu………………………………………… Trang 06
C. Ý TƯỞNG THỰC HIỆN – CÔNG VIỆC THỰC HIỆN
CƠ SỞ LÝ THUYẾT__________________________________________ Trang 08
1. Ý tưởng thực hiện – công việc thực hiện .…………………………… Trang 08
2. Cơ sở lý thuyết ……………………………………………………… Trang 09
a. Giới thiệu về hệ đếm thập phân và hệ đếm nhị phân ………… Trang 09
b. Chuyển đổi giữa các hệ đếm …………………………………… Trang 09
c. Các phép toán logic …………………………………………… Trang 09
d. Các phép toán số học …………………………… …… … Trang 09
D. SƠ ĐỒ TỔNG THỂ DỰ ÁN ____________________________________ Trang 12
E. GIỚI THIỆU PHẦN CỨNG CỦA DỰ ÁN ________________________ Trang 13
1. Giới thệu các linh kiện ……………………………… ……………… Trang 13
a. Về chíp vi xử lý AT 89C52 / AT 89C51 ….… …………. Trang 13
b. Các linh kiện khác …….….…….……….………….……… Trang 13
2. Phần cứng của các khối …………………………………………… … Trang 15
a. Khối xử lý …………… ……………………………………… Trang 15
b. Khối nhập liệu ……….….………………………………… Trang 16
c. Khối hiển thị … ……….…….……….…………………… Trang 17
d. Khối giải mã LED 7 đoạn ………… ….….……………… Trang 17
e. Khối nguồn ……………….……… ……………………… Trang 18
F. GIỚI THIỆU PHẦN MỀM CỦA DỰ ÁN _________________________ Trang 19
I. PHẦN MỀM HỖ TRỢ LẬP TRÌNH VI XỬ LÝ .…….…… ….… Trang 19
1. Keil Vision 4 ……………….…….…… ….….…… …….…. Trang 19
a. Giới thiệu ………………………… ….….….……………. Trang 19
b. Môi trường làm việc .…… ……….……….……….…… Trang 19
2. Little Programer Version Gold …………….….….….…………. Trang 20
II. PHẦN MỀM CỦA DỰ ÁN ……………………….…….… …… Trang 21

Hình 11b: Môi trường lập trình Keil  vesion 4……………………………. Trang 19
Hình 11c: Môi trường giả lập để chạy thử của chương trình trong Keil……. Trang 20
Hình 12 : Giao diện của Litte Programmer Version Gold
và hình ảnh mạch nạp…………… … …… ………………… Trang 21
Hình 13 : Thuật toán quét KEYPAD……….….………………… ….…… Trang 23
Hình 14 : Mô tả kĩ thuật quét ma trận LED…………….….………………. Trang 27
Hình 15 : Sơ đồ LED 7 đoạn……….……….………………………… … Trang 28
Hình 16 : Mục đích của sản phẩm………….…….………………………… Trang 29
Hình 17 : Kế hoạch phát triển sản phẩm………….……….……………… Trang 30
Hình 18 : Giả lập trên mô hình mô phỏng…… ….…….…….…… …… Trang 31
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
4

BẢN THUYẾT MINH GIẢI PHÁP DỰ THI
Sản phẩm: “GIẢI MÃ NGUYÊN LÝ HOẠT ĐỘNG CÔNG NGHỆ SỐ”
** A. TÓM TẮT NỘI DUNG DỰ ÁN:
Sự bùng nổ của “thế giới số” làm con người đã quá quen thuộc với các thiết bị công
nghệ như Iphone, Ipad, Ipod, Itouch….và vô vàn những thiết bị điện tử khác mà ai cũng dễ
dàng bắt gặp từ nhà, ra ngõ, đến trường Nhưng đã có mấy ai tự hỏi: làm thế nào những
thiết bị đó lại có thể làm việc thông minh đến vậy? Khám phá được bí ẩn đó có nghĩa là đã
mở ra khả năng sáng tạo không giới hạn cho những ai muốn tìm hiểu về nó.
Mô hình “Giải mã bí ẩn công nghệ số” sẽ mô phỏng chính xác hoạt động của một chiếc
máy tính cầm tay thông thường để minh chứng rằng chỉ bằng cách bố trí các công tắc điện
“bật/tắt” đơn thuần, con người có thể làm thay đổi thế giới! Đây chính là nền tảng của
công nghệ kỹ thuật số.
Mô hình gồm 2 phần:
- Phần cứng: là các vi mạch điện từ (công nghệ Digital), board mạch được lắp ráp có

hiện diện của các thiết bị điện tử, chẳng hạn: Iphone, Ipad, Ipod, TV, máy chụp ảnh, máy
photo kỹ thuật số…
Hơn thế nữa, những thiết bị này được đổi mới thường xuyên, liên tục. Các thế hệ
sản phẩm sau không những đa dạng về chủng loại, nhỏ gọn về kích thước, mà còn vượt
trội cả về tốc độ xử lý, tính năng ứng dụng và tiết kiệm năng lượng.
Sự đầy đủ và tiện dụng đó đã và đang thay đổi cả thói quen “suy nghĩ” và làm việc
của con người… Có mấy ai cầm trên tay chiếc Iphone 5 và tự hỏi làm thế nào nó lại
“thông minh” như thế? Tại sao phép tính 2
10
=1024,… lại được thực hiện một cách chính
xác, đơn giản và nhanh gọn đến vậy? Điều gì đang xảy ra bên trong các thiết bị đó? Chính
sự quên lãng này đã và đang vô tình khiến cho con người mất dần đi tính sáng tạo, không
làm chủ được công nghệ.
Với mong muốn cháy bỏng đi tìm “nguồn gốc”, “nguyên lý” tạo ra sự “kỳ diệu”
đó, nhóm học sinh lớp 11 chúng em đã quyết định tiến hành xây dựng một mô hình mô
phỏng lại gần chính xác hoạt động của một chiếc máy tính điện tử - một thiết bị rất gần gũi
với mọi người, là cơ sở cho các thiết bị điện – điện tử, nhằm khám phá sự bí ẩn về khả
năng tính toán siêu việt của nó…
Bằng nghiên cứu này, chúng em đã giải mã được sự bí ẩn của công nghệ số. Kiến
thức đó sẽ giúp cho tất cả mọi người có cái nhìn toàn diện nhất, hiểu được và ứng dụng
những cơ chế, kiến thức nền tảng, công nghệ vượt trội của vi xử lý trong đời sống, ứng
dụng những kiến thức kĩ năng đó vào việc xây dựng các sản phẩm khác có giá trị phục vụ
con người ngày một cao hơn, hữu dụng hơn.
2. Ý tưởng nghiên cứu
Năm 1642, nhà toán học, vật lý, nhà phát minh,
tác giả và triết gia Cơ Đốc người Pháp Blaise Pascal, sau
hơn 3 năm nghiên cứu, đã phát minh ra chiếc máy tính cơ
học đầu tiên trên Thế Giới, đặt nền móng đầu tiên cho
nền công nghiệp máy tính.
Phải đến gần 3 thế kỉ sau, vào năm 1946, máy

Phim ảnh cử động được là nhờ tập hợp của nhiều ảnh đơn chiếc xuất hiện liên tục.
Khi đã mô tả được hiện tượng tự nhiên bằng một chuỗi theo thời gian của hai mức
luận lý 0 và 1, các nhà khoa học bắt đầu sáng chế ra vô số ứng dụng hữu ích làm cho kỹ
thuật số trở thành ưu việt.
Trong máy tính, mọi thông tin được chuyển thành thông tin dưới dạng đơn giản
nhất - một chuỗi số gồm hai kí tự 0 và 1, mà ta quen gọi là hệ đếm nhị phân (các kí tự này
được gọi là các bit binary digit - số ký nhị phân). Hai ký tự 0 và 1 có thể hiểu đơn giản là
trạng thái “có” hoặc “không”, trạng thái “tắt” hoặc “mở” của một công tắc điện vậy. Ta xét
một ví dụ sau:
Ta đang thực hiện một thao tác đánh văn bản: ta đánh số 5, máy sẽ hiểu là 0000
0101 ta đánh chữ “a” máy tính sẽ không hiểu được chữ “a” đó mà nó sẽ hiểu là 0110 0001.
Ta muốn các chữ ta đánh có màu đỏ, máy sẽ không hiểu được “màu đỏ” mà “màu đỏ” ấy
cũng sẽ được chuyển thành dạng các bit 0 và 1 như những kí tự ở trên vậy.
Mọi thông tin mà con người yêu cầu máy tính xử lý đều được thực hiện dựa trên
các phép toán trên hệ đếm nhị phân (đại số Bool - Boolean algebra). Tại sao máy tính lại
lựa chọn con đường như vậy?
Những ưu điểm về khả năng tính toán “ưu việt” đơn giản, dễ dàng thực hiện về mặt
vật lý, nhanh chóng về mặt thời gian. Ví dụ như ta muốn “dạy” cho máy tính thực hiện
phép toán cộng. Bằng hệ đếm nhị phân, ta chỉ cần dạy nó 1+0=1, 0+0=0, 1+1=0 (nhớ 1).
Với 3 phép toán đó kết hợp với phép nhớ, máy tính hoàn toàn có khả năng thực hiện phép
cộng một cách thuần thục nhanh chóng đơn giản và vô cùng chính xác.
Bên cạnh đó, với việc chỉ sử dụng các bit 0, bit 1 sẽ giúp cho máy tính dễ dàng ghi
nhớ, thay vì phải ghi nhớ âm thanh, hình ảnh phức tạp bằng nhiều mức trong các băng từ
tính như băng video, băng cassette… (công nghệ analog cũ) ngày nay máy tính chỉ việc
ghi nhớ các chuỗi kí tự 0, 1 đơn giản.
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
7

Trong kỉ nguyên số, đặt ra yêu cầu đòi hỏi các thông tin cần phải được truyền đi
nhanh chóng, dễ dàng với độ chính xác cao. Công nghệ số đã đáp ứng được yêu cầu này.

phân cho mô hình của mình.
Nhằm mục đích để mọi người có thể tiếp cận với hệ nhị phân một cách trực quan,
sinh động, nhóm nghiên cứu đã xây dựng một mô hình mô phỏng một cách gần chính xác
nhất hoạt động của một chiếc máy tính – từ bước nhập liệu – xử lý – đến hiển thị kết quả.
Các bóng đèn led “tắt” - “mở” tượng trưng cho bit 1, bit 0. Từ việc quan sát những gì mô
hình mô phỏng được, người xem hoàn toàn có thể dễ dàng hiểu được hoạt động của một
chiếc máy tính điện tử - hiểu được nguyên lý hoạt động của công nghệ số.

Đề tài: Giải mã nguyên lý hoạt động công nghệ số
8

C. Ý TƯỞNG THỰC HIỆN – CÔNG VIỆC THỰC HIỆN – CƠ SỞ LÝ THUYẾT
1. Ý tưởng thực hiện – công việc thực hiện:
Sản phẩm được xây dựng trên cả hai phương diện phần cứng – phần mềm, nó sẽ là
cơ sở để giúp cho các bạn học sinh cũng như những người có đam mê về công nghệ, đặc
biệt trong lĩnh vực vi xử lý tiếp cận một cách trực quan, sinh động và nắm được những tư
tưởng cơ bản để hình thành nên một sản phẩm.
Trong thời gian nghiên cứu và thực hiện đề tài, nhóm tác giả cần phải tìm hiểu
nghiên cứu một số vấn đề cơ bản sau đây:
Cơ sở lý thuyết: bao gồm những kiến thức cơ bản về máy tính – cách tính toán dựa trên
hai hệ đếm.
1. Về cơ chế hoạt động của thiết bị vi tính – điện tử, về cách tính toán chuyển đổi giữa
hai hệ đếm cơ bản: hệ đếm cơ số 10 (hệ đếm thập phân), được sử dụng rộng rãi
trong cuộc sống và hệ đếm cơ số 2 (hệ đếm nhị phân), được máy tính sử dụng để
tính toán.
2. Về các phép toán số học cơ bản trên hệ đếm nhị phân như phép: cộng (+), trừ (-),
nhân (*), chia lấy phần nguyên (div).
Công cụ để thực hiện sản phẩm: để thực hiện được sản phẩm cần xây dựng trên cả hai
mặt: “phần cứng” và “phần mềm”
+ Phần cứng: Bao gồm việc lắp đặt các thiết bị, linh kiện điện tử, thực hiện các chức năng

14. Thiết kế chương trình quét KEYPAD 4x4 (hệ thống phím) cho phép người dùng
nhập dữ liệu vào mạch để xử lý.
15. Thiết kế chương trình xử lý chuyển đổi từ hệ đếm cơ số 10 (do người dùng nhập từ
KEYPAD) sáng hệ đếm cơ số 2 và hiển thị trên LED đơn.
16. Thiết kế chương trình mô tả hoạt động của các phép toán trên hệ đếm nhị phân.
17. Thiết kế chương trình chuyển đổi từ hệ đếm cơ số 2 (8 bit) sang hiển thị trên LED
7 đoạn.
2. Cơ sở lý thuyết
a. Giới thiệu về hệ đếm thập phân và hệ đếm nhị phân:
Hệ thập phân (hay hệ đếm cơ số 10) là một hệ đếm có 10 ký tự (0,1, 2, 3, 4, 5, 6, 7, 8,
9). Con số còn có thể được dẫn đầu bằng các ký hiệu “+” hay “-” để biểu đạt số dương và
số âm. Đây là hệ đếm phổ thông, được sử dụng rộng rãi.
Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm dùng hai ký tự để biểu đạt một giá trị
số, hai ký tự đó là 0 và 1; chúng thường được dùng để biểu đạt hai giá trị hiệu điện thế
tương ứng (có hiệu điện thế, hoặc hiệu điện thế cao là 1 và không có, hoặc thấp là 0). Để
biểu diễn số dấu người ta dùng bit đầu tiên (0: số dương, 1 số âm).
b. Chuyển đổi giữa các hệ đếm:
Từ hệ nhị phân sang hệ thập phân: giả sử có 1 số nhị phân A như sau:
A=a
n
a
n-1
a
n-2
…a
1
a
0
Giá trị thập phân của A được tính như sau: B=a
n

1
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
0

d. Các phép toán số học:
Tính cộng hai số không âm:
Phép tính đơn giản nhất trong hệ nhị phân là tính cộng. Cộng hai đơn vị trong hệ nhị phân
được làm như sau:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (nhớ 1 lên hàng thứ 2)
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
10

Tổng
Nhớ
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1

1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1

2
, được 1, viết lên trên hàng kẻ. Kết quả
này được nhân với số chia, và tích số được trừ với 3 số đầu của số bị chia. Số tiếp theo là
một con số 1 được hạ xuống để tạo nên một dãy số có 3 con số, tương tự với số lượng các
con số của số chia:
1
__________
1 1 0 1 1 | 1 0 1
− 1 0 1

0 1 1
Quy luật trên được lặp lại với những hàng số mới, tiếp tục cho đến khi tất cả các con số
trong số bị chia đã được dùng hết:
1 0 1
__________
1 1 0 1 1 | 1 0 1
− 1 0 1

0 1 1
− 0 0 0

1 1 1
− 1 0 1

1 0
Phân số của 11011
2
chia cho 101
2
là 101

Bao gồm:
IC 89C51, bộ cấp nguồn cho IC, bộ
dao động.

Chức năng:
Xử lý các lệnh của người dùng
nhập vào, xử lý các phép toán, xuất kết quả
phép toán và các số do người dùng nhập vào
Nhận dữ liệu vào
KHỐI HIỂN THỊ
Bao gồm: 3 hàng LED đơn hiển thị, mỗi hàng gồm 8 LED đơn biểu
thị cho 8 bit khi chuyển đổi một số ở hệ thập phân sang hệ nhị phân
Khối LED ĐƠN HIỂN THỊ SỐ NHỊ PHÂN
Số nhập vào thứ nhất: Số nhập vào thứ hai:

Kết quả của phép toán giữa hai số vừa nhập: Khối LED 7 ĐOẠN HIỂN THỊ SỐ THẬP PHÂN

Khối hiển thị LED 7 đoạn bao gồm 9 LED 7 đoạn (7 segments LED
display) được chia làm 3 cụm. Mỗi cụm hiển thị kết quả ở hệ thập
phân cho các số nhập vào và kết quả của phép toán


89C52/ AT 89C51 là một trong những thế hệ
chip thuộc họ này.
Một số đặc điểm của AT 89C52/AT 89C51:
 8KB EPROM bên trong.
 128 Byte RAM nội.
 4 Port xuất/nhập I/O 8 bit.
 Giao tiếp nối tiếp.
 64KB vùng nhớ mã ngoài.
 64KB vùng nhớ dữ liệu ngoại.
 Xử lý Boolean (hoạt động trên bit đơn).
 210 vị trí nhớ có thể định vị bit
 4 micro second hoạt động nhân hoặc chia.
AT89C52/ AT 89C51 là một IC đơn phiến, bao gồm có 40 chân; công dụng của một số
chân như sau:
 Chân 20: cho nối MASS.
 Chân 40: cho nối nguồn +5V DC
 Chân 9: là chân reset, khi chân này ở mức
áp cao, IC sẽ ở trạng thái reset.
 Chân 18, 19: dùng gắn thạch anh để định
tần cho xung nhịp, với thạch anh 12MHz,
chu kỳ lệnh sẽ là 1s.
 Chân 31: dùng khai báo IC sẽ làm việc với
bộ nhớ nào, khi treo chân này lên mức áp
cao, IC sẽ chỉ làm việc với bộ nhớ trong.
 IC AT89C51 có 4 cảng dạng 8-bit dùng xuất nhập bit. Các cảng được đặt tên là p0, p1,
p2 và p3.
- Cảng p0 (PORT 0): gồm các chân: 39, 38, 37, 36, 35, 34, 33, 32.
(Đối với Port 0 không có điện trở kéo lên nguồn như các port khác nên phải lắp thêm
điện trở để kéo lên nguồn)
- Cảng p1 (PORT 1): gồm các chân: 1, 2, 3, 4, 5, 6, 7, 8.

 Thạch anh định tần 12 MHz.
 Tụ điện: Tụ 104, tụ 30pF,tụ 10 uF, tụ lọc nguồn.
 Điện trở: 560 ohm, 1000 ohm, 10k ohm…
 Port cắm dây nối.
Trong khối nguồn:
 IC 7805 có chức năng ổn định điện áp 5V cấp cho mạch.
 Tụ lọc 104, 1000uF.
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
15

2. PHẦN CỨNG CỦA CÁC KHỐI:
Sơ đồ mạch điện phần cứng của các khối được mô tả như sau:
a. Khối xử lý:

Hình 6: Sơ đồ mạch điện khối xử lý
Mục đích của khối này là duy trì điều khiển hoạt động của IC AT 89C51/ AT
89C52, điều khiển mọi hoạt động của mạch điện.
Mạch điện trên có thể được chia thành các bộ phận:
 Cấp nguồn: chân 20 của IC được nối vào MASS; chân 40 cấp nguồn 5V lấy từ khối
nguồn.
 Mạch dao động: được ví như “trái tim” của IC, có tác dụng tạo các xung nhịp dao
động cung cấp cho IC. Ở trong mạch, hai tụ C4 có giá trị 30pF, Thạch anh Y2 có giá
trị 12MHz.
 Chân reset: được giữ ở mức 0V, khi đặt lên mức 1, mạch sẽ trở về trạng thái Reset.
Ta sẽ nối chân reset này vào một công tắc loại PUSH TO ON SWITCH để làm nút
reset. Khi ta ấn nút, chân reset sẽ được đẩy lên mức 1.
 Các port (cảng): IC bao gồm 4 port; mỗi port bao gồm 8 chân dùng làm chức năng
nhập/xuất dữ liệu (được gọi là các PIN). Mỗi chân được đặt tên khác nhau. Theo thứ
tự từ trái qua phải.
Ví dụ: Port 0 bao gồm các PIN P0.0; P0.1; P0.2; P0.3; P0.4; P0.5; P0.6; P0.7 ứng với

P3
O
K. hiển thị
K. giải mã
LED 7 đoạn
Có 2 trạng thái là 0 và 1
Trạng thái 0 báo phép toán có thể thực hiện được
Trạng thái 1 báo phép toán bị lỗi (trừ ra số âm, phép
chia cho 0, vượt ngoài khả năng tính toán của
mạch)
Nếu Pin 5 ở trạng thái 1 thì khối hiển thị và khối giả
mã led 7 đoạn sẽ xuất hiện thông báo ERROR
PIN 6,7 của
P3
O
K. giải mã
LED 7 đoạn
Điều khiển trạng thái nhận giá trị của khối giãi mã
LED 7đoạn
P0
O
K. giải mã
LED 7 đoạn
Xuất ra biểu diển của kết quả phép toán ở hệ nhị
phân, đưa qua K.Giải mã hiển thị trên LED 7 đoạn
Trong đó:
Ty. (TYPE): trong đó I là INPUT (nhận dữ liệu vào) và O là OUTPUT (xuất dữ liệu ra),
nói cách khác, loại cho ta biết chức năng của PIN hay PORT đó có chức năng là nhập hay
xuất dữ liệu.
KẾT NỐI: các PORT sẽ được hệ thống dây nối nối từ các PORT đến các khối tương ứng.

E
2

5
8
0
+

-
*
/
3

6
9
S
A
B
C
D
1
2
3
4
Hình 7: SƠ ĐỒ MẠCH ĐIỆN KEYPAD
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
17

c. Khối hiển thị:
Khối hiển thị bao gồm:

K. Xử lý
Nhận giá trị số ở hệ nhị phân từ K. Xử lý đưa
ra để hiển thị trên LED 7 đoạn
PIN 1,2 của
P3
I
K. Xử lý
Nhận lệnh hiển thị ở cụm nào từ K. Xử lý đưa
ra
Sơ đồ lắp LED 7 đoạn: (mô phỏng)
Trên mạch điện, ta không sử dụng LED 7 đoạn đôi như hình minh họa bên dưới. Ta
sẽ kết nối các LED 7 đoạn đơn thành một ma trận LED 7 đoạn.
Ma trận LED 7 đoạn được kết nối vào các PORT của vi xử lý AT 89C52/ AT
89C51 được lắp đặt trên khối giải mã LED 7 đoạn.
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
18 Hình 9a: Kết nối LED 7 đoạn với các PORT.

Hình 9b: Sơ đồ ma trận LED 7 đoạn
Loại LED 7 đoạn được sử dụng là loại có ANODE chung. Các ANODE được mắc vào
cực E của Transistor. Cực B của Transistor mắc lên nguồn 5V. Chân B của Transistor
được mắc vào các các PIN của các PORT vi xử lý. Các CATODE của các thanh có tên
giống nhau được mắc song song với nhau.
e. Khối nguồn:

104
104
+12VDC

trình của mình viết trên máy tính để thử
nghiệm và kiểm tra tính đúng đắn của chương trình mà không cần phải lắp mạch điện để
thực hiện.
b. Môi trường làm việc:
Hình 11b: Môi trường lập trình trong Keil

version 4

Hình 11a: Giới thiệu phần mềm Keil
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
20

Môi trường lập trình cho phép người sử dụng lập trình soạn thảo ra các câu lệnh phục
vụ cho việc giải quyết bài toán, bao gồm các thao tác nhập, xuất, xử lý …
Điểm đặc biệt là phần mềm hỗ trợ viết các câu lệnh tương tự câu lệnh trong ngôn ngữ
lập trình C nên rất nhanh chóng, dễ tiếp cận, thuật tiện và gần gũi cho người lập trình.
Sau khi đã hoàn thành việc lập trình, Keil C sẽ có nhiệm
vụ biên dịch, kiểm tra những lỗi cú pháp do người lập trình vô
ý mắc phải trong quá trình thực hiện.
Bên cạnh, Keil còn có chức năng mô phỏng hoạt động
của chương trình trên máy vi tính thông qua mục Debug
Sesson (Ctrl+ F5). Ở chức năng này, người dùng có thể chạy
thử, mô phỏng cả chương trình hoặc từng đoạn chương trình.
Thông qua đó, người dùng có thể kịp thời điều chỉnh, chỉnh
sửa hoạt động của chương trình sao cho đạt được hiệu quả
cao nhất.
Ví dụ: trong hình bên, mô tả các PORT I/O của IC trong
giai đoạn đang chạy mô phỏng : Port 1 và Port 2 gồm 8 bit của IC đang ở mức cao (mức
1).


INPUT: Tổ chức hoạt động của một KEYPAD 16 nút, nhập vào hai số nguyên không âm
A,B (0 ≤A,B≤255) và một phép toán trên hai số A và B này. Thứ tự nhập sẽ là: Số nguyên
A nhập trước, kế theo sau là phép toán của 2 số (+,-,*, [ ](chia lấy nguyên)) và cuối cùng là
số nguyên B, sau khi ấn phím ENTER, mạch sẽ hiển thị kết quả tính toán.
(LƯU Ý: phép toán phải có kết quả bé hơn hoặc bằng 255, không âm) :
Cú pháp nhập:
<Số A>  <Phép toán>  <sốB>  ENTER
OUTPUT: Xuất hai số A,B dưới dạng hệ nhị phân (8bit ứng với 8 đèn LED: LED sáng
ứng với bit 1, LED tắt ứng với bit 0) và hệ thập phân (bằng các LED 7 đoạn). Sau khi
người sử dụng ấn phím “ENTER” lần nữa xuất ra kết quả của phép toán dưới dạng số
nhị phân và thập phân.
Sử dụng 4 LED để hiển thị phép toán đang tính toán.
VÍ DỤ: Nếu người dùng nhập lần lượt:
<Số 5>  < + >  <Số 2>  ENTER
Khi đó, 3 hàng LED đơn sẽ thể hiện:
Hàng 1( ứng với số A): 0 0 0 0 0 1 0 1
Hàng 2 (ứng với số B): 0 0 0 0 0 0 1 0
Hàng 3 (ứng với kết quả): 0 0 0 0 0 1 1 1
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
22

LED ở phép toán cộng sẽ sáng lên.
Đồng thời, 3 cụm LED 7 đoạn sẽ thể hiện
Cụm số 1: xuất số A : 0 0 5
Cụm số 2: xuất số B : 0 0 2
Cụm số 3: xuất kết quả: 0 0 7
Như vậy, tại Khối Xử Lý, “phần mềm” phải thực hiện các công việc – kỹ thuật như
sau:
 Kỹ thuật quét KEYPAD (để ghi nhận các thao tác mà người dùng nhập vào với độ
chính xác cao, tiết kiệm các PIN của vi xử lý).

C
2
D
3
1
4
2
5
3
6
4
7
Đề tài: Giải mã nguyên lý hoạt động công nghệ số
23

Thuật toán quét KEYPAD được mô tả như sau:

Tiến hành:
Bước 1: Giữ các chân từ 0 đến 7 ở mức cao (mức 1).
Bước 2: Lần lượt hạ các chân 1,2,3,4 của KEYPAD xuống mức thấp (mức 0). Các chân
còn lại vẫn giữ nguyên mức 1.
Bước 3: Kiểm tra các chân A,B,C,D có chân nào hiện tại đang ở mức 0 hay không. Nếu có
thì nút ở tọa độ đó là nút được nhấn, kết thúc chương trình.
Nếu không có nút nào được nhấn, quay lại bước 2.
Để dễ hình dung kỹ thuật này, ta sẽ xét một ví dụ như sau:
Ví dụ: Giả sử nút “số 2” được nhấn.
- Hạ chân 1 xuống mức 0, các chân 2,3,4 vẫn giữ ở mức 1.
- Kiểm tra chân A,B,C,D thấy tất cả các chân vẫn giữ ở mức cao nên không có nút
nào được nhấn.
- Hạ chân 2 xuống mức 0, các chân 1, 2, 4 vẫn đang giữ ở mức 1.


6
9
S
1
4
7
E
2

5
8
0
+

-
*
/
3

6
9
S
A
B
C
D
1
2
3

1 2 3 15
4 5 6 14
7 8 9 13
10 0 11 12
1 2 3 +
4 5 6 -
7 8 9 *
E 0 = /
Như vậy, ví dụ kết quả quét KEYPAD thu được cho ta kết quả là số 10, ta sẽ nhận thấy nút
ENTER đã được ấn.
Chương trình đọc KEYPAD:
int doc_keypad(void)
{
int i,j,KEYIN;
KEYPAD = 0xFF; // KHỞI GÁN
for (i=0;i<4;i++) // Quét các cột
{
KEYPAD=0xFF-(1<<(i+4)); //Chuyển cột i về 0
delay_us(10); //delay
KEYIN=KEYPAD & 0x0F; // Đọc dữ liệu các hàng
if (KEYIN != 0x0F)
// Nếu một trong các hàng có bit 0 xuất hiện
for (j=0;j<4;j++)
// Quét các hàng tìm hàng có bit 0 xuất hiện
if (KEYIN==scan[j]) return giatri[j][i];
}
return 20;
//trong trường hợp không số nào được nhập thì xuất ra 20
}


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status