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

cấu trúc một chương trình viết bằng c đầy đủ trong mikroc và keilc

30 51 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 30
Dung lượng 346,1 KB

Nội dung

Câu 1 Nêu cấu trúc chương trình viết C đầy đủ MikroC KeilC? Hàm gì? Nêu cách sử dụng hàm C? Câu Nêu cấu trúc : While, Do while, for, switch ? Sự khác While while? Trình bày chuẩn giao tiếp onewire gữa vi điều khiển Ds1820? Câu Nêu phép dịch bit C ? Viết chương trình Led đuổi PORT1 dùng pháp dịch bit? Câu 4: Phương pháp quét ma trận bàn phím? Phương pháp chống nhiễu , chống đè cho nút bấm phần cứng phần mềm? Câu 5: Viết chương trình điều khiển led đơn để hiển thị chữ đầu tên sinh viên thực hiện? vẽ lưu đồ thuật tốn ? Giải thích câu lệnh chương trình? Câu 6: Phương pháp quét Led thanh? Cách thay đổi thời gian đếm trễ chương trình Led seg? Viết chương trình điều khiển đếm từ 0=>10=>20=> … =>500=>490=>480=>470=>…=> 0… thực lại? vẽ lưu đồ thuật tốn? Giải thích câu lệnh chương trình? Câu 7: Lọc thơng thấp gì? Phương pháp tăng độ xác phép đo nhiệt độ, phép đo dịng điện, điện áp, ADC dùng lọc thông thấp, đơn giản việc lấy trung bình cộng lần trích mẫu thời gian tầm 500ms Nêu thuật toán cách thực C? Viết chương trình hiển cảnh báo nhiệt 2040 độ C? Giải thích câu lệnh? Câu 8: Ngắt gì? Trình bày loại ngắt 8051? Phương pháp viết chương trình có sử dụng ngắt MikroC KeilC? Viết chương trình đếm số bấm nút sử dụng ngắt hiển thị lên Led thanh? Lưu đồ thuật tốn? Giải thích câu lệnh? Bài Làm : Câu 1: Cấu trúc chương trình viết ngơn ngữ C: Một hàm C phải bao gồm kiểu trả (kiểu trả void khơng có giá trị trả về), tên xác định, danh sách tham số để ngoặc đơn (nếu danh sách khơng có tham số ghi void bên dấu ngoặc), sau khối câu lệnh (hay khối mã) và/hay câu lệnh return (Nếu kiểu trả void mệnh đề khơng bắt buộc phải có Ngược lại, khơng bắt buộc có câu lệnh return mà tùy theo kỹ thuật, người lập trình dẫn dịng mã cho hướng chẻ nhánh trả kiểu.) < kiểu_trả_về> tên_hàm { Return; } Trong đó, N biến khai báo kiểu liệu tách rời dấu phẩy ',' : var1, var2,…,varN; Toàn danh sách đặt ngoặc đơn sau tên_hàm Hàm C Trong chương trình lớn, có chương trình viết lặp lặp lại nhiều lần, để tránh rườm rà thời gian viết chương trình, người ta thường chia chương trình thành nhiều module, module giải công việc Các module gọi chương trình Trong C, chương trình gọi hàm Hàm trả kết thơng qua tên hàm hay hàm khơng thể kết Hàm có loại hàm chuẩn hàm tự định nghĩa Cách sử dụng hàm C : - Hàm thư viện (hàm chuẩn) : hàm định nghĩa sẵn thư viện đó, muốn sử dụng thư viện phải khai báo thư viện - trước sử dụng lệnh #include Hàm người dùng : hàm người dùng lập trình tạo nhằm đáp ứng nhu cầu Câu : - Cấu trúc while + Cú pháp: while(biểu thức) Khối lệnh; + Sự hoạt động vòng lặp while: Bước 1: tính giá trị (biểu thức) sau while Bước 2: giá trị tính (biểu thức) ‘sai’ (==0) kết thúc vịng lặp while Bước 3: giá trị (biểu thức) ‘đúng’ (!=0) thực khối lệnh sau while Bước 4: quay lại bước Chú ý: Thân while thực lần nhiều lần khơng thực lần từ đầu biểu thức sau while sai + Biểu diễn lưu đồ: - Cấu trúc lặp for +Cú pháp: for (biểu thức 1; biểu thức 2; biểu thức 3) Khối lệnh; Trong đó: Biểu thức 1: biểu thức khởi đầu Biểu thức 2: biểu thức điều kiện - điều kiện lặp Biểu thức 3: bước nhảy - thường dùng với ý nghĩa thay đổi bước nhảy Cả biểu thức tuỳ chọn, chúng vắng mặt câu lệnh cụ thể dấu chấm phẩy phải có +Sự hoạt động vòng lặp for: Bước 1: Thực biểu thức khởi đầu – Biểu thức Bước 2: Tính giá trị biểu thức để xác định điều kiện lặp Nếu biểu thức có giá trị ‘sai’ (==0) khỏi vịng lặp Ngược lại, biểu thức có giá trị ‘đúng’ ( khác 0) chuyển tới bước Bước 3: Thực khối lệnh sau for ( thân for ), chuyển tới bước Bước 4: Thực biểu thức 3, quay bước +Biểu diễn lưu đồ: - Cấu trúc lặp “do-while” +Cú pháp: Khối lệnh; while (biểu thức); +Giải thích cú pháp: Bước 1: thực khối lệnh sau Bước 2: kiểm tra giá trị biểu thức sau while, có giá trị ‘đúng’ ( khác 0) lặp lại bước 1, ‘sai’ (=0) kết thúc vịng lặp + Biểu diễn lưu đồ: - Cấu trúc lựa chọn: switch Cú pháp lệnh switch kiểm tra vài giá trị cho biểu thức, tương tự với làm đầu liên kết vài lệnh if else if với Dạng thức sau: switch (expression) { case constant1: block of instructions break; case constant2: block of instructions break; default: default block of instructions } Nó hoạt động theo cách sau: switch tính biểu thức kiểm tra xem có constant1 hay khơng, thực block of instructions tìm thấy từ khố break, sau nhảy đến phần cuối cấu trúc lựa chọn switch Còn khơng, switch kiểm tra xem biểu thức có constant2 hay khơng Nếu thực block of instructions tìm thấy từ khố break Cuối cùng, giá trị biểu thức khơng định (bạn định câu lệnh case tuỳ thích), chương trình thực lệnh phần default: Nếu tồn phần khơng bắt buộc phải có Sự khác while while While dùng để kiểm tra điều kiện trước; điều kiện trả true thực thi câu lệnh bên Do-While dùng để thực thi câu lệnh bên lầntrước kiểm tra điều kiện; điều kiện trả true tiếp tục thực thi; điều kiện false khỏi vịng lặp Phương pháp đọc giá trị cảm biến DS1820 theo chuẩn giao tiếp dây(onewire) Chuẩn onewire theo phương thức giao tiếp master/slave Các hàm hỗ trợ để thực việc giao tiếp DS1820 với vi điều khiển Nội dung hàm sau : - Sbit OW_Bit at P1_2_bit; //Khởi tạo chân data - Unsigned short Ow_Reset(); //Phát lệnh reset cảm biến DS1820 - Unsigned short Ow_read(); //Đọc liệu từ cảm biến DS1820,dữ liệu - trả dạng unsigned short Void Ow_Write(char par) //Gửi lệnh xuống DS1820 Câu 3: Các phép dịch bit C Phép dịch trái (Shl): x Shl i cho gái trị nhận từ số nguyên x sau dịch số qua trái i bit - Quy tắc: Muốn nhân số với ta dịch số qua trái bit Tổng quát, muốn nhân sốnguyene với 2^i ta dịch số qua trái i bit; x Shl i= x*n; với n=2^i Trong C không hỗ trợ phép tốn dùng phép chia ngun cho 2^i để thực hiện: VD: { char x, y; x=19; //x=00010011// y=x Shl 2; //y=01001100=x*4=76// } Dịch trái đượ cký hiệu : dịch chuyển toàn dãy bit sang phải theo số bit cho yêu cầu dịch Vídụ: 1011 >> = 0101 Chương trình Led đuổi PORT1 dùng phép dịch bit // ============================================= // chuong trinh LED duoi su dung phep dich bit void main() { int I ; { // tat tat ca cac LED P0 = 0xff ; // tat cac LED tren PORT0 P1 = 0xff ; // tat cac LED tren PORT1 P2 = 0xff ; // tat cac LED tren PORT2 P3 = 0xff ; // tat cac LED tren PORT3 // LED duoi tren PORT1 P1 = 0xFE ; for(i=0; i

Ngày đăng: 08/10/2021, 09:07

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w