Đếm từ 0 - 9 Led 7 đoạn PIC dùng Mlap.
Yêu cầu : Em hãy thiết kế mạch đếm từ 0 - 9 dùng PIC. ( âm chung - catot chung).
I. Chuẩn bị shematic.
II. SOURCODE NHƯ SAU :
#include <xc.h> #define _XTAL_FREQ 20000000 //define crystal frequency to 20MHz // This array stores binary bit pattern that will be send to PORTD unsigned char binary_pattern[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; void main(void) { TRISD = 0x00; //define PORTD as a output pin while(1) { //this loop sends all binary patterns to PORTD for (int i=0;i<10;i++) { PORTD = binary_pattern[i]; __delay_ms(1000); //add delay of one second } } return; }
* Mã từ số 0 - 9.
unsigned char binary_pattern[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
PORD = binary_pattern[1]; // HIỂN THỊ SỐ 1.
PORD = binary_pattern[2]; // HIỂN THỊ SỐ 2.
PORD = binary_pattern[3]; // HIỂN THỊ SỐ 3.
PORD = binary_pattern[4]; // HIỂN THỊ SỐ 4.
PORD = binary_pattern[5]; // HIỂN THỊ SỐ 5.
PORD = binary_pattern[6]; // HIỂN THỊ SỐ 6.PORD = binary_pattern[7]; // HIỂN THỊ SỐ 7.
PORD = binary_pattern[8]; // HIỂN THỊ SỐ 8.
PORD = binary_pattern[9]; // HIỂN THỊ SỐ 9.
PORD = binary_pattern[i]; // niếu i=6 thì hiển thị số 6.
* CẤU HÌNH OUTPUT.
PORD LÀM HIỂN THỊ LED 7 ĐOẠN OUTPUT.
TRISD = 0x00; //define PORTD as a output pin
*HIỂN THỊ TỪ 0 - 9.
for (int i=0;i<10;i++)
{
PORTD = binary_pattern[i];
__delay_ms(1000); //add delay of one second
}
MÔ PHỎNG NHƯ SAU.