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

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

Môn:
Trường:

Đại học Công Nghệ Đông Á 73 tài liệu

Thông tin:
10 trang 11 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

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

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

94 47 lượt tải Tải xuống
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?: