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
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
-
Channel: Điện tử công suất
Hôm qua, 13:11 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanSửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
-
Channel: Điện tử công suất
Hôm qua, 09:25 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanĐúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....-
Channel: Điện thanh
Hôm qua, 09:10 -
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Cadence ORCAD
09-01-2025, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...-
Channel: Điện thanh
09-01-2025, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
09-01-2025, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
Comment