QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
3 posters
Trang 1 trong tổng số 1 trang
QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
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);
}}
#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);
}}
khanhhuy4390- Moderators tập sự
- Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 34
Đến từ : BINH DUONG
CÒN ĐÂY THÌ HIỂN THỊ RA LCD
#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);
}}
#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);
}}
khanhhuy4390- Moderators tập sự
- Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 34
Đến từ : BINH DUONG
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
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--);}
bacviet- Moderators
- Tổng số bài gửi : 66
Join date : 07/11/2012
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
ah thay cach tinh thoi gian delay trong c nhu the nao vay thay
khanhhuy4390- Moderators tập sự
- Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 34
Đến từ : BINH DUONG
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
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 timerkhanhhuy4390 đã viết:ah thay cach tinh thoi gian delay trong c nhu the nao vay thay
bacviet- Moderators
- Tổng số bài gửi : 66
Join date : 07/11/2012
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
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 : 31
Đến từ : tra vinh
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
đợi thầy viết lại rồi đưa lên cho mọi người
bacviet- Moderators
- Tổng số bài gửi : 66
Join date : 07/11/2012
Re: QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
e cám ơn thầy nhiều! thầy ơi! nghành CDT có học led ma trận ko thầy?bacviet đã viết:đợi thầy viết lại rồi đưa lên cho mọi người
thanhxuan- Tổng số bài gửi : 27
Join date : 03/11/2012
Age : 31
Đến từ : tra vinh
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|
Wed Sep 24, 2014 8:46 am by vinagreensun
» Chia sẻ source code mạch đếm 0-99 sử dụng 8051 và LED hồng ngoại
Mon Mar 24, 2014 2:07 pm by xuantruong1911
» mình đang làm đồ án 1 cần làm mạch khó số điện tử dùng ic số và phải có thể thay đổi password
Fri Mar 21, 2014 8:01 pm by saobang
» Chế tạo máy dò kim loại help ?
Fri Nov 29, 2013 11:17 am by Thanhtra conan
» mấy bro vào giup em với
Wed Nov 27, 2013 9:01 pm by luongthanhvp
» giáo trình plc mitsubishi căn bản và nâng cao
Tue Apr 30, 2013 5:55 pm by Admin
» hoc led chay chu
Thu Apr 18, 2013 8:05 pm by vuphong
» QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
Thu Apr 18, 2013 7:59 pm by thanhxuan
» cách vẽ mạch in bằng ocard 1 cách đơn giản?
Thu Apr 18, 2013 1:09 pm by Admin