ngoài cách viết này còn có cách nào nữa k mọi người
Thông báo
Collapse
No announcement yet.
Giúp em code keil c 16 led sáng dồn tuần tự.
Collapse
X
-
đây là một đoạn code mình viết một hàm tổng quát. muốn cho nó sáng thì chỉ cần gọi hàm này ra thui.
#include<regx52.h>
sbit w1=P0^0;
sbit w2=P0^1;
sbit w3=P0^2;
sbit w4=P0^3;
sbit w5=P0^4;
sbit w6=P0^5;
sbit w7=P0^6;
sbit w8=P0^7;
sbit w11=P2^0;
sbit w12=P2^1;
sbit w13=P2^2;
sbit w14=P2^3;
sbit w15=P2^4;
sbit w16=P2^5;
sbit w17=P2^6;
sbit w18=P2^7;
// hàm tạo thời gian trễ
void delay()
{ // ham nay co do trễ khoảng 500 us
TMOD=0x21;
TH0=0xfe;
TL0=0x0c;
TR0=1;
while(TF0==0)
{}
TR0=0;
TF0=0;
}
void tonghop(unsigned char n,unsigned char n1,unsigned char time) // hàm tổng quát của mình cái này dùng cho 16 chân ra.
{
unsigned char n0,n2,n3,n4,n5,n6,n7,n8,n11,n12,n13,n14,n15,n16,n1 7,n18,m ;
n=n<<1;n0=CY;n=n<<1;n2=CY;n=n<<1;n3=CY;n=n<<1;n4=C Y;n=n<<1;n5=CY;n=n<<1;n6=CY;n=n<<1;n7=CY;n=n<<1;n8 =CY;
n1=n1<<1;n11=CY;n1=n1<<1;n12=CY;n1=n1<<1;n13=CY;n1 =n1<<1;n14=CY;n1=n1<<1;n15=CY;n1=n1<<1;n16=CY;n1=n 1<<1;n17=CY;n1=n1<<1;n18=CY;
for(m=0;m<time;m++)
{
w1=n0;w2=0;w3=n3;w4=0;w5=n5;w6=0;w7=n7;w8=0;w11=n1 1;w12=0;w13=n13;w14=0;w15=n15;w16=0;w17=n17;w18=0; delay();
w1=0;w2=n2;w3=0;w4=n4;w5=0;w6=n6;w7=0;w8=n8;w11=0; w12=n12;w13=0;w14=n14;w15=0;w16=n16;w17=0;w18=n18; delay();
}
}
// ví dụ bạn muốn sáng lên từng kí tự từ trái sang phải:
void incword(unsigned char time,unsigned char tre)
{
unsigned char m ;
for(m=0;m<time;m++) // time là số lần lặp lại hiệu ứng và tre là thời gian trễ ở một lần sáng.
{
tonghop(0x00,0,200);
tonghop(0x80,0,tre);
tonghop(0xc0,0,tre);
tonghop(0xe0,0,tre);
tonghop(0xf0,0,tre);
tonghop(0xf8,0,tre);
tonghop(0xfc,0,tre);
tonghop(0xfe,0,tre);
tonghop(0xff,0,tre);
tonghop(0xff,0x80,tre);
tonghop(0xff,0xc0,tre);
tonghop(0xff,0xe0,tre);
tonghop(0xff,0xf0,tre);
tonghop(0xff,0xf8,tre);
tonghop(0xff,0xfc,tre);
tonghop(0xff,0xfe,tre);
tonghop(0xff,0xff,250);
tonghop(0xff,0xff,250);
}
}chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
Everything should be made as simple as possible, but not simpler
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment