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

Báo cáo bài tập chương 4

47 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo Cáo Bài Tập Chương 4
Tác giả Phạm Minh Khang, Huynh Ngoc Thach
Người hướng dẫn Nguyễn Đình Phú
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Chuyên ngành Khoa Điện-Điện Tử
Thể loại bài tập
Năm xuất bản 2024
Thành phố TP.HCM
Định dạng
Số trang 47
Dung lượng 17,19 MB

Nội dung

Trong chương trình xử lý phím nhấn thì đầu tiên là quét ma trận phím xem có nhấn phím hay không.. Nếu nhấn từ “0-9” thì dịch trái và lưu vào máng và nếu DUD0 hay không nếu vẫn lớn hơn th

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

BAO CAO BAI TAP CHUONG 4

Họ và tên : Phạm Minh Khang

Trang 2

Ban đầu hiến thị dấu chấm Nhấn các phím từ 0 đến 9 thì xuất hiện

về ban đầu Nhấn B thì UNDO 4 cấp, có kêu bíp

a Vẽ sơ đồ khối

4 led 7 doan

0 1 2 3

| Hiển thị mắng ra 4 led | Hiển thị mảng ra 4 led Hiển thị mảng ra 4 led

( Trở về )

Trang 3

Giải thích lưu đề:

Đầu tiên là khới tao port, chương trình chính và mắng 4I ( 7 phần tứ đầu là ff phần tử cuối là 7f là

dấu chấm) Gán biến DUD và tiến hành hiển thi mang4l khiến 3 led đầu tat và led thứ 3 hiển thị

dấu chấm Gọi hàm xử lý phím nhấn và lặp lai

Trong chương trình xử lý phím nhấn thì đầu tiên là quét ma trận phím xem có nhấn phím hay không Tiếp theo nếu MP< 19 sai thì xem có =B hay không nếu vẫn sai thì qua tiếp có = C hay không nếu vẫn sai thì trửo về lặp lại đến khi có nhân phim

Nếu nhấn từ “0-9” thì dịch trái và lưu vào máng và nếu DUD<4 đúng thì DUD=DUD+I rồi hiển thị

sai thi tra về

Nếu nhấn undo”B” thì xem DUD >0 hay không nếu vẫn lớn hơn thì DUD=DUD-1 rồi hiến thị sau sai thì trớ về

Nếu nhấn CLR”C” nếu đúng là xóa hết hết hiến thị rồi gán biến DUD=0 sau đó hiển thị rồi trả về

c Viết chương trình

include <tv_kit_vdk_pic_a11.c>

unsigned int8 mp;

signed int8 i, dud;

unsigned int8 m4led[8]= {Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff,Ox7F};

Trang 5

Khai bao thu viện, khai báo bién,mang

Gọi hàm void hienthi_4led7doanQ là hàm hiển thị 4led7doan trong đó t cho chạy vòng lặp for với biến i=0;i<4;i++ nếu i=0 lấy biến 4 của mang4l gan cho biến 1 của mảng dị 4I7d Tiếp theo gọi hàm void xoa_mang_m4led(Q để xóa mắng cũng dùng vòng lặp for

Kế tiếp là gọi hàm void b403_xuly_phimnhanQ) tuần tự như đã giải thích lưu đề dùng câu

điều kiện if else

Gọi hàm void main chương trình chính trong đó t khai báo port hiển thị và chạy vòng lặp whiile true cho ham b403_xuly_phimnhan()

Trang 7

Hình 403-2 mạch protues

Trang 8

Đây là khi nhấn 0 5 6 9

Trang 9

ĐIỀU Ban đầu 8 led tắt 8 phím từ 0 đến 7 điều khiến 8 led tương ứng

Patan sáng — gọi là các phím ON 8 phím từ 8 đến F điều khiển 8 led

tương ứng tắt — gọi là các phím OFF

Trang 12

Trở về

Phan tich hru dé

e = Khai bao thu vién, khai báo biên,mảng

® - Gọi hàm đk 8led on-off: đầu tiên kiểm tra xem có nhấn phím hay không nếu có nhấn thì t tiếp tục xem có nhân từ 0-7 hay ko nếu đúng thì ta lấy Y or với 1 dịch sang trái sau đó xuất

ra còn nếu t nhấn từ 8-F thì ta tiến hành lấy T and với dữ liệu 9 dịch trái mp-8 lần rối xuất

ra led sau đó trửo về

C viết chương trình

Trang 13

unsigned int8 mp,y ;

& void dieu_khien_8led_on_off()

Trang 14

Khai bao thu viện, khai báo bién,mang

Chương trình con điều khiên 8 led on-off: gan MP = key_4x4_dw() sau dé ding lénh if kiém tra mp<8 hay ko Nếu nhỏ hơn thì ta ta thực hiện lệnh y=y| (<< mp); y như lưu đồ đã gaiir thích rồi

ta xuất led ra Tiếp tục nếu mp<16 cũng thực thiện lệnh 1f như lưu đồ đã gan thích

Gọi chương trình chinh void main ta gan biến y=0 rồi cho chạy vòng lặp while (true) với chương trinh con là đieu khien 8led on off)

d Mô phỏng và chạy thực trên kit

Trang 15

MINH-KHANG-09

NGOC-THACH-20

Trang 16

1ï" F.F IIIIIIIIII|IIIIIIIIIIIIIIIIIIII|IIIIIIII

*§ SIRIRIN| RIS RỊR

sElslslslslsls in dạ 3Eblklspbll dhbblgHbl

mm ei) = "mm tt

IIIIIIIIII|IIIIIIIIIIIIIIIIII[IIIIIIII

ola! gial eo

sJ2|RjRjR|S|JS|š ÑJRja|<J°J°|°|° #I*J°|*}=|°|e|=| "

Ban đầu hiển thị giới hạn là 50, giá trị đếm counter T0 bằng 0, chưa

Ế cho phép phép: có xung cũng không đếm Khi nhấn Run đèn sáng

báo hiệu cho phép đếm Nhấn Stop thì ngừng, đèn báo hiệu tắt

a Sơ đồ khối

Trang 17

cấu hình, khởi tao port Timer0: tắt

Biến t0, t0_tam, g_han=50

® - Đầu tiên là khởi tạo port, chương trình chính, khai báo biến

se - Thực hiện các chương trình con:

Trang 18

nếu có nhấn thì ta cho phép tìmer0 hoạt động và cho led sáng

- Phím Stop: thì ngược lại nếu nhấn thì ngừng timer0 và cho led tắt

- _ Đếm xung ngoại T0: đọc gid tri timer0 cho bién t0 sau đó kt xem biến t0 có khác biến t0_tam hay ko nếu khcas thì cập nhật rồi gán giá trị ra ngoài sau

đó xem (0< hơn gh hay không nếu không thì buzzer kêu và quay lại

Trang 20

e - Khai báo thư viện, khai báo biên,mảng

® void b411 hienthi_4led7doan() là chương trình bài 411 đã viết ở trước

s Đây là chương trinh cua phim RUN va STOP:

Về chương trình phím STOP thi đầu tiên kiểm tra nút nhân Nếu không nhắn thì thoát ¡f còn nếu có nhấn thì thực hiện điều kiện if Sau đó khởi tạo timer0 off nếu có xung vào cũng không đếm Gán Ip=0 sau đó xuất ra 32 led đơn thì ca 32 led đều tắt

Về chương trình phím RUN thì đầu tiên cũng kiểm tra nút nhắn giống nút STOP Sau đó khởi tạo timer0 là đếm xung ngoại cạnh lên hệ số chia = 1 Gán lIp=0xffff rồi cho xuất 32led đơn thi 16led phải sẽ sáng báo hiệu cho phép đếm xung

e Tiép theo la chuong trinh void b412_dem_xung_ngoai_t0() chu trình thực hiện như đã trình bày ở lưu đồ ta dùng điều kiện if dé thực hiện

© - Chương trình chính void main dùng vòng lặp while(true) cho 3 chương trình con RUN, STOP, b412 dem xung ngoai (00)

d mô phỏng

Trang 22

Khi nhắn STOP

Mach protues cua Ngoc Thach-20

1® bait 12 - Proteus & Professional - Schematic Capture = a x

Fle Edit View Tool Design Graph Debug Library Tomplate SyZem Halp

Trang 23

3W bai412 - Proteus 8 Professioral - Schematic Capture Som

Fe Eqit View Tool Desi h Debug Lirary Template SyZem Help

DORR ATSQGES="O AMM 4@ee0 OC RR TEM Ow? Ban aXai

#Q Pee aee@ces 90 ~yme eow me Khi nhan STOP

Link quay bài 412 cho nhóm chúng em: h((ps://www.youtube.com/watch?v=yYfNh77 khc Bài 413 :

— :_VĐK PIC

ĐIỀU Giống bài 412 có them nút UD đề chọn hiển thị đếm lên hoặc dém

KHIỂN xuống Ban đầu đếm lên, có đèn báo hiệu, nhấn UD thì đảo đếm

ược lại Đếm trong giới hạn 0 đến 50,

lên thành đếm xuống hoặc n

a Vẽ sơ đồ khối

Trang 24

s - Đếm lên: 8 led thấp trai sáng, 8 led cao trái tắt

s - Đếm xuống: 8 led thấp trái tắt, 8 led cáo trái sáng

© - Ngưng đếm thi 16 led tat

b.Phân tích và vẽ lưu đồ

Trang 25

cấu hình, khởi tạo port Timer0: tắt

Biến t0, t0_tam, g_han=50

động

báo hiệu bằng đèn led

Trang 26

'

t0_ đọc giá trị tỉmer0

ni i a

Dang | đúng

đảo tt_ud il | hiển thị t0 — | hiển thị [g_han -t0]

7 t0= giới hạn -t0, khởi tạo

Trang 29

e - Khai báo thư viện, khai báo biên,mảng

s Đây là chương trinh cua phim RUN va STOP:

- Về chương trình phím STOP thi đầu tiên kiểm tra nút nhân Nếu không nhắn thi thoat if còn nếu có nhấn thì thực hiện điều kiện if Sau đó khởi tạo timer0 off nếu có xung vào cũng không đếm Gán Ip=0 sau đó xuất ra 32 led đơn thì ca 32 led đều tắt

- _ Về chương trình phím RUN thi đầu tiên cũng kiểm tra nút nhắn giống nút STOP Sau đó khởi tạo timer0 là đếm xung ngoại cạnh lên hệ số chia = 1 Gán lIp=0xffff rồi cho xuất 32led đơn thi 16led phải sẽ sáng báo hiệu cho phép đếm xung

s Chương trình void b4l3 đem xung ngoai t0Q thực hiện như đã trình bày ở lưu đồ

s - Chương trình chính void main

d Mô phỏng và chạy trên kit

Trang 31

ĐIỀU Giống bài 412, có thêm 2 nút UP và DW dùng để chỉnh giới hạn ban

KHIỂN đầu là 50 Khi nhấn UP thì tăng giới hạn, nhấn DW thì giảm giới

Trang 32

C phím run ) C phim stop )

cấu hình, khởi tạo port Timer0: tắt

Biến t0, t0_tam, g_han=50

Trang 33

Tương tự 413 nhưng thêm sơ đồ nút up and dw

Kiểm tra xem có nhấn up hay không nếu có thì chính giới hạn nếu biến g_han lớn hơn 99 thì cuộn về bang 0 cho hién thị sai thì xem có nhân dw hay không không thì trả về còn có thì giảm giá trị ngược lại với up rồi cho hiển thị

c viết chương trình

Trang 37

d mô phỏng

Trang 38

BT1

Br fess oe

Trang 39

Ve lwu do

Giống bài 414, thay bằng ma trận phim Phim A la stop, phim D la Run Phím F cho phép cài giới hạn 2 số, phím E thì không cho phép cài giới hạn Có led đơn báo các trạng thái cho phép đếm, cài

Trang 40

chương trình chính

cấu hình, khởi tạo port Timer0: tắt

Biến t0_cai=0,t0, t0_tam, g_han=50

Trang 41

đúng

báo hiệu bằng đèn led báo hiệu bằng đèn led

Trang 42

signed int8 donvi, chuc;

int1 tt_cai= disable;

Trang 45

t9 tamz1 ; g hanz 50; donvi= @; chuc= 5;

g_han= chuc*10+ donvi; 1t=0; lp=0e;

" `

Trang 47

Bắt đầu chương trình

COUNTER O = (®) a ee

Se

B11

COUNTER 1 = pee am

Nhấn nút enable cho cài giá trị giưới hạn

SO 5: TRAN VANA Iitfl—-= ® `

Ngày đăng: 07/01/2025, 16:22

HÌNH ẢNH LIÊN QUAN

Hình  403-2  mạch  protues - Báo cáo bài tập chương 4
nh 403-2 mạch protues (Trang 7)
Hình  403-2  bắt  đầu  chạy  Lúc  này  ta  nhấn  số  0  lập  tức  dấu  (led)  dich  sang  trái  sang  led  2  số  0  ở  led  1 - Báo cáo bài tập chương 4
nh 403-2 bắt đầu chạy Lúc này ta nhấn số 0 lập tức dấu (led) dich sang trái sang led 2 số 0 ở led 1 (Trang 8)