Đăng ký Đăng nhập
Trang chủ Báo cáo thí nghiệm ngôn ngữ lập trình...

Tài liệu Báo cáo thí nghiệm ngôn ngữ lập trình

.PDF
47
1
74

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO THÍ NGHIỆM NGÔN NGỮ LẬP TRÌNH Họ và tên sinh viên: Mã lớp LT: Mã lớp TN: Mã số SV: Lớp: 1 2 MODUL 1 Bài 1: Dùng toán tử gán thể hiện giá trị nhị phân của các số nguyên trên các LED đơn mắc kiểu anot chung Yêu cầu:   Mở rộng cho trường hợp 8 LED Gán giá trị cho biến DELAY để thay đổi tốc độ chạy các LED a. Sơ đồ nguyên lý b. Code #include Output led0=3; Output led1=4; Output led2=5; 3 Output led3=6; Output led4=7; Output led5=8; Output led6=9; Output led7=10; Delay DELAY; void setup() { // put your setup code here, to run once: } void loop() { led0=0; led1=1; led2=1; led3=1; led4=1; led5=1; led6=1; led7=1; DELAY=100; led0=1; led1=0; led2=1; led3=1; led4=1; led5=1; led6=1; led7=1; DELAY=100; led0=1; led1=1; led2=0; led3=1; led4=1; led5=1; led6=1; led7=1; DELAY=100; led0=1; led1=1; led2=1; led3=0; led4=1; led5=1; led6=1; led7=1; DELAY=100; led0=1; led1=1; led2=1; led3=1; led4=0; led5=1; led6=1; led7=1; DELAY=100; 4 led0=1; led1=1; led2=1; led3=1; led4=1; led5=0; led6=1; led7=1; DELAY=100; led0=1; led1=1; led2=1; led3=1; led4=1; led5=1; led6=0; led7=1; DELAY=100; led0=1; led1=1; led2=1; led3=1; led4=1; led5=1; led6=1; led7=0; DELAY=100; } c. Kết quả Bài 2: Dùng toán tử số học để thể hiện giá trị nhị phân của các số nguyên trên các LED đơn mắc kiểu anot chung 5 Yêu cầu: Mở rộng cho trường hợp 8 LED a. Sơ đồ nguyên lý b. Code: #include Output led0=3; Output led1=4; Output led2=5; Output led3=6; Output led4=7; Output led5=8; Output led6=9; Output led7=10; Delay DELAY; 6 unsigned int value; void setup() { // put your setup code here, to run once: } void loop() { value = ~1; led0=value / 1 % 2; led1=value / 2 % 2; led2=value / 4 % 2; led3=value / 8 % 2; led4=value / 16 % 2; led5=value / 32% 2; led6=value / 64% 2; led7=value / 128% 2; DELAY = 500; value = ~2; led0=value / 1 % 2; led1=value / 2 % 2; led2=value / 4 % 2; led3=value / 8 % 2; led4=value / 16 % 2; led5=value / 32% 2; led6=value / 64% 2; led7=value / 128% 2; DELAY=500; 7 value = ~4; led0=value / 1 % 2; led1=value / 2 % 2; led2=value / 4 % 2; led3=value / 8 % 2; led4=value / 16 % 2; led5=value / 32% 2; led6=value / 64% 2; led7=value / 128% 2; DELAY=500; value = ~8; led0=value / 1 % 2; led1=value / 2 % 2; led2=value / 4 % 2; led3=value / 8 % 2; led4=value / 16 % 2; led5=value / 32% 2; led6=value / 64% 2; led7=value / 128% 2; DELAY=500; } c. Kết quả 8 Bài 3: Dùng vòng lặp để thể hiện giá trị nhị phân của các số nguyên trên các LED đơn mắc kiểu anot chung. Yêu cầu:    Mở rộng cho trường hợp 8 LED. Thay các vòng lặp for bằng các vòng lặp while Viết code để từng led sáng từ phải sang trái và ngược lại. a. Sơ đồ nguyên lý 9 b. Code #include int led_band=3; Delay DELAY; unsigned int value; void setup() { for (int i = 0; i < 8; i++){ Output led = led_band + i; led = 1; //tắt led } void loop() { value = 1; int i=0, b=2; while(i < 8){ 10 Output led = led_band + i; led = value/b%2; DELAY = 500; Led = value/b%2+1; b *= 2; i++; } i = 7; while ( i > -1){ Output led = led_band + i; led = value/b%2; DELAY = 500; led = value/b%2 + i; b *= 2; i--; } } c. Kết quả 11 Bài 4: Dùng các toán tử xử lý bit (Bitwise operators) để thể hiện giá trị nhị phân của các số nguyên trên các LED đơn mắc anot chung. Yêu cầu:   Mở rộng cho trường hợp 8 LED Viết code để từng LED sáng theo chiều ngược lại a. Sơ đồ nguyên lý 12 b. Code #include unsigned int value, i, a; unsigned int led_band=3; Delay DELAY; void setup() { // put your setup code here, to run once: for (int i = 0; i < 8; i++){ Output led = led_band + i; led = 1; //tắt led } void loop() { value = 128; 13 while (value > 0){ for (i = 0 ; i < 8 ; i ++) { a = ~value; Output led = led_band+i; led = (a>>i) &1; } DELAY = 100; value >>= 1; } } c. Kết quả Bài 5: Thể hiện các số trên LED 7 thanh mắc anot chung Yêu cầu: 14    Tắt dần chấm trên LED Chuyển hiển thị đến các LED khác Mở rộng cho các chữ số hệ thập phân a. Sơ đồ nguyên lý b. Code #include Delay DELAY; //gán các thanh cho các chân. Output a = 3; Output b = 4; Output c = 5; Output d = 6; Output e = 7; Output f = 8; 15 Output g = 9; Output dp = 10; void setup() { } void loop() { // số 0 a = 0; b = 0; c = 0; d = 0; e = 0; f = 0; g = 1; dp = 1; DELAY = 200; //số 1 a= 1; b = 0; c = 0; d = 1; e = 1; f = 1; g = 1; dp = 1; DELAY = 100; //số 2 a = 0; b = 0; c = 1; d= 0; e = 0; f= 1; g = 0; dp = 1; DELAY = 200; //số 3 a= 0; b = 0; c= 0; d = 0; e = 1; f = 1; g = 0; dp = 1; DELAY = 200; //số 4 a = 1; b = 0; c = 0; d = 1; e = 1; f = 0; g = 0; dp = 1; DELAY = 200; //số 5 16 a = 0; b = 1; c = 0; d = 0; e = 1; f = 0; g = 0; dp = 1; DELAY = 200; //số 6 a = 0; b = 1; c = 0; d = 0; e = 0; f = 0; g = 0; dp = 1; DELAY = 200; //số 7 a = 0; b = 0; c = 0; d = 1; e = 1; f = 1; g = 1; dp = 1; DELAY = 200; //số 8 a = 0; b = 0; c = 0; d = 0; e = 0; f = 0; g = 0; dp = 1; DELAY = 200; //số 9 a = 0; b = 0; c = 0; d = 0; e = 1; f = 0; g = 0; dp = 1; DELAY = 200; } c. Kết quả 17 18 MODUL 2 Bài 6 : Yêu cầu :  Sử dụng mảng để thể hiện các số trên LED 7 thanh mắc anot chung  Viết code để đưa giá trị ra LED được chọn a. Sơ đồ nguyên lý b. Code : #include Delay DELAY; Output LEDS[4]; Output PINS[8]; const int N = 4; 19 unsigned int code7[] = {0xc0, 0xf9, 0xa4, 0xb0 ,0x99 ,0x92 ,0x82, 0xF8 , 0x80 , 0x90}; void setup() { for (int i = 0; i < N; i++) { Output led = i + 2; led = 1; // LEDS[i] = led; } for (int i = 0; i < 8; i++) { Output pin = LED7_A + i; PINS[i] = pin; } } void loop() { for( int m = 0; m < 10; m++){ for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { LEDS[j] = (i == j); int code = code7[m]; for(int k = 0; k < 8; k++){ PINS[k] = (code >> k) & 1; } 20
- Xem thêm -

Tài liệu liên quan