1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI tập môn VI điều KHIỂN NÂNG CAO

33 886 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 29,81 KB

Nội dung

#include #include #pragma config OSC=HS #pragma config WDT=OFF #pragma config MCLRE=ON #pragma config PBADEN=OFF #define led1 PORTEbits.RE0 #define led2 PORTEbits.RE1 #define led3 PORTEb

Trang 1

BÀI TẬP MÔN VI ĐIỀU KHIỂN NÂNG CAO

1 Thiết kế ứng dụng với ngắt ngoài

Bài 01 Lập trình đếm sản phẩm trên chân ngắt INT0 và hiển thị trên 3 led 7 thanh

theo phương pháp quét led

#include<p18f4520.h>

#include<delays.h>

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define led1 PORTEbits.RE0

#define led2 PORTEbits.RE1

#define led3 PORTEbits.RE2

Trang 2

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define led1 PORTCbits.RC0

#define led2 PORTCbits.RC1

Trang 3

#define led3 PORTCbits.RC2

#define led4 PORTCbits.RC3

Trang 4

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define LCD_DATA PORTD

#define LCD_RS PORTEbits.RE0

#define LCD_RW PORTEbits.RE1

#define LCD_EN PORTEbits.RE2

void Lcd_configure(void);

void Lcd_Write_Command(char command);

void Lcd_Write_Data(char data);

void Lcd_Write_String(char*str);

void Lcd_configure(void)

Trang 6

#pragma code uu_tien_cao = 0x08 void ngat_cao(void)

SP++;

INTCON3bits.INT1IF=0;}

Trang 7

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define LCD_DATA PORTD

Trang 8

void Lcd_Write_Command(char command);void Lcd_Write_Data(char data);

Trang 10

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define LCD_DATA PORTD

Trang 12

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#define LCD_DATA PORTD

Trang 14

while(1)

{

Trang 15

2 Thiết kế ứng dụng với Timer

Bài 01 Lập trình tạo xung 1KHz với thạch anh 4MHz, sử dụng Timer0

để tạo xung

#include<p18f4520.h>

#include <delays.h>

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define xung PORTAbits.RA0

void main (void)

Trang 16

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define xung PORTAbits.RA0

void main (void)

Trang 17

Bài 03 Lập trình đếm sản phẩm sử dụng Timer0, sản phẩm được hiển thị với 4

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define DATA PORTD

#define RS PORTCbits.RC5

#define RW PORTCbits.RC6

#define EN PORTCbits.RC7

// dung nut nhan tren chan RA6

unsigned int sp;unsigned int bt;unsigned int bc;

void Lcd_configure (void);

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

void Lcd_configure (void)

Trang 19

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define DATA PORTD

#define RS PORTCbits.RC5

#define RW PORTCbits.RC6

#define EN PORTCbits.RC7

// dung nut nhan tren chan RC0

unsigned int sp;unsigned int bt;unsigned int bc;

void Lcd_configure (void);

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

void Lcd_configure (void)

Trang 21

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define DATA PORTD

#define RS PORTEbits.RE0

#define RW PORTEbits.RE1

#define EN PORTEbits.RE2

unsigned int ADC;

void Lcd_configure (void);

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

void Lcd_configure (void)

Trang 23

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define DATA PORTD

#define RS PORTCbits.RC5

#define RW PORTCbits.RC6

#define EN PORTCbits.RC7

unsigned int ADC;

void Lcd_configure (void);

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

Trang 24

void Lcd_configure (void)

Trang 25

OpenADC( ADC_FOSC_16 &

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

Trang 26

#pragma config LVP=OFF

#define DATA PORTD

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

void Lcd_configure (void)

Trang 27

Lcd_Write_Data ((dienap2%100)/10+0x30); Lcd_Write_Data ((dienap2%100)%10+0x30); }

}

Trang 28

Bài 04 Thiết kế bộ đo nhiệt độ sử dụng cảm biến LM35 và kênh AN6 hiển thị trên LCD.

#include<p18f4520.h>

#include <delays.h>

#include<adc.h>

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config LVP=OFF

#define DATA PORTD

#define RS PORTCbits.RC5

#define RW PORTCbits.RC6

#define EN PORTCbits.RC7

unsigned int ADC;

void Lcd_configure (void);

void Lcd_Write_Command (char command);

void Lcd_Write_Data (char data);

void Lcd_configure (void)

Trang 30

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

Trang 31

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config CCP2MX=PORTC

Trang 32

Bài 04 Lập trình cho bộ điều khiển mô tơ DC sử dụng PWM với yêu cầu:

- Nhấn nút ON thì TON = 50%

- Nhấn nút OFF thì TON = 0

- Nhấn nút UP thì TON tăng 5%(tăng tối đa 100%)

- Nhấn nút DOWN thì TON giảm 5%(giảm tối đa về 20%)

#include<p18f4520.h>

#include<pwm.h>

#pragma config OSC=HS

#pragma config WDT=OFF

#pragma config MCLRE=ON

#pragma config PBADEN=OFF

#pragma config CCP2MX=PORTC

Ngày đăng: 16/11/2015, 08:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w