Trang 1 TỎNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM Trang 2 Họ và tên: Đặng Trường Thịnh Mssv: 42100128 BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 4: INTERFACE WITH THE LCD, LED Exercise 1: The studen
Trang 1TỎNG LIÊN ĐOÀN LAO ĐỘNG VIỆT
Trang 2Họ và tên: Đặng Trường Thịnh
Mssv: 42100128
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 4: INTERFACE WITH THE LCD, LED Exercise 1: The students connect the circuit schematic as follows, it include DS1307,
IC74HC595…Write program to display hour, minute, second
*Sơ đồ nguyên lý
*Lưu đồ giải thuật
Trang 4int16 Code7Segdv[] = {0x40c0, 0x40f9, 0x40a4, 0x40b0, 0x4099, 0x4092, 0x4082, 0x40f8, 0x4080, 0x4090};
int32 dem=0,chucngan=0,ngan=0,tram=0,chuc=0,donvi=0,tramngan=0;
int8 m;
char gio,phut,giay;
#define SHCP_PIN PIN_C0
#define DS_PIN PIN_C1
#define STCP_PIN PIN_C2
void IC_74ls595(int16 data)
Trang 5IC_74ls595(Code7Segtram[tram]);IC_74LS595_Output();
IC_74ls595(Code7Segchuc[chuc]);IC_74LS595_Output();
IC_74ls595(Code7Segdv[donvi]);IC_74LS595_Output();
m++;
Trang 6Mạch này trong thực tế làm đồng hồ, bộ đếm giờ
Exercise 2: Write the program read the date, month and year data from the DS1307
and then display on the 7 segment Leds
*Sơ đồ nguyên lý
Trang 7*Lưu đồ giải thuật
*Chương trình
#define LCD_RS_PIN PIN_D0
Trang 8#define LCD_RW_PIN PIN_D1
#define LCD_ENABLE_PIN PIN_D2
#define LCD_DATA4 PIN_D3
#define LCD_DATA5 PIN_D4
#define LCD_DATA6 PIN_D5
#define LCD_DATA7 PIN_D6
Trang 9lcd_init();
lcd_putc('\f');
mytime = RTC_Get(); rtc_print();
delay_ms(1000);
mytime->hours = 15; mytime->minutes = 43; mytime->seconds = 12; mytime->day = 25; mytime->month = 12; mytime->year = 18; RTC_Set(mytime); OSC_Enable();
SQWE_Set(OUT_1Hz); while(TRUE)
{
mytime = RTC_Get(); rtc_print();
delay_ms(100); }
}
*Kết quả trên proteus
Trang 10*Comment
Mạch này trong thực tế làm đồng hồ, làm thông báo ngày tháng năm
Exercise 3: The students connect the scheme of circuit interface with LCD as follows
Write a program to read date, month and year data from DS1307 and then display on LCD
*Sơ đồ nguyên lý
Trang 11*Lưu đồ giải thuật
Trang 12#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_ENABLE_PIN PIN_B2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
Trang 13#include <lcd.c> //Dinh nghia chan xong moi khai bao <lcd.c> unsigned int8 second,minute,hour;
unsigned int8 day,month,year,dow;
BYTE bcd2bin(BYTE bcd_value);
BYTE bin2bcd(BYTE binary_value) //Convert from BIN to BCD {
unsigned int8 temp;
unsigned int8 retval;
Trang 15dow = bcd2bin(i2c_read() & 0x7f);
day = bcd2bin(i2c_read() & 0x3f);
Trang 16i2c_write(0xD1);
sec = bcd2bin(i2c_read() & 0x7f);
min = bcd2bin(i2c_read() & 0x7f);
lcd_gotoxy(1,1); //upper left, column 1 row 1
printf(lcd_putc," Time: %02d:%02d:%02d",hour,minute,second); lcd_gotoxy(1,2); //bottom left, column 1 row 2
printf(lcd_putc," Date: %02d/%02d/%02d",day,month,year);
} }
*Kết quả trên proteus
Trang 17*Comment
Mạch này trong thực tế làm đồng hồ, làm thông báo ngày tháng năm
Trang 18Họ và tên: Đặng Trường Thịnh
Mssv: 42100128
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 5: INTERFACE WITH THE ADC Exercise 1: Write a program to read the temperature from the LM35 sensor and
display it on the LCD
*Sơ đồ nguyên lý
*Lưu đồ giải thuật
Trang 20}
*Kết quả trên proteus
Trang 21*Comment
ADC được sử dụng trong thiết bị âm thanh, video và các thiết bị di động để chuyển đổi âm thanh hoặc tín hiệu hình ảnh thành dạng số để xử lý và lưu trữ
Exercise 2: Intergrated LCD module, retrieve the value from the a variable resistor
voltage displayed on the LCD
*Sơ đồ nguyên lý
Trang 22*Lưu đồ giải thuật
*Chương trình
#include <16F877A.h>
Trang 24và điều khiển các quá trình sản xuất
Exercise 3: Write a program to read the temperature from the LM35 sensor and display it
on the 7 segments
*Sơ đồ nguyên lý
Trang 25*Lưu đồ giải thuật
*Kết quả trên proteus
Trang 26*Comment
Sản phẩm tiêu dùng sử dụng bộ vi điều khiển bao gồm máy quay kỹ thuật số, đầu phát quang, màn hình LCD / LED…
Trang 27Họ và tên: Đặng Trường Thịnh
Mssv: 42100128
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 6: INTERFACE WITH THE KEYBOARD Exercise 1: Write a program to retrieve data from a keypress and then displays the
binary value of the key press on the single LED
*Sơ đồ nguyên lý
*Lưu đồ giải thuật
Trang 30Exercise 2: Write a program add 2 numbers of two-digit numbers and display on the
Trang 32*Comment
- Mạch này dùng để điều khiển led từ xa
Trang 33Họ và tên: Đặng Trường Thịnh
Mssv: 42100128
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 7: CONTROL DC MOTOR Exercise 1: The students connect the circuit as below figure, write program to control
the DC motor
*Sơ đồ nguyên lý
*Lưu đồ giải thuật
Trang 34#define UP PIN_B7 //B567(R123VCC) to button STOP DW UP to GND
#define DW PIN_B6 //171920 to DSW1 (1 to ocsilocop)to IN2IN1ENBA
#define STOP PIN_B5 // senSA senSB GND to GND //VCC Vs to VCC
Trang 35}
}
void main(){
set_tris_b(0xFF);
Trang 37*Comment
- Mạch này dùng để điều khiển động cơ từ xa
Trang 38Họ và tên: Đặng Trường Thịnh
Mssv: 42100128
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỂN UNIT 8: INTERFACE BUZZER Exercise 1: The students connect the circuit according to below circuit diagram to
write a music player with the following rules
*Sơ đồ nguyên lý
*Lưu đồ giải thuật
Trang 39#define option_1 PIN_d0
#define option_2 PIN_d1
#define option_3 PIN_d2
Trang 40for (i = 0; i < 5; i++) {
not(DO_);
}
for (i = 0; i < 5; i++) {
not(RE_);
}
for (i = 0; i < 5; i++) {
not(MI_);
}
}
if (!input(option_2))
Trang 41{
for (i = 0; i < 5; i++) {
not(RE_);
}
for (i = 0; i < 5; i++) {
not(MI_);
}
for (i = 0; i < 5; i++) {
not(FA_);
}
}
if (!input(option_3)) {
for (i = 0; i < 5; i++) {
not(MI_);
}
for (i = 0; i < 5; i++) {
not(FA_);
}
Trang 43*Comment
- Mạch này dùng để chỉnh âm thanh