Keywords

November 2017
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
27282930   

Calendar Calendar


QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  khanhhuy4390 on Thu Dec 06, 2012 8:50 pm

KHÔNG BIẾT VIẾT NHƯ THẾ NÀY CÓ VẤN ĐỀ GÌ KHÔNG .MỌI NGƯỜI XEM RỒI CHO Ý KIẾN

#include<reg52.h>
#include<stdio.h>
int i;
void delay(long t)
{
int i;
for(i = 0; i<=t; ++i);
}
void hienthi()
{
if(P0==0xee){P3=1;}

if(P0==0xde){P3=2;}

if(P0==0xbe){P3=3;}

if(P0==0x7e){P3=4;}

if(P0==0xed){P3=5;}

if(P0==0xdd){P3=6;}

if(P0==0xbd){P3=7;}

if(P0==0x7d){P3=8;}

if(P0==0xeb){P3=9;}

if(P0==0xdb){P3=0x10;}

if(P0==0xbb){P3=0x11;}

if(P0==0x7b){P3=0x12;}

if(P0==0xe7){P3=0x13;}

if(P0==0xd7){P3=0x14;}

if(P0==0xb7){P3=0x15;}

if(P0==0x77){P3=0;}
}
void dieukhien(void)
{
int n[5] = {0xfe,0xfd,0xfb,0xf7};
for (i=0; i<=3;++i)
{
P0 = n[i];
hienthi();
}
}

void main (void)
{

while(1)
{
dieukhien();
delay(2);
}}
avatar
khanhhuy4390
Moderators tập sự

Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 27
Đến từ : BINH DUONG

Xem lý lịch thành viên

Về Đầu Trang Go down

CÒN ĐÂY THÌ HIỂN THỊ RA LCD

Bài gửi  khanhhuy4390 on Thu Dec 06, 2012 8:56 pm

#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#include<math.h>
#include<stdlib.h>
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
sbit f = P3^3;
sbit b = P3^1;
sbit c1=P0^4;
sbit c2=P0^5;
sbit c3=P0^6;
sbit c4=P0^7;
unsigned char x;
unsigned char message[32];
unsigned char i,k;
void delay(unsigned long int t)
{
unsigned long int i;
for(i = 0; i<=t; ++i);
}
void busy_flag (void)
{
P2 = 0xff;
RS = 0;
RW = 1;
do
{
EN = 1;;
delay (10);
EN = 0;
x = P2;
x = x&0x80;
}
while(x!= 0x80);
}
void write_command (unsigned char lcd_command)
{
busy_flag();
P2 = lcd_command;
RS = 0;
RW = 0;
EN = 1;
delay(10);
EN = 0;
delay(10);
}
void write_data(unsigned char LCD_data) // thanh ghi du lieu
{
busy_flag();
if(LCD_data!='\n')
{
P2=LCD_data;
}
else
{
write_command(0xC0);
return;
}
RS=1;
RW=0;
EN=1;
delay(80);
EN=0;
delay(80);
}
void write_string(char *s)
{
while(*s)
{
write_data(*s);
s++;
}
}
void init (void)
{
write_command(0x03);
write_command(0x38);
write_command(0x06);
write_command(0x0e);
}

void hienthi()
{
if(P0==0xee){write_command(0x01);
write_command(0x80);
write_string(" phim so 1 ");
P3=0xf1;}

if(P0==0xde){write_command(0x01);
write_command(0x80);
write_string(" \n phim so 2 ");P3=0xf2;}

if(P0==0xbe){write_command(0x01);
write_command(0x80);
write_string(" phim so 3 ");}

if(P0==0x7e){write_command(0x01);
write_command(0x80);
write_string(" phim so 4 ");}

if(P0==0xed){write_command(0x01);
write_command(0x80);
write_string(" phim so 5 ");}

if(P0==0xdd){write_command(0x01);
write_command(0x80);
write_string(" phim so 6 ");}

if(P0==0xbd){write_command(0x01);
write_command(0x80);
write_string(" phim so 7 ");}

if(P0==0x7d){write_command(0x01);
write_command(0x80);
write_string(" phim so 8 ");}

if(P0==0xeb){write_command(0x01);
write_command(0x80);
write_string(" phim so 9 ");}

if(P0==0xdb){write_command(0x01);
write_command(0x80);
write_string(" phim so 10 ");}

if(P0==0xbb){write_command(0x01);
write_command(0x80);
write_string(" phim so 11 ");}

if(P0==0x7b){write_command(0x01);
write_command(0x80);
write_string(" phim so 12 ");}

if(P0==0xe7){write_command(0x01);
write_command(0x80);
write_string(" phim so 13 ");}

if(P0==0xd7){write_command(0x01);
write_command(0x80);
write_string(" phim so 14 ");}

if(P0==0xb7){write_command(0x01);
write_command(0x80);
write_string(" phim so 15 ");}

if(P0==0x77)
{
write_command(0x01);
write_command(0x80);
sprintf(&message[0],"THE PROGRAM WAS \n Reset ");
write_string(&message[0]);P3=0x00;
}
}
void dieukhien(void)
{
int n[5] = {0xfe,0xfd,0xfb,0xf7};
for (i=0; i<=3;++i)
{
P0 = n[i];
hienthi();
}
}
void main (void)
{
delay(100);
init();
write_command(0x01);
write_command(0x80);
sprintf(&message[0],"DE NGHI NHAN NUT. \n KO AN BAO CAI");
write_string(&message[0]);
while(1)
{
dieukhien();
delay(10);
}}
avatar
khanhhuy4390
Moderators tập sự

Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 27
Đến từ : BINH DUONG

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  bacviet on Fri Dec 07, 2012 7:36 am

khanhhuy4390 đã viết:KHÔNG BIẾT VIẾT NHƯ THẾ NÀY CÓ VẤN ĐỀ GÌ KHÔNG .MỌI NGƯỜI XEM RỒI CHO Ý KIẾN

#include<reg52.h>
#include<stdio.h>
int i;
void delay(long t)
{
int i;
for(i = 0; i<=t; ++i);
}
void hienthi()
{
if(P0==0xee){P3=1;}

if(P0==0xde){P3=2;}

if(P0==0xbe){P3=3;}

if(P0==0x7e){P3=4;}

if(P0==0xed){P3=5;}

if(P0==0xdd){P3=6;}

if(P0==0xbd){P3=7;}

if(P0==0x7d){P3=8;}

if(P0==0xeb){P3=9;}

if(P0==0xdb){P3=0x10;}

if(P0==0xbb){P3=0x11;}

if(P0==0x7b){P3=0x12;}

if(P0==0xe7){P3=0x13;}

if(P0==0xd7){P3=0x14;}

if(P0==0xb7){P3=0x15;}

if(P0==0x77){P3=0;}
}
void dieukhien(void)
{
int n[5] = {0xfe,0xfd,0xfb,0xf7};
for (i=0; i<=3;++i)
{
P0 = n[i];
hienthi();
}
}

void main (void)
{

while(1)
{
dieukhien();
delay(2);
}}

hình như cũng ok đó Huy...
+ bài này quét ma trận phím 4x4
+ P3 có 2 Led 7 đoạn giải mã phần cứng
+ có thể viết delay như sau (khỏi khai báo thêm biến)
void delay(long t)
{while(t--);}
avatar
bacviet
Moderators

Tổng số bài gửi : 66
Join date : 07/11/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  khanhhuy4390 on Fri Dec 07, 2012 8:06 pm

ah thay cach tinh thoi gian delay trong c nhu the nao vay thay
avatar
khanhhuy4390
Moderators tập sự

Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 27
Đến từ : BINH DUONG

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  bacviet on Fri Dec 07, 2012 8:24 pm

khanhhuy4390 đã viết:ah thay cach tinh thoi gian delay trong c nhu the nao vay thay
vụ này thầy k rành. Vì mã tự sinh của C chả biết đâu mà tính cả. Tốt nhất là chèn thêm lệnh hợp ngữ vào trong C hoặc delay bằng timer
avatar
bacviet
Moderators

Tổng số bài gửi : 66
Join date : 07/11/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  thanhxuan on Thu Apr 18, 2013 7:40 am

bacviet đã viết:
khanhhuy4390 đã viết:KHÔNG BIẾT VIẾT NHƯ THẾ NÀY CÓ VẤN ĐỀ GÌ KHÔNG .MỌI NGƯỜI XEM RỒI CHO Ý KIẾN

#include<reg52.h>
#include<stdio.h>
int i;
void delay(long t)
{
int i;
for(i = 0; i<=t; ++i);
}
void hienthi()
{
if(P0==0xee){P3=1;}

if(P0==0xde){P3=2;}

if(P0==0xbe){P3=3;}

if(P0==0x7e){P3=4;}

if(P0==0xed){P3=5;}

if(P0==0xdd){P3=6;}

if(P0==0xbd){P3=7;}

if(P0==0x7d){P3=8;}

if(P0==0xeb){P3=9;}

if(P0==0xdb){P3=0x10;}

if(P0==0xbb){P3=0x11;}

if(P0==0x7b){P3=0x12;}

if(P0==0xe7){P3=0x13;}

if(P0==0xd7){P3=0x14;}

if(P0==0xb7){P3=0x15;}

if(P0==0x77){P3=0;}
}
void dieukhien(void)
{
int n[5] = {0xfe,0xfd,0xfb,0xf7};
for (i=0; i<=3;++i)
{
P0 = n[i];
hienthi();
}
}

void main (void)
{

while(1)
{
dieukhien();
delay(2);
}}

hình như cũng ok đó Huy...
+ bài này quét ma trận phím 4x4
+ P3 có 2 Led 7 đoạn giải mã phần cứng
+ có thể viết delay như sau (khỏi khai báo thêm biến)
void delay(long t)
{while(t--);}

thay oi cho e xem phan men professional nua di thay !!!

thanhxuan

Tổng số bài gửi : 27
Join date : 03/11/2012
Age : 24
Đến từ : tra vinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  bacviet on Thu Apr 18, 2013 9:21 am

đợi thầy viết lại rồi đưa lên cho mọi người
avatar
bacviet
Moderators

Tổng số bài gửi : 66
Join date : 07/11/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  thanhxuan on Thu Apr 18, 2013 7:59 pm

bacviet đã viết:đợi thầy viết lại rồi đưa lên cho mọi người
e cám ơn thầy nhiều! thầy ơi! nghành CDT có học led ma trận ko thầy?

thanhxuan

Tổng số bài gửi : 27
Join date : 03/11/2012
Age : 24
Đến từ : tra vinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết