0% found this document useful (0 votes)
12 views8 pages

PHUCKIETNGHIEM

Uploaded by

thanthaibachkhoa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views8 pages

PHUCKIETNGHIEM

Uploaded by

thanthaibachkhoa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BÁO CÁO THỰC HÀNH


VI ĐIỀU KHIỂN

Giảng viên hưỡng dẫn: Nguyễn Trọng Huân


SVTH: Phan Đặng Hoàng Phúc MSSV: 2282500912 Lớp:22DOTC4
Huỳnh Anh Kiệt MSSV: 2282500637 Lớp:22DOTC4
Vương Quang Ngiêm MSSV:2282500796 Lớp:22DOTC4

Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ


Lớp: 22DOTC4

Tp.HCM, ngày 28 tháng 12 năm 2024


Bài 2.1

#include <Bai 2_1.h>


#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8M)
void delay400ms()
{
setup_timer_1(T1_INTERNAL|T1_DIV_BY_2);
for(int i=0; i<10; i++)
{
set_timer1(25536);
while(get_timer1() > 25536);
}
}
void main(void)
{
while(1)
{
output_c(0x01);
delay400ms();
output_c(0x00);
delay400ms();
}

}
Bài 2.2
#include <Bai 2_2.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8M)
void delay400ms()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
for(int16 i=0; i<800; i++)
{
set_timer0(0);
WHILE(get_timer0() <250);
}
}
void main(void)
{
while(1)
{
output_c(0x01);
delay400ms();
output_c(0x00);
delay400ms();
}

}
Bài 2.3

#include <Bai 2_3.h>


#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8M)
#INT_TIMER1
void qled()
{
output_d(0xff);
output_b(0x91); output_low(PIN_D3); delay_ms(3);
output_d(0xff);
output_b(0x61); output_low(PIN_D2); delay_ms(3);
output_d(0xff);
output_b(0xe3); output_low(PIN_D1); delay_ms(3);
output_d(0xff);
output_b(0x31); output_low(PIN_D0); delay_ms(3);
}
void main(void)
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER1);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
while(1);
}
Bài 2.4
#include <BAI 2.4.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8M)

int16 dem;
int16 tram, chuc, donvi;
int8 i;
char led7s[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};

void delay_100ms() {
Setup_timer_1(T1_INTERNAL | T1_DIV_BY_2);
For (i = 0; i < 5; i++) {
set_timer1(25536);
while (get_timer1() > 25536);
}
}

#INT_TIMER0
void qled() {
Output_d(0xff);
Output_b(LED7s[tram]);
output_low(PIN_D2);
delay_ms(2);
Output_d(0xff);
Output_b(LED7s[chuc]);
output_low(PIN_D1);
delay_ms(2);

Output_d(0xff);
Output_b(LED7s[donvi]);
output_low(PIN_D0);
delay_ms(2);
}

void main(void) {
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
setup_timer_0(RTCC_DIV_64 | RTCC_INTERNAL);
set_timer0(193);
dem = 0;

while (1) {
tram = dem / 100;
chuc = (dem % 100) / 10;
donvi = dem % 10;

dem = dem + 1;

// N?u dem d?t 999, gi? nguyên giá tr? 999


if (dem > 199) {
dem = 199;
}

delay_100ms();
}
}
Bài 2.5
#include <BAI 2.5.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8M)
int8 dv,chuc,dem;
int8 den[9]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
const int8 led[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
const unsigned char ct[2]={0x63,0xE0};
void dl_ms(int16 x)
{
for(int16 j=0;j<x;j++)
delay_us(1000);
}
#INT_TIMER1
void qled()
{
dv=dem%10;
chuc=dem/10;
output_d(0xff);
output_b(led[chuc]);
output_low(pin_D1);
delay_ms(3);
output_d(0xff);
output_b(led[dv]);
output_low(pin_D0);
delay_ms(3);
output_d(0xff);
output_b(ct[1]);
output_low(pin_D2);
delay_ms(3);
output_d(0xff);
output_b(ct[0]);
output_low(pin_D3);
delay_ms(3);
}
void main(void)
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
while(dem<10)
{
for(int8 t=0;t<9;t++)
{
output_c(den[t]);
dl_ms(100);
}
dem=dem+1;
}
While(TRUE)
{
dem=10;
qled();
}
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy