Nguyên văn bởi hanhkt1993
Thông báo
Collapse
No announcement yet.
[Share-code] Mỗi ngày một bài tập về AT89S52
Collapse
X
-
Nguyên văn bởi tanvp1992 Xem bài viếtbạn ơi cho mình hỏi ý nghĩa của câu lệnh này tt=~tt; và tại sao bạn lại cho nó vào phần chống rung cho phím nhấn
Comment
-
-
Bài tập 30
Giao tiếp AT89S52 với máy tính chuẩn RS232. AT89S52 kết nối với bàn phím ma trận 4x4 và LCD hiển thị. Trên máy tính có chương trình để điều khiển VDK hiển thị chuỗi.
Việc giao tiếp thực hiện theo 2 chiều, VDK gửi chuỗi lên máy tính, máy tính gửi chuỗi xuống VDK.
Yêu cầu:
-C# 2010
-Proteus 7.8
-Keil C 4
- Virtual Serial Port Driver 6.9
TẢI CODE VÀ FILE MÔ PHỎNG:
NGUYENTHANHHAI-GIAOTIEPRS232.rar
Comment
-
các pro xem giúp chương trình của e hiển thị led từ 00-99 mà sao mô phỏng trên proteus chẳng lên chỉ hiện 2 số 0 to đùng...mong các pro chỉgiùm lỗi.e mới học nên còn gà lắm có gì k phải mong các pro chỉ bảo..thanks all
#include <REGX52.H>
sbit led_1=P3^0;
sbit led_2=P3^1;
unsigned int i,j;
unsigned char dem,chuc,donvi;
unsigned char led7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
// ham tre
void delay(unsigned char time)
{
for(i=0;i<time;i++)
for(j=0;j<125;j++);
}
void main()
{
while(1)
{ dem=0;
donvi=dem/10;
chuc=(dem%100)/10;
for(i=0;i<20;i++)
{
{
led_1=1;
P2=led7[donvi];
delay(10);
led_1=0;
P2=0xff;
led_2=1;
P2=led7[chuc];
delay(10);
led_2=0;
P2=0xff;
}
dem=dem+1;
if(dem==99)dem=0;
}
}
}
Comment
-
Nguyên văn bởi anhommatroi Xem bài viếtcác pro xem giúp chương trình của e hiển thị led từ 00-99 mà sao mô phỏng trên proteus chẳng lên chỉ hiện 2 số 0 to đùng...mong các pro chỉgiùm lỗi.e mới học nên còn gà lắm có gì k phải mong các pro chỉ bảo..thanks all
#include <REGX52.H>
sbit led_1=P3^0;
sbit led_2=P3^1;
unsigned int i,j;
unsigned char dem,chuc,donvi;
unsigned char led7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
// ham tre
void delay(unsigned char time)
{
for(i=0;i<time;i++)
for(j=0;j<125;j++);
}
void main()
{
while(1)
{ dem=0;
donvi=dem/10;
chuc=(dem%100)/10;
for(i=0;i<20;i++)
{
{
led_1=1;
P2=led7[donvi];
delay(10);
led_1=0;
P2=0xff;
led_2=1;
P2=led7[chuc];
delay(10);
led_2=0;
P2=0xff;
}
dem=dem+1;
if(dem==99)dem=0;
}
}
}
và một số chỗ cần sửa lại.
Code:#include <REGX52.H> sbit led_1=P3^0; sbit led_2=P3^1; unsigned int i,j,t; unsigned char dem,chuc,donvi; unsigned char led7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // ham tre void delay(unsigned char time) { for(i=0;i<time;i++) for(j=0;j<125;j++); } void main() { dem=0; while(1) { for(t=0;t<20;t++){ chuc=dem/10; donvi=dem%10; led_1=1; P2=led7[donvi]; delay(10); led_1=0; P2=0xff; led_2=1; P2=led7[chuc]; delay(10); led_2=0; P2=0xff; } dem=dem+1; if(dem==99)dem=0; } }
|
Comment
-
Nguyên văn bởi anhommatroi Xem bài viếtbạn có thể cho mình 1 ví dụ đơn giản dùng timer quét led 7 đc không...thanks nhiu
Comment
-
ủng hộ bạn 1 code cơ bản về RTX-Tiny (hệ điều hành thời gian thực)để các bạn tham khảo
Code:#include <REGX51.H> #include <rtx51tny.h> sbit Led1 = P2^0; sbit Led2 = P2^1; #define Led_Statut P2_7 //sbit Led3 = P2^2; //sbit Led4 = P2^3; unsigned char maled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char count; unsigned char i; void quetled(unsigned char so) { Led1 = 1; P3 = maled[so/10]; os_wait (K_TMO, 5, 0); Led1 = 0; P3 = 0xff; Led2 = 1; P3 = maled[so%10]; os_wait (K_TMO, 5, 0); Led2 = 0; P3 = 0xff; } job1() _task_ 0 { os_create_task (1); os_create_task (2); os_create_task (3); while(1) { quetled(count); } } job2() _task_ 1 { while(1) { count ++; os_wait (K_TMO, 100, 0); if(count == 100) count = 0; } } job3() _task_ 2 { while(1) { Led_Statut = ! Led_Statut; os_wait (K_TMO, 50, 0); } } job4() _task_ 3 { while(1) { P1 = 0xfe; os_wait (K_TMO, 100, 0); for(i=0;i<7;i++) { P1 = P1 << 1; os_wait (K_TMO, 100, 0); } P1 = 0xff; os_wait (K_TMO, 100, 0); } }
Nguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
Nguyên văn bởi bienhou Xem bài viếtủng hộ bạn 1 code cơ bản về RTX-Tiny (hệ điều hành thời gian thực)để các bạn tham khảo
Code:#include <REGX51.H> #include <rtx51tny.h> sbit Led1 = P2^0; sbit Led2 = P2^1; #define Led_Statut P2_7 //sbit Led3 = P2^2; //sbit Led4 = P2^3; unsigned char maled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char count; unsigned char i; void quetled(unsigned char so) { Led1 = 1; P3 = maled[so/10]; os_wait (K_TMO, 5, 0); Led1 = 0; P3 = 0xff; Led2 = 1; P3 = maled[so%10]; os_wait (K_TMO, 5, 0); Led2 = 0; P3 = 0xff; } job1() _task_ 0 { os_create_task (1); os_create_task (2); os_create_task (3); while(1) { quetled(count); } } job2() _task_ 1 { while(1) { count ++; os_wait (K_TMO, 100, 0); if(count == 100) count = 0; } } job3() _task_ 2 { while(1) { Led_Statut = ! Led_Statut; os_wait (K_TMO, 50, 0); } } job4() _task_ 3 { while(1) { P1 = 0xfe; os_wait (K_TMO, 100, 0); for(i=0;i<7;i++) { P1 = P1 << 1; os_wait (K_TMO, 100, 0); } P1 = 0xff; os_wait (K_TMO, 100, 0); } }
Comment
Bài viết mới nhất
Collapse
-
bởi vi van phamSao ? cháu đã chứng minh cánh quạt lớn không phải do ma sát làm giảm tốc độ chưa?
Đêm nay hắt hơi , sổ mũi, không ngũ được, uống "riệu" 1 mình chờ nhà thùng, không thấy đến, nói chuyện với cháu cho vui. Khi tôi còn là...-
Channel: Điện tử gia dụng
hôm nay, 00:03 -
-
bởi vi van phamCần chứng minh cánh quạt lớn không phải do ma sát làm giảm tốc độ....
-
Channel: Điện tử gia dụng
Hôm qua, 15:29 -
-
bởi dinhthuong80Thì bác thấy đó, theo công thức của cháu Q = w.n.S.d, trong đó:
- w [vòng /phút]: tốc độ quay của mô tơ đo được khi gắn cánh quạt thì cánh vuông với trục hay lệch góc mấy độ cũng đâu còn ảnh hưởng gì nữa, nó thể hiện luôn ở giá trị w đo được rồi còn gì.
- n: số lượng lá cánh...-
Channel: Điện tử gia dụng
Hôm qua, 13:24 -
-
bởi vi van phamKhác nhiều lắm cháu ơi.
Góc này người ta gọi là góc cắt không khí, nó ảnh hưởng đến tốc độ quạt, ảnh hưởng đến lưu lượng gió, cũng như lưu lương hút gió.-
Channel: Điện tử gia dụng
Hôm qua, 12:15 -
-
bởi dinhthuong80Mặt phẳng cánh quạt lệch 1 góc so với trục nên nhìn theo phương vuông góc với trục ta sẽ "thấy nó có một độ dày d", đây chính là chiều cao của "hình trụ tròn rỗng ruột" theo trục của quạt có thể tích V = d * S_vành khăn....
-
Channel: Điện tử gia dụng
Hôm qua, 11:46 -
-
bởi vi van phamCông thức tính lưu lượng gió cháu lấy ở đâu ra vậy? tôi thấy có gì đó không ổn.
Theo thí dụ trên, mặt phẳng cánh quạt vuông góc với trục sẽ có lưu lượng khác với mặt phẳng cánh quạt song song với trục, và khác với mặt...-
Channel: Điện tử gia dụng
Hôm qua, 11:19 -
-
bởi appongthoNguyên nhân mã lỗi H-57, H-58, H-59 Máy giặt Panasonic
https://appongtho.com/loi-h-57-h-58-...iat-panasonic/
Mã lỗi H-57, H-58, H-59 trên máy giặt Panasonic thường liên quan đến sự cố trong hệ thống sấy, bao gồm lỗi mạch khử từ...-
Channel: Điện tử gia dụng
Hôm qua, 09:56 -
-
bởi kiều phongchào mọi người
xin cho hỏi mạch nguồn máy hàn 110v chuyển sang 220v được không? thanks
...-
Channel: Nguồn!
Hôm qua, 09:48 -
-
bởi dinhthuong80Dạ, theo thí nghiệm của chủ thớt thì hiệu ứng đó không ảnh hưởng gì, vì nó được tính theo công thức lí thuyết hợp lí: lưu lượng khí bằng thể tích khí do quạt vận chuyển được trong một phút (chỉ ảnh hưởng, hợp lí khi máy đo...
-
Channel: Điện tử gia dụng
Hôm qua, 09:15 -
-
bởi tuyennhanChắc sai rồi quạt thông gió công nghiệp sử dụng mô tơ 3 pha 750 w mà lưu lượng gió chỉ 1500 m3 / h ....
-
Channel: Điện tử gia dụng
Hôm qua, 07:55 -
Comment