Đề cương mạng máy tính

Đề cương mạng máy tính

lOMoARcPSD|19704 494
Phần 1: Counter
Câu 1.
a.Thiết kế mạch điện như sau:
- Các linh kin được sử dụng: Các điện trở, 02 LED 7 thanh ; 02 nút nhấn thường mở
(PB).
- Sử dụng các chân RD0 ÷ RD7, RE1, RE1 nối với 02 LED 7 thanh. PB1 được ni vi
chân RA4/T0CKI; PB2 được ni với chân RB0.
b. Vẽ lưu đồ thuật toán viết chương trình theo yêu cầu như sau:
- Sử dụng Timer0 đếm số lần nhấn PB1 và hiển th trên 02 LED 7 thanh bng phương
pháp quét. Dừng đếm khi số ln nhấn vượt q20 lần.
- Khi nhấn PB2, số lần nhấn được reset về 0.
//khai báo các thu vi?n, d?:
#include <P18f4520.h>
#include <delays.h>
#include <timers.h>
//C?unh cho vi di?u khi?n, d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u nh thành các chân vào/ra
s?
//ON: PORTB<4:0> du?c c?u nh thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
lOMoARcPSD|19704 494
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong trình con, d?:*/
int x;
char m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//Khai báo tên các chuong trình con, ví d?:
void high_isr (void);
//vi?t các chuong trình con, ví d?:
void high_isr (void)
{
//các câu l?nh
}
//chuong trình chính
void main (void)
{
ADCON1=0X0F; TRISA=0XFF; TRISB=0XFF; TRISD=0; TRISE=0;
OpenTimer0(TIMER_INT_OFF&T0_SOURCE_EXT&T0_EDGE_FALL&T0_8BIT
&T0_PS_1_1);
//T0CON=0b11111000;
WriteTimer0(0);
//TMR0H=0; TMR0L=0;
while(1)
{
if(PORTBbits.RB0==0) //nhan
{WriteTimer0(0);TRISA=0XFF;}
else
}
}
{
x=ReadTimer0(); //x=TMR0L
PORTE=0b00000001; //Bat LED1, tat LED2
PORTD=m[x/10]; // x=12=> x/10=1 => PORTD=m[1]
Delay10KTCYx(10);
PORTE=0b00000010; //Bat LED2, tat LED1
PORTD=m[x%10]; // x=12=> x%10=2 => PORTD=m[2]
Delay10KTCYx(10);
if(x>=20) TRISA=0;
}
Câu 2.
a.Thiết kế mạch điện như sau:
- Các linh kin được sử dụng: Các điện trở, 02 LED 7 thanh ; 02 nút nhấn thường mở
(PB).
lOMoARcPSD|19704 494
- Sử dụng các chân RD0 ÷ RD7, RE1, RE1 ni với 02 LED 7 thanh. PB1 được ni với
chân RC0/T13CKI; PB2 được nối vi chân RB0.
b. Vẽ lưu đồ thuật toán viết chương trình theo yêu cầu như sau:
- Sử dụng Timer1/Timer3 đếm số ln nhấn PB1 hin th trên 02 LED 7 thanh bằng
phương pháp quét. Dừng đếm khi số lần nhấn vượt quá 20 ln.
- Khi nhấn PB2, số lần nhấn được reset về 0.
//khai báo các thu vi?n, d?:
#include <P18f4520.h>
#include <delays.h>
#include <timers.h>
//C?unh cho vi di?u khi?n, d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u nh thành các chân vào/ra
s?
//ON: PORTB<4:0> du?c c?u hình thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
#define KEY1 PORTCbits.RC0
#define KEY2 PORTBbits.RB0
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong trình con, d?:*/
int dem;
char m[10];
//Khai báo tên các chuong trình con, ví d?:
void high_isr (void);
//vi?t các chuong trình con, ví d?:
void high_isr (void)
{
//các câu l?nh
}
void hienthi(int x)
{
char M[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
PORTEbits.RE0=1;
PORTEbits.RE1=0;
PORTD=M[x/10];
Delay10KTCYx(10);
PORTEbits.RE0=0;
PORTEbits.RE1=1;
PORTD=M[x%10];
Delay10KTCYx(10);
lOMoARcPSD|19704 494
}
//chuong trình chính
void main (void)
{
ADCON1=0x0f;
TRISC=TRISB=0x01;
TRISD=TRISE=0;
OpenTimer1(TIMER_INT_OFF & T1_16BIT_RW
&T1_SOURCE_EXT& T1_PS_1_1&T1_OSC1EN_OFF);
WriteTimer1(0);//Nap gia tri
T1CONbits.TMR1ON=1;//bat timer
while(1)
{
dem=ReadTimer1();
if(dem>=20)
TRISC=0;
if(KEY2==0)
WriteTimer1(0);
hienthi(dem);
}
}
lOMoARcPSD|19704 494
Phần 2: USART
Câu 1.
a.Thiết kế mạch điện như sau:
- Các linh kin được sử dụng: PIC18F4520, 01 đin trở, 01 nút nhấn thưng m(PB)
và VITUAL TERMINAL
- USART ca PIC18F4520 ni với VIRTUAL TERMINAL.
- Nút nhấn ni với chân RD0.
b. Vẽ lưu đồ thuật toán viết chương trình theo yêu cầu như sau:
Thiết lập USART vi các thông số: Kng sử dụng ngắt; chế độ không đồng bộ;
truyn/nhận 8 bit; nhận liên tục các byte; tốc độ baud cao; tốc độ baud: 4800.
PIC18F4520 hoạt động ở tần số 11.0592 Mhz.
- Đếm số ln nhấn PB và hin th trên hin thị trên VIRTUAL TERMINAL dưới dạng
số thập phân;
- Dừng đếm khi nhận được từ VIRTUAL TERMINAL tự a hoặc số lần nhấn lớn
n 25.
//khai báo các thu vi?n, ví d?:
#include <P18f4520.h>
#include <delays.h>
lOMoARcPSD|19704 494
#include <usart.h>
//C?u h´nh cho vi di?u khi?n, d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u h´nh thành các chân
//ON: PORTB<4:0> du?c c?u h´nh thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong tr´
nh con, ví d?:*/
#define KEY1 PORTBbits.RB0
int dem;
void send_USART(int x)
{
WriteUSART(x/10 + 0x30);// chuyen tu so sang ma ASCII
Delay10KTCYx(2);
WriteUSART(x%10 + 48);// chuyen tu so sang ma ASCII
Delay10KTCYx(2);
WriteUSART(0x0D);// xuong dong
Delay10KTCYx(2);
}
void main (void)
{
char dem,giatri,giatri1;
ADCON1=0X0F;
lOMoARcPSD|19704 494
TRISC=0x80;
TRISB=0x01; // RB0 chieu vao
OpenUSART(USART_TX_INT_OFF &USART_RX_INT_OFF &
USART_ASYNCH_MODE &USART_EIGHT_BIT &USART_CONT_RX &
USART_BRGH_HIGH,143);
dem=0;
while(1)
{
giatri1=dem;
if(KEY1==0)
{
while(KEY1==0);
dem++;
}
giatri=ReadUSART();
if(dem>=25 || giatri=='a')
CloseUSART();
else
{
if (giatri1!=dem)
send_USART(dem);
}
}
}
lOMoARcPSD|19704 494
Câu 2.
a.Thiết kế mạch điện như sau:
- Các linh kin được sử dụng: vi điều khiển PIC18F4520, các điện trở, 02 LED.
- USART ca PIC18F4520 ni với VIRTUAL TERMINAL.
- LED1, LED2 được ni với với các chân RB2, RB3.
b. Vẽ lưu đồ thuật toán viết chương trình theo yêu cầu như sau:
Thiết lập USART vi các thông số: Kng sử dụng ngắt; chế độ không đồng bộ;
truyn/nhận 8 bit; nhận liên tc các byte; tốc độ baud cao; tốc đ baud: 19200.
PIC18F4520 hoạt động ở tần số 11,0592 Mhz.
- Khi bt đầu bật ngun, hin th họ tên, mã sinh viên ở đầu dòng thứ nhát, mã lớp học
phần đầu dòng thứ 2;
- PIC18F4520 nhận các tự từ VIRTUAL TERMINAL và điu khiển LED1 ng
khi nhận được tự a, tắt khi nhận tự b; điu khin LED2 ng khi nhận được
tự c, tắt khi nhận ký tự d.
//khai báo các thu vi?n, ví d?:
lOMoARcPSD|19704 494
#include <P18f4520.h>
#include <delays.h>
#include <usart.h>
//C?u h´nh cho vi di?u khi?n, d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u h´nh thành các chân vào/ra
//ON: PORTB<4:0> du?c c?u h´nh thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong tr´
nh con, ví d?:*/
#define LED1 PORTBbits.RB2
#define LED2 PORTBbits.RB3
int dem;
void main (void)
{
char giatri;
char M1[]={"Ho va ten"};
char M2[]={"Ma lop"};
ADCON1=0X0F;
TRISC=0B10000000; // 8 chan port D co chieu ra
TRISB=0;
OpenUSART(USART_TX_INT_OFF &USART_RX_INT_OFF & // fosc=11.0592;
//baud=19200
USART_ASYNCH_MODE &USART_EIGHT_BIT &
USART_CONT_RX & USART_BRGH_HIGH,35);
putsUSART(M1);
WriteUSART(0x0D);// Xuong dong
putsUSART(M2);
while(1)
{
giatri=ReadUSART();
if(giatri=='a')
LED1=1;
if(giatri=='b')
LED1=0;
if(giatri=='c')
LED2=1;
if(giatri=='d')
LED2=0;
}
lOMoARcPSD|19704 494
}
| 1/10

Preview text:

l OM oARc PSD|19 70 4 49 4 Phần 1: Counter Câu 1.
a.Thiết kế mạch điện như sau:
- Các linh kiện được sử dụng: Các điện trở, 02 LED 7 thanh ; 02 nút nhấn thường mở (PB).
- Sử dụng các chân RD0 ÷ RD7, RE1, RE1 nối với 02 LED 7 thanh. PB1 được nối với
chân RA4/T0CKI; PB2 được nối với chân RB0.
b. Vẽ lưu đồ thuật toán và viết chương trình theo yêu cầu như sau:
- Sử dụng Timer0 đếm số lần nhấn PB1 và hiển thị trên 02 LED 7 thanh bằng phương
pháp quét. Dừng đếm khi số lần nhấn vượt quá 20 lần.
- Khi nhấn PB2, số lần nhấn được reset về 0.
//khai báo các thu vi?n, ví d?: #include #include #include
//C?u hình cho vi di?u khi?n, ví d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u hình thành các chân vào/ra s?
//ON: PORTB<4:0> du?c c?u hình thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer l OM oARc PSD|19 70 4 49 4
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong trình con, ví d?:*/ int x;
char m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//Khai báo tên các chuong trình con, ví d?: void high_isr (void);
//vi?t các chuong trình con, ví d?: void high_isr (void) { //các câu l?nh } //chuong trình chính void main (void) {
ADCON1=0X0F; TRISA=0XFF; TRISB=0XFF; TRISD=0; TRISE=0;
OpenTimer0(TIMER_INT_OFF&T0_SOURCE_EXT&T0_EDGE_FALL&T0_8BIT &T0_PS_1_1); //T0CON=0b11111000; WriteTimer0(0); //TMR0H=0; TMR0L=0; while(1) { if(PORTBbits.RB0==0) //nhan {WriteTimer0(0);TRISA=0XFF;} else { x=ReadTimer0(); //x=TMR0L
PORTE=0b00000001; //Bat LED1, tat LED2
PORTD=m[x/10]; // x=12=> x/10=1 => PORTD=m[1] Delay10KTCYx(10);
PORTE=0b00000010; //Bat LED2, tat LED1
PORTD=m[x%10]; // x=12=> x%10=2 => PORTD=m[2] Delay10KTCYx(10); if(x>=20) TRISA=0; } } } Câu 2.
a.Thiết kế mạch điện như sau:
- Các linh kiện được sử dụng: Các điện trở, 02 LED 7 thanh ; 02 nút nhấn thường mở (PB). l OM oARc PSD|19 70 4 49 4
- Sử dụng các chân RD0 ÷ RD7, RE1, RE1 nối với 02 LED 7 thanh. PB1 được nối với
chân RC0/T13CKI; PB2 được nối với chân RB0.
b. Vẽ lưu đồ thuật toán và viết chương trình theo yêu cầu như sau:
- Sử dụng Timer1/Timer3 đếm số lần nhấn PB1 và hiển thị trên 02 LED 7 thanh bằng
phương pháp quét. Dừng đếm khi số lần nhấn vượt quá 20 lần.
- Khi nhấn PB2, số lần nhấn được reset về 0.
//khai báo các thu vi?n, ví d?: #include #include #include
//C?u hình cho vi di?u khi?n, ví d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u hình thành các chân vào/ra s?
//ON: PORTB<4:0> du?c c?u hình thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming) #define KEY1 PORTCbits.RC0 #define KEY2 PORTBbits.RB0
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong trình con, ví d?:*/ int dem; char m[10];
//Khai báo tên các chuong trình con, ví d?: void high_isr (void);
//vi?t các chuong trình con, ví d?: void high_isr (void) { //các câu l?nh } void hienthi(int x) {
char M[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; PORTEbits.RE0=1; PORTEbits.RE1=0; PORTD=M[x/10]; Delay10KTCYx(10); PORTEbits.RE0=0; PORTEbits.RE1=1; PORTD=M[x%10]; Delay10KTCYx(10); l OM oARc PSD|19 70 4 49 4 } //chuong trình chính void main (void) { ADCON1=0x0f; TRISC=TRISB=0x01; TRISD=TRISE=0;
OpenTimer1(TIMER_INT_OFF & T1_16BIT_RW
&T1_SOURCE_EXT& T1_PS_1_1&T1_OSC1EN_OFF); WriteTimer1(0);//Nap gia tri
T1CONbits.TMR1ON=1;//bat timer while(1) { dem=ReadTimer1(); if(dem>=20) TRISC=0; if(KEY2==0) WriteTimer1(0); hienthi(dem); } } l OM oARc PSD|19 70 4 49 4 Phần 2: USART Câu 1.
a.Thiết kế mạch điện như sau:
- Các linh kiện được sử dụng: PIC18F4520, 01 điện trở, 01 nút nhấn thường mở (PB) và VITUAL TERMINAL
- USART của PIC18F4520 nối với VIRTUAL TERMINAL.
- Nút nhấn nối với chân RD0.
b. Vẽ lưu đồ thuật toán và viết chương trình theo yêu cầu như sau:
Thiết lập USART với các thông số: Không sử dụng ngắt; chế độ không đồng bộ;
truyền/nhận 8 bit; nhận liên tục các byte; tốc độ baud cao; tốc độ baud: 4800.
PIC18F4520 hoạt động ở tần số 11.0592 Mhz.
- Đếm số lần nhấn PB và hiển thị trên hiển thị trên VIRTUAL TERMINAL dưới dạng số thập phân;
- Dừng đếm khi nhận được từ VIRTUAL TERMINAL ký tự a hoặc số lần nhấn lớn hơn 25.
//khai báo các thu vi?n, ví d?: #include #include l OM oARc PSD|19 70 4 49 4 #include
//C?u h´nh cho vi di?u khi?n, ví d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u h´nh thành các chân
//ON: PORTB<4:0> du?c c?u h´nh thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong tr´ nh con, ví d?:*/ #define KEY1 PORTBbits.RB0 int dem; void send_USART(int x) {
WriteUSART(x/10 + 0x30);// chuyen tu so sang ma ASCII Delay10KTCYx(2);
WriteUSART(x%10 + 48);// chuyen tu so sang ma ASCII Delay10KTCYx(2);
WriteUSART(0x0D);// xuong dong Delay10KTCYx(2); } void main (void) { char dem,giatri,giatri1; ADCON1=0X0F; l OM oARc PSD|19 70 4 49 4 TRISC=0x80; TRISB=0x01; // RB0 chieu vao
OpenUSART(USART_TX_INT_OFF &USART_RX_INT_OFF &
USART_ASYNCH_MODE &USART_EIGHT_BIT &USART_CONT_RX & USART_BRGH_HIGH,143); dem=0; while(1) { giatri1=dem; if(KEY1==0) { while(KEY1==0); dem++; } giatri=ReadUSART(); if(dem>=25 || giatri=='a') CloseUSART(); else { if (giatri1!=dem) send_USART(dem); } } } l OM oARc PSD|19 70 4 49 4 Câu 2.
a.Thiết kế mạch điện như sau:
- Các linh kiện được sử dụng: vi điều khiển PIC18F4520, các điện trở, 02 LED.
- USART của PIC18F4520 nối với VIRTUAL TERMINAL.
- LED1, LED2 được nối với với các chân RB2, RB3.
b. Vẽ lưu đồ thuật toán và viết chương trình theo yêu cầu như sau:
Thiết lập USART với các thông số: Không sử dụng ngắt; chế độ không đồng bộ;
truyền/nhận 8 bit; nhận liên tục các byte; tốc độ baud cao; tốc độ baud: 19200.
PIC18F4520 hoạt động ở tần số 11,0592 Mhz.
- Khi bắt đầu bật nguồn, hiển thị họ tên, mã sinh viên ở đầu dòng thứ nhát, mã lớp học
phần ở đầu dòng thứ 2;
- PIC18F4520 nhận các ký tự từ VIRTUAL TERMINAL và điều khiển LED1 sáng
khi nhận được ký tự a, tắt khi nhận ký tự b; điều khiển LED2 sáng khi nhận được ký
tự c, tắt khi nhận ký tự d.
//khai báo các thu vi?n, ví d?: l OM oARc PSD|19 70 4 49 4 #include #include #include
//C?u h´nh cho vi di?u khi?n, ví d?:
#pragma config OSC = HS //ch? d? dao d?ng HS
#pragma config MCLRE = ON //s? d?ng RE3 làm chân reset (OFF: không s? d?ng)
#pragma config WDT = OFF //không dùng Watchdog timer
#pragma config PBADEN = OFF //PORTB<4:0> du?c c?u h´nh thành các chân vào/ra
//ON: PORTB<4:0> du?c c?u h´nh thành các chân AN8-AN12
#pragma config PWRT=ON // s? d?ng Power-up timer
#pragma config BOREN=OFF // không s? d?ng ch?c nang Bown-out reset
//(reset khi Vdd xu?ng th?p du?i 1 ngu?ng)
#pragma config LVP=OFF //không d?ng ch? d? c?p ngu?n ch? t? m?ch n?p
//(Single-Supply ICSP Programming)
/*khai báo bi?n s?,h?ng s?,c?u trúc,chuong tr´ nh con, ví d?:*/ #define LED1 PORTBbits.RB2 #define LED2 PORTBbits.RB3 int dem; void main (void) { char giatri; char M1[]={"Ho va ten"}; char M2[]={"Ma lop"}; ADCON1=0X0F;
TRISC=0B10000000; // 8 chan port D co chieu ra TRISB=0;
OpenUSART(USART_TX_INT_OFF &USART_RX_INT_OFF & // fosc=11.0592; //baud=19200
USART_ASYNCH_MODE &USART_EIGHT_BIT &
USART_CONT_RX & USART_BRGH_HIGH,35); putsUSART(M1);
WriteUSART(0x0D);// Xuong dong putsUSART(M2); while(1) { giatri=ReadUSART(); if(giatri=='a') LED1=1; if(giatri=='b') LED1=0; if(giatri=='c') LED2=1; if(giatri=='d') LED2=0; } l OM oARc PSD|19 70 4 49 4 }
Document Outline

  • Phần 1: Counter
  • Câu 2.
  • Phần 2: USART
  • Câu 2. (1)
  • //khai báo các thu vi?n, ví d?: