panml
Máy giặt toshiba AW 8400 6,5 kg ở trong vùng lũ. MÌnh rữa sạch bùn rồi sấy khô sau đó cho chạy
thử thì nó chỉ giặt được thôi mà không thể xả và vắt được. không biết nó bị gì nữa. Minh không
rành về cái này, nhờ các bạn chỉ giúp.
khi máy thực hiện xả thì động cơ không quay là đúng rồi, máy bạn đang bị hư chức năng xả nước
nên quá trình vắt cũng không thực hiện được, thường thì có con triac như đầu cái đũa (ở gần ic 8
chân đó) bị rỉ, bạn thay con này, kiểm tra con điện trở phân áp cho nó nữa, bạn cứ dò ngược từ
moto kéo xả nước có 2 dây nguồn lên bo mạch dò theo nó là tìm ra ngay, tôi đã làm máy này rồi,
chúc may mắn.
Cho mình hỏi cái cảm biến này nó nằm chỗ nào vậy pác. có phải chỗ có cái ống nhựa trắng trắng
từ ngoài cái lồng giặt nối lên không? Mình thấy có 1 cái ống nối lên trên có mấy dây điện nhưng
không biết có là ống gì?
em chào các Bác, các bác đã có nhiều kinh nghiệm về máy giặt, em nhờ các bác chỉ giáo gúp.
chả là em có con toshiba aw 8560s đang giặt thì bị sập nguồn không lên gì cả. em đã kiểm tra bo
nguon và bo điều khiển, 220V vẫn có tại đầu vào bo nguồn, công tắc kích nguồn power vẫn tốt, đo
các led ko chập, khi ấn công tắc nguồn có nguồn 5V tại đầu ra rồi mất. ko hiểu lỗi do đâu. đầu vào
bo nguồn có 4 con scr em đoan là triac nhung ko tra dataseet được. rất mong các cao thủ chỉ
giáo.
cảm ơn các bác.
em cảm ơn Bác pvc28, em đã thay con thạch anh 8Mhz bo nguồn và bo điều khiển MG toshiba
8560s của em dã lên nguồn. bước tiếp theo là phủ keo silicon chống nước vì em đã phải dùng máy
cắt để cắt phần đế nhựa mới có thể lấy bo nguồn ra để đo kiểm tra. em chưa có nhiều kinh nghiệm
nên ko biết nên dùng loại keo nào kết dính tốt và chống nước tốt, dùng keo gắn kính có được ko?
Em nhờ các Bác chỉ giáo.
em cảm ơn!
Trường hợp kg ăn phím stat...Kt thạch anh sắt, Kt van phao...và đg dẫn phao.
Máy SANYO bị lỗi sensor sẽ không bấm được start.
nếu hết chế độ giặt mà không xả nước thì kiểm tra van xả và kiểm tra công tắc cánh cửa
tình hình em nó bây giờ vẫn hoạt động bình thường chỉ có 1 lỗi là chưa lấy đủ nước đã chạy rồi
bác nào có kinh nghiệm về loại này xin chỉ giúp em
chân thành cảm ơn
Như thế nào là chưa đủ nước. Bạn so sánh với mức nước lúc nó còn mới hay lúc nào! có thể máy
đã bị hở đường ống áp lực đến cảm biên! Ktra có hở Ko? nếu Ko hở thì cảm biến có 1 con vít
tăng, giảm áp lực đấy chỉnh nó sẽ làm thay đổi mức nước! HI
Con máy giặt LG. model: WF-7776TTC (6 kg) bị lỗi dE. Mình tra mã lỗi thì thấy lỗi này là lỗi công
tắc cửa . nhưng theo mình quan sát rất kĩ thì không thấy có công tắc cửa nào hết, cũng không thấy
có con cảm biến nào hết. Không biết phải làm sao để giải lỗi. vì trước đây cho chạy chế độ vắt và
mở nắp ra máy cũng báo lỗi dE, nhưng mà không biết là tín hiệu từ nắp cửa đưa về bo mạch bằng
thứ gì? in nhờ mấy AE tư vấn để khắc phục lỗi này.
tks!
Mình khắc phục được rồi các AM ơi. Nó rơi cái nam châm nho nhỏ hình chữ nhật khoảng 5x20 mm
trong cái thùng giặt, mình nhặt lên và gắn vào lại nắp xong là chạy ok. Cảm ơn mấy AM đã nhiệt
tình giúp đỡ.
Cảm ơn hai bạn rất nhiều ! Mình làm như bạn PVC28 nhưng không được, mình kiếm được cái cảm
biến nước rin thì chạy ok. Quyết định mổ xẻ vấn đề tại sao thay các cảm biến khác thì không vắt
hoặc báo lỗi hoặc nước vào thấp.
Tháo cảm biến nước ra thì thấy một cuộn dây , Tụ 103 và một lõi than. Vậy cảm biến là một lõi dao
động cộng hưỡng đo được tần số sin khoảng 15->19 KHz, tần số này thay đổi khi mực nước đưa
lõi than lên xuống trong cảm biến và tín hiệu Sin đưa về IC TC4069( ic khuếch đại đại đảo ) tín
hiệu từ 4069 về VXL là xung vuông chuẫn có cùng tần số.
Mình thử giảm trị số tụ cộng hưởng thì tần số đúng như cảm biến rin( nhưng phải chỉnh lại cảm biến
nước một chút để đúng mực nước trong thùng giặt)
Như vậy theo mình có thể thay các cảm biến nước của các loại máy giặt khác cho nhau miễn là
mình biết được tần số cảm biến đưa về của từng loại máy giặt và thay đổi trị số tụ cộng hưởng
cho phù hợp.
Một lần nữa chân thành cảm ơn các bạn
Tôi có con máy giặt Samsung lồng đứng. Khi cắm phíc cắm cấp nguồn cho máy nhưng chưa bấm
nút NGUỒN thì chữ số, các đèn đã sáng hết tất cả và các đèn cứ sáng mãi, các phím không có
tác dụng.Có bác nào biết nguyên nhân có thể xẩy ra ở chỗ nào xin giúp đỡ cho tôi. Máy giặt của
tôi loại 7,5kg ( model WA98F3 loại 330W ).Thank so much.
Máy của bác bị ẩm rồi, sấy khô mà không được thì kiểm tra mấy phím trên main xem có bị chạm
không?
hợ gửi mình sửa cái bo sANYO mà phím chọn mực nước với phím sấy bấm không được , mình đã
ktra phím , diold nối phím , mạch vệ sinh rồi .... nhưng khi mình hút cái jum từ transitor sang đẻn led
thì phím ăn nhưng đèn không cháy , hàn jum lại thì phím lại vẫn ăn bình thường nhưng vài ngày sau
thì phím lại ko bấm dc nữa ? vậy nó hư gì mong anh em chỉ dùm ạ !
hm , mình cám ơn bạn nhé . hiện tại mình đã phát hiện ra 1 led nghi vấn , mình đo ÔM X1 đèn vẫn
cháy nhưng led đó già ôm hơn led kia , mình thay vào thì phím ăn rồi nhưng để sáng ra thử thì giờ
tới phím star ko ăn , mấy phím kia ăn hết và cái chuông chỉ kêu ẹc ẹc thôi . mình đo đo xung quanh
thì lại bấm ăn , lúc ko ăn , giờ nó bị gì thế hả bác .........
vậy ah. cảm ơn anh nhiều.
-Đứt sơ cấp biến áp máy im lìm (vì có nguồn đâu mà chạy).
-Chết thạch anh mất dao động máy ko chạy hoặc lúc chạy lúc ko. nhưng cắm nguồn vẫn có tải.
-Chết triac nào thì ko quay chiều đó hoặc khóa nguồn đứt cầu chì.
-Đứt điện trở 10k đóng cho van cấp nước thì ko có nước giống như bị mấy ông nhà máy nước cúp
nước vậy.
Tôi phân tích pan như vậy đã đúng chưa ?
em có cái máy giặt samsung nó bị bệnh tự khởi động nguồn khi cắm điện vào và liệt các phím ko
hoạt động kể kả phím tắt mở em đã hút bỏ phím on off nhưng vẫn vậy nó chạy con ic toshiba
tmp87ph46n nhờ các bác chỉgiup xin cám ơn
Bạn kiểm tra kỹ các phím khác xem có bị chạm không, ktra các led xem có bị chạm không, ktra vỉ
mạch, các đường mạch in thuộc chân phím mở nguồn dò ngược lại phần điều khiển xem nó qua
linh kiện gì, nhiều trường hợp con tụ của đường này bị rò cũng bị hiện tượng như vậy....
Máy giặt Panasonic lỗi U12: nắp đóng không kín, công tắc cửa, dây dẫn công tắc cửa
Các pro cho mình hỏi. Con máy giặt toshiba nhà mình khi cắm điện vào rồi nhấn nút power on
nhưng nó cứ im lìm, mình không thấy đèn nào sáng hết. Mình có tháo ta kiểm tra thì điện có vào
tới bo mạch đúng 220v. Kiểm tra nút kích thấy vẩn còn tốt. Chắc chắn là bị gì đó trong bo mạch
rồi. Pro nào gặp trường hợp này hướng dẫn mình cách khắc phục với.
Mình làm được rồi. Cảm ơn các pro nhiều nhé. Đúng là bị con thạch anh thật. Mình đã cố gắn mài
mò rồi thay thế, cuối cùng thi nó cũng đã lành bệnh rồi. Các pác nói đem ra tiệm thì dễ rồi, mình đã
nói là mình rất thích nghịch đện tử mà nên có gì thì nhờ các pác hỗ trợ thêm
Nếu thay led chạy đc rùi mà kêu ẹc ẹc thì bi giờ bác thay nốt con thạch anh sắt đi là ok.
Tui đã sửa xong rùi, đúng là nó bị hư cái sensor nước, tháo ra nó bị gỉ xanh chỗ giắc cắm, vệ sinh
xong vẫn không được. Tháo bung sensor ra ở trong có một cái màng cao su có gắn một nam châm
vĩnh cửu di chuyển trong lòng một cuộn dây, hai đầu cuộn dây bị gỉ xanh chổ hàn vào giắc cắm,
đụng nhẹ vào thì bị rời ra (lúc chưa tháo ra dùng đồng hồ đo hai giắc cắm kim đồng hồ vẫn lên ~
200 ôm), hàn lại và lắp vào thì máy hoạt động bình thường (hên quá ). Như vậy khi có nước thì áp
suất sẽ ép vào màng cao su qua ống hơi dẫn từ dưới đáy bồn nước lên (nước càng nhiều thì
màng cao su sẽ bị ép càng nhiều) và lúc đó cục nam châm sẽ di chuyển vào trong cuộn dây càng
nhiều lảm cho cảm kháng trong cuộn dây sẽ bị thay đổi -> tần số thay đổi. Vậy là IC chương trình
sẽ nhận tín hiệu từ sự thay đổi tần số đó để điều khiển moter cấp nước. Tui nghĩ như vậy không
biết có chính xác chưa, nếu có sai sót chỗ nào nhờ các cao thủ chỉ giáo tiếp. Thanks rất nhìu!
Trích Nguyên văn bởi BBC-CNN Xem bài viết
Máy chạyVXL87ch46 : Sấy nóng board thì bấm các lệnh đều tốt, để nguội thì tê liệt toàn bộ. đã
rửa sấy rất kỷ, 5v cấp VXL tốt,đã thay thạch anh ống mà vẫn vậy . KHi tốt đo chân Reset khoảng
2,5v. không dám xả keo của board ra nhiều
-không rành về loại này lắm. Có ai biết về dòng Máy giặt SANYO này thì chỉ giúp hoặc ai có sơ
đồ của board thì cho xin và hậu tạ
Đã làm xong rồi các bạn. Cả ba cái máy giặt SANYO đều bị một chứng như đã nói trên mình thay
thach anh khác cũng không được. Đo thì không thấy dao động . Mình gắn thêm hai cái tụ 15P tại
Thạch anh thì OK . Xin cảm ơn anh em thật nhiều. và chúc hai bạn năm mới nhiều thắng lợi.
Máy giặt toshiba 8,5 kg model AW - E 89SV sau khi xả rồi thì không thể vắt được để kết thúc mà
nó lại trở lại chế độ giặt, để giặt lại từ đầu. Không biết nó bị gì nữa.Bác nào cao thủ vui lòng chỉ
giúp em. Xin cảm ơn!
Rút hẳn dây ống nước áp lực ra xem có vắt được không để loại trừ...
Bạn kiểm tra dây curoa xem có bị mòn và chùng không?
kiếm cái van áp lực khác thay vô xem sao...(đúng loại)
Bác để lại máy cho thăng bằng rổi ta tính tiếp.( máy bị mất thăng bằng khi vắt sẽ bị ngắt và nó sẽ
cấp nước giặt lại đó)
Bạn Bình à, nếu mất nguồn cấp cho rơle phần thứ cấp trên main thì boad nguồn sẽ tắt ngúm luôn,
tất cả các nguồn cấp cho ic đảo đều dùng 5vdc đóng điện khiển cho triac cấp thẳng 220vac cho
rơle cấp nước(van điện từ) và moto xả...
trường hợp chủ thớt thử theo như tôi nói ở trên tức là chọn chế độ giặt xong dút ống dây áp lực
cho van phao ra dùng hơi thổi vào khi thấy máy bắt đầu giặt được thì đích thị đường cấp nước bị
hư, lúc này cần phải kiểm tra:
1/ van điện cấp nước
2/ triac
3/ điện trở phân cực cho triac
4/ ic đảo UL2004
5/ ĐIỆN TRỞ NỐI từ ic chính đến ic đảo
Chào các cao thủ. Tôi đang sửa con máy giặt panasonic NA-F65GS 7kg bị hỏng mạch mà tìm mãi
ko ra linh kiện hỏng. hiên tượng này chưa từng gặp nên khó quá cụ thể như sau: bật máy hoạt
động bình thường nhưng chỉ được một lúc (có khi gần xong, cũng có khi giặt hoàn chỉnh. tức là ko
theo một chu trình nào cả). khi máy ngừng hoạt động giữa chừng tất cả đèn báo chỉ còn lại duy
nhất đèn báo mực nước là sáng và ko điều khiển đc gì nữa. rút điện ra cắm lại ko còn gì và cũng
ko điều chỉnh đc bất cứ chức năng nào nhung để vài hôm bật lại giặt đc một lúc. tôi đã bổ mạch
nguồn kt thấy điện 5v cấp cho vi sử lí vẫn có. anh em nào đã gặp hiện tượng này hoặc biết xin chỉ
giáo. máy để nhà gần tháng mà ko sửa đc, chán quá.
Trường hợp của bạn là do dao động bị chập chờn, dẫn đến hiện tượng máy lúc hoạt động lúc
không, dao động này do con tụ pi tạo dao động tạo tần số dạng xung(con dao động này giống như
đầu cái viết bi ấy) bạn thay con mới là chạy ngay, chúc may mắn.
Để xác định điều khiển từ còn tốt hay ko bạn thử bằng cách mở chức năng chụp hình trong điện
thoại di động, tiếp đến bạn đưa đèn phát tia hồng ngoại vào gần ống kính máy chụp rồi bấm vài
phím trên điều khiển từ xa xem có tín hiệu gì ko. nếu có đốm sáng nháy nháy trên màn hình dt là đk
còn tốt, ko có là bị hư.
Nếu đk hư bạn kt tiếp điểm pin xem có tốt ko. một số gd khi ko dùng nữa ko tháo pin lâu ngày nó
chảy nước ra làm han rỉ ko tiếp xúc. lau sạch mặt tiếp xúc với phím bấm rồi sấy khô. nếu vẫn ko dc
thì hỏng linh kiện.
Việc sửa điều khiển từ xa ko khó lắm. bạn thay thử thạch anh (cái này hay hỏng), đèn phát. nếu
vẫn ko đc thì khả năng bị ic mà bị ic thì kiếm cái mới thôi.
Mạch thu cũng đơn giản thôi: có mấy linh kiện gồm mắt thu, tụ 10v47mf, trở, trước tiên bạn kiểm
tra xem có nguồn 5vdc cấp cho mạch không, nếu không có kiểm tra phần cấp trước..., nếu có 5v
xuống mạch thu thì kiểm tra led nhận,R, C,... thường hay hư led thu+tụ, nhớ dùng xăng hay cồn
đánh sạch mạch, mạch bị lem nó xung điện tùm lum cũng không nhận được, chúc thành công.
Cuối cùng mình cũng sửa xong-->nguyên nhân là một chân con led thu bị rỉ,có lẻ do quạt nước quá
ẩm, đứt ra khỏi PCB.Mình cố hàn lại con led này nhưng không được vì thiếc không bám do chân
led bị gỉ sét,sau đó mình thay một led mới khác vào và vệ sinh sạch sẽ bằng nước rửa mạch ,lắp
lại nó nhận ngay.
Xin cảm ơn các bạn đã nhiệt tình giúp đỡ và cung cấp những kinh nghiệm quý giá,nó đã giúp mình
xác định và xử lý chính xác hư hỏng.
Nhà tui cũng có máy giặt Deawoo bị pan như 345 vậy,giăt xã thì ok nhưng vắt thì báo lỗi
tháo nắp phía trên ra xem thì kiểm tra thấy hỏng cái công tắt hình chữ nhât.,đo bằng đồng hồ mới
biết do bị vô nước ,thay cái mới chạy ok.nó chạy theo nguyên tắc khi thùng máy quay ở chế độ xã
thì bị ly tâm ra xa,đá công tắt,mô tơ ngừng quay,cứ thế,đến khi thùng máy đồng tâm thì kg đá tới
công tắt nữa,mô tơ quay tít.bạn cứ tìm đúng công tắt đó là ok
em có cái bo máy giặt sanyo dùng con ic LM8910 ! bật nguồn vẫn lên nhưng cứ kêu tít tít và nhấp
nháy hàng đèn liên tục ! điều khiển các nút vẫn kêu tít tít ! bác nào đã qua bệnh này xin giúp em
với ! em xin cảm ơn
Bi chap nut roi. dung dong ho do . thay nut khac
#include <16F877A.h>
#include <def_877a.h>
#device *=16 adc=10
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#include <lcd_lib_4bit.c> // Thu vien ham cho LCD
int8 low,high,min,max,i,sida=0xaa;
int1 do_F;
float value;
#define nut1 RC2
#define nut2 RC3
#define nut3 RC4
#INT_EXT
void test()
{
if (do_F == 1) do_F=0;
else do_F=1;
}
void banphim(void);
void convert_bcd(int8 x);
//-----------------------------------------------------------------
void main()
{
min =0; //nhiet do mim
max =40; //nhiet do max
do_F =0 ;
i = 10 ;
trisa = 0xFF;
trisb = 0x01;
trisc = 0b00011100;
output_low(pin_C0);
output_low(pin_C1);
//==== Khoi tao cho ngat ngoai===============================================
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
//=========== Khoi tao che do cho bo ADC=====================================
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
LCD_init();
LCD_putcmd(0x01);
LCD_putchar("do_nhiet_do:");
LCD_putcmd(0xC0);
LCD_putchar("cho ty nhe ...");
delay_us(10);// Lay mau nhiet do lan dau tien
value=(float)read_adc();
value = (value - 558.5)/2.048; // For 5V supply
// value = (value - 754.8)/2.048; // For 3.7V Supply
// value = (value - 698.2)/2.048; // For 4V supply
convert_bcd(value); // Tach so tram, chuc, donvi de hien thi len LED 7
delay_ms(100);
LCD_putcmd(0xC0);
LCD_putchar("Ok ");
delay_ms(100);
while(1)
{
banphim();
if (i==10)
{
if(sida==0xaa)
{
value = read_adc();
value=(value-558.5)/2.048;
if (do_F==1)
value=1.8*value+32;
convert_bcd(value);
LCD_putcmd(0xC0);
printf(LCD_putchar,"Nhiet do la:");
LCD_putchar(high); LCD_putchar(low);
if (do_F==0)
printf(LCD_putchar," C");
else
printf(LCD_putchar," F");
i=0;
}
else
{
}
}//
if (value <= max & min <=value)
{
output_high(pin_C1);
}
else output_low(pin_C1);
if(value > max ||value < min)
output_high(pin_C0);
else output_low(pin_C0);
i++;
}
}
//The End=======================================================================
void convert_bcd(int8 x)
{
low=x%10; //chia lay phan du, so hang don vi
high=x/10; //tach hang tram va hang chuc
low = low + 0x30;
high = high + 0x30;
}
void banphim()
{
if (nut1 == 0)
{
sida=~sida;
if(sida!=0xaa)
{
LCD_putcmd(0x01);
LCD_putchar("nhap nhiet do:");
LCD_putcmd(0xC0);
printf(LCD_putchar,"gia tri MAX:%d",max);
}
else
{
LCD_putcmd(0x01);
LCD_putchar("do_nhiet_do:");
value = read_adc();
value=(value-558.5)/2.048;
if (do_F==1)
value=1.8*value+32;
convert_bcd(value);
LCD_putcmd(0xC0);
printf(LCD_putchar,"Nhiet do la:");
LCD_putchar(high); LCD_putchar(low);
if (do_F==0)
printf(LCD_putchar," C");
else
printf(LCD_putchar," F");
}
while(nut1 == 0)
{
}
}
else if (nut3 == 0)
{
if(sida!=0xaa)
{
max = max - 1;
LCD_putcmd(0xC0);
printf(LCD_putchar,"gia tri MAX:%d",max);
}
else
{
}
while(nut3 == 0)//cho nha phim
{
}
delay_ms(10);//chong nay phim
}
else if (nut2 == 0)
{
if(sida!=0xaa)
{
max = max +1;
LCD_putcmd(0xC0);
printf(LCD_putchar,"gia tri MAX:%d",max);
}
else
{
}
while(nut2 == 0)//cho nha phim
{
}
delay_ms(10);//chong nay phim
}
else
{
}
}
#include <16F877A.h>
#include <def_877a.h>
#device *=16 adc=10
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)
#include <lcd_lib_4bit.c>
int8 low,high,key,mode,min,max,mode1,i;
int1 blink,on_off,blink_min,blink_max;
int1 do_F;
void convert_bcd(int8 x);
void set_blink();
void bao_dong();
void test();
//-----------------------------------------------------------------
void main()
{
float value;
on_off =1;
min =15; //nhiet do min default
max =35; //nhiet do max default
do_F =0 ;
i = 0 ;
mode =0 ;
mode1 = 0 ;
blink=0 ;
trisa = 0xFF;
trisb = 0x01;
trisd = 0x00;
LCD_init();
Printf(LCD_putchar,"Lop DT8 - BKHN");
LCD_putcmd(0xC0);
Printf(LCD_putchar,"Khoi tao...");
// Khoi tao cho ngat ngoai
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
// Khoi tao che do cho bo ADC
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
delay_us(10);
// Lay mau nhiet do lan dau tien
value=(float)read_adc();
value = (value - 558.5)/2.048; // For 5V supply
// value = (value - 754.8)/2.048; // For 3.7V Supply
// value = (value - 698.2)/2.048; // For 4V supply
convert_bcd((int8)value); // Chuyen doi tach so tram, chuc, donvi de hien thi len LED 7
delay_ms(1000);
LCD_putcmd(0xC0);
Printf(LCD_putchar," Init OK");
while(1)
{
if (i==25)
{
value = read_adc();
value=(value-558.5)/2.048;
if (do_F==1) value=1.8*value+32;
convert_bcd((int8)value);
printf("
\rNhiet do phong: %u",value);
LCD_putcmd(0xC0);
printf(LCD_putchar," T = ");
LCD_putchar(high); LCD_putchar(low);
if (do_F==0) printf(LCD_putchar," C");
else printf(LCD_putchar," F");
i=0;
}
i++;
if(((int8)value > 40) || ((int8)value < 15)) on_off=1;
else
{
on_off = 0;
LCD_Putcmd(0xCF);
LCD_putchar(" ");
blink=0;
}
if (on_off==1)
{
if (blink==0) { LCD_Putcmd(0xCF);LCD_putchar("!");blink=1;delay_ms(250);}
else {LCD_Putcmd(0xCF);LCD_putchar(" ");blink=0;delay_ms(250);}
}
}
}
//end main-----------------------------------------------------------
#INT_EXT
void test()
{
if (do_F == 1) do_F=0;
else do_F=1;
}
void set_blink()
{
switch(mode)
{
case 1: blink_min=1; break;
case 2: {blink_max=1; blink_min=0;} break;
case 3: {mode=0; blink=0; blink_min=0; blink_max=0;} break;
}
}
void convert_bcd(int8 x)
{
low=x%10; //chia lay phan du, so hang don vi
high=x/10; //tach hang tram va hang chuc
low = low + 0x30;
high = high + 0x30;
}
void bao_dong(){
int8 i;
if (blink == 0) blink = 1;
else blink=0;
for(i=0;i<50;i++)
{
LCD_Putcmd(0xCF);
if (blink==0) LCD_putchar("!");
else LCD_putchar(" ");
}
}
__________________
//*****************************************************************************
// Author : nhh
// Date : 03/04/06
// Hardware: PIC16F877A
//*****************************************************************************
#include <16F877A.h>
#include <defs_16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
int a;
const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\
0b01100110,0b01101101,0b01111101,0b00000111,0b01111111,0b01101111,0b01110111,\
0b01111100,0b00111001,0b01011110,0b11111001,0b11110001};
// ma hoa digital duoi dang mang
// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
{
{
if(RB4&&RB0)
a=dig[0];
}
{
if(RB4&&RB1)
a=dig[4];
}
{
if(RB4&&RB2)
a=dig[8];
}
{
if(RB4&&RB3)
a=dig[12];
}
//.......
{
if(RB5&&RB0)
a=dig[1];
}
{
if(RB5&&RB1)
a=dig[5];
}
{
if(RB5&&RB2)
a=dig[9];
}
{
if(RB5&&RB3)
a=dig[13];
}
//........
{
if(RB6&&RB0)
a=dig[2];
}
{
if(RB6&&RB1)
a=dig[6];
}
{
if(RB6&&RB2)
a=dig[10];
}
{
if(RB6&&RB3)
a=dig[14];
}
//........
{
if(RB7&&RB0)
a=dig[3];
}
{
if(RB7&&RB1)
a=dig[7];
}
{
if(RB7&&RB2)
a=dig[11];
}
{
if(RB7&&RB3)
a=dig[15];
}
RBIF=0; //Xoa co ngat RB
}
}
// Chuong trinh chinh
main()
{
set_tris_b(0b11110000);
set_tris_c(0);
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
portb=0;
portc=0;
while(true)
{
portb=1;
portb=2;
portb=4;
portb=8;
portc=a;
}
}
/**********************************************************************************************
* Mo ta : Nhan phim ma tran phim, 8 led portD hien so tuong ung 0-15, so nay cung duoc goi
* len may tinh bang giao tiep RS232
*----------------------------------------------------------------------------------------------
* Phan cung : PIC16F877A, thach anh 10MHz
* ma tran phim noi voi portB, 8 led don noi voi portD qua tro han dong 220R
* Pic giao tiep RS232 voi may tinh
*----------------------------------------------------------------------------------------------
* Nguoi viet: nhh
* Ngay viet : 12/11/06
* Trinh dich: CCS C v3.013
***********************************************************************************************/
#include <DEFS_16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock = 10000000)
#use rs232(baud = 9600,xmit = pin_C6,rcv = pin_C7)
#define key_port PORTB
#define key_tris TRISB
#define led_port PORTD
#define led_tris TRISD
/*---------------------------------------------------------------------------------------------
Khai bao bien toan cuc
---------------------------------------------------------------------------------------------*/
const unsigned char number[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
/*---------------------------------------------------------------------------------------------
Khai bao nguyen mau cac ham su dung
---------------------------------------------------------------------------------------------*/
void column_check(unsigned char);
void key_scan(void);
/*---------------------------------------------------------------------------------------------
Ham kiem tra hang nao trong cot column xuong 0
---------------------------------------------------------------------------------------------*/
void column_check(unsigned char column)
{
switch(column)
{
case 0:
{
if(!bit_test(key_port,0))
{
while(!bit_test(key_port,0));
delay_ms(10);
led_port = number[0];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,1))
{
while(!bit_test(key_port,1));
delay_ms(10);
led_port = number[1];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,2))
{
while(!bit_test(key_port,2));
delay_ms(10);
led_port = number[2];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,3))
{
while(!bit_test(key_port,3));
delay_ms(10);
led_port = number[3];
printf("%u
\r",led_port);
}
}
break;
case 1:
{
if(!bit_test(key_port,0))
{
while(!bit_test(key_port,0));
delay_ms(10);
led_port = number[4];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,1))
{
while(!bit_test(key_port,1));
delay_ms(10);
led_port = number[5];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,2))
{
while(!bit_test(key_port,2));
delay_ms(10);
led_port = number[6];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,3))
{
while(!bit_test(key_port,3));
delay_ms(10);
led_port = number[7];
printf("%u
\r",led_port);
}
}
break;
case 2:
{
if(!bit_test(key_port,0))
{
while(!bit_test(key_port,0));
delay_ms(10);
led_port = number[8];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,1))
{
while(!bit_test(key_port,1));
delay_ms(10);
led_port = number[9];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,2))
{
while(!bit_test(key_port,2));
delay_ms(10);
led_port = number[10];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,3))
{
while(!bit_test(key_port,3));
delay_ms(10);
led_port = number[11];
printf("%u
\r",led_port);
}
}
break;
case 3:
{
if(!bit_test(key_port,0))
{
while(!bit_test(key_port,0));
delay_ms(10);
led_port = number[12];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,1))
{
while(!bit_test(key_port,1));
delay_ms(10);
led_port = number[13];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,2))
{
while(!bit_test(key_port,2));
delay_ms(10);
led_port = number[14];
printf("%u
\r",led_port);
}
if(!bit_test(key_port,3))
{
while(!bit_test(key_port,3));
delay_ms(10);
led_port = number[15];
printf("%u
\r",led_port);
}
}
break;
}
}
/*---------------------------------------------------------------------------------------------
Ham quet phim
---------------------------------------------------------------------------------------------*/
void key_scan(void)
{
int count;
for(count = 4;count <= 7; count++)
{
key_tris = 0xF0; // cot ngo vao, hang ngo ra
key_port = 0xF0; // cot muc 1, hang muc 0
if(!bit_test(key_port,count)) // cot count xuong 0 chua?
{
delay_ms(10);
if(!bit_test(key_port,count)) // kiem tra lai cot count co xuong 0 ko?
{
key_tris = 0x0F; // cot ngo ra, hang ngo vao
key_port = 0xEF; // cot 0 xuong 0
column_check(0);
key_port = 0xDF; // cot 1 xuong 0
column_check(1);
key_port = 0xBF; // cot 2 xuong 0
column_check(2);
key_port = 0x7F; // cot 3 xuong 0
column_check(3);
}
}
}
}
/*---------------------------------------------------------------------------------------------
Chuong trinh chinh
---------------------------------------------------------------------------------------------*/
void main(void)
{
led_tris = 0x00;
led_port = 0xFF;
while(true)
{
key_scan();
}
}
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RB6=portb.6
#bit RB7=portb.7
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int led=0,speed;
// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
{
//Kiem tra sw1
{
if(RB4==0)
{
led=0b00000001; //led1 sang
speed=250;
}
}
//Kiem tra sw2
{
if(RB5==0)
{
led=0b00000011; //led1,2 sang
speed=200;
}
}
//Kiem tra sw3
{
if(RB6==0)
{
led=0b00000111; //led1,2,3 sang
speed=150;
}
}
//Kiem tra sw4
{
if(RB7==0)
{
led=0b00001111; //led1,2,3,4 sang
speed=100;
}
}
RBIF=0; //Xoa co ngat RB
}
}
// Chuong trinh chinh
void main(void)
{
set_tris_b(0b11110000);
portb=0b00001111;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
{
portb=led;
delay_ms(speed);
portb=0;
delay_ms(speed);
}
}
*************************************** //////
////// lcd 16x2 mode 4bit - trinh bien dich CCS //////
////// PIC16F877A //////
////// //////
////// //////
////// *************************************************** //////
////// RS - RD0 D4 - RD4 //////
////// RW - RD1 D5 - RD5 //////
////// E - RD2 D6 - RD6 //////
////// D7 - RD7 //////
////// //////
////// //////
////// lcd_init(); - khoi tao lcd //////
////// hangcot(x,y); - vi tri hang x cot y can hien thi tren lcd //////
////// hienthi(" "); - xuat ky tu hoac chuoi ky tu ra lcd //////
////// xoamanhinh(); - xoa cac ky tu hien thi tren lcd //////
////// ghicgram( ); - ghi ky tu dac biet vao cgram cua lcd //////
////// printf(hienthi," %u ",a); - xuat ky tu la bien so a(8bit) //////
////// printf(hienthi," %lu ",a); - xuat ky tu la bien so a(16bit) //////
////// //////
////// 10/07/2012 //////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#include <defs_16f877a.h>
#define RS RD0 // thay doi chan tuy y
#define RW RD1 //
#define E RD2 //
#define D4 PIN_D4 //
#define D5 PIN_D5 //
#define D6 PIN_D6 //
#define D7 PIN_D7 //
void setpin(int n)
{
output_bit (D4,n&1);
output_bit (D5,n&2);
output_bit (D6,n&4);
output_bit (D7,n&8);
}
void ghilenh(int n)
{
//////gui 4bit cao///////
setpin(swap(n));// lenh swap(n) dung de hoan doi vi tri 4 bit cao va 4 bit thap cua bien n
RS = 0;
RW = 0;
E = 1;
delay_us(1);
E = 0;
delay_us(50);
//////gui 4bit thap//////
setpin(swap(n));
E = 1;
delay_us(1);
E = 0;
delay_us(50);
}
void hienthi(char n)// void hien thi ky tu hoac chuoi ky tu ra man hinh
{
//////gui 4bit cao///////
setpin(swap(n));
RS = 1;
RW = 0;
E = 1;
delay_us(1);
E = 0;
delay_us(50);
//////gui 4bit thap//////
setpin(swap(n));
E = 1;
delay_us(1);
E = 0;
delay_us(50);
}
void lcd_init()//khoi tao lcd
{
set_tris_d(0);//set_tris theo ten port da khai bao #define o tren
ghilenh(0x02);
delay_ms(2);
ghilenh(0x06);
ghilenh(0x28);
ghilenh(0x0c);
ghilenh(0x01);
delay_ms(100);
}
void xoamanhinh()//xoa cac ky tu tren man hinh
{
ghilenh(0x01);
delay_ms(2);
}
void hangcot(int x, int y)
{
switch(x)
{
case 1: ghilenh(127+y); break;
case 2: ghilenh(191+y); break;
default:
lcd_init();
hienthi(" ERROR POSITION ");
while(1){};
}
}
Void ghiCGRAM(int text[])// ghi ky tu dac biet vao CGRAM cua lcd
{
int add;
add=0;
ghilenh(0x40); //dia chi bat dau cua cgram
while(add!=64)// ghi 64byte tuong duong 8 ky tu
{
hienthi(text[add]);//ghi tung byte vao cgram
add++;
}
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////CODE VIDU////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
/*
#include <16F877A.h>
#fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOLVP,NOBROWNOUT,NOCPD,NOWRT
#use delay(clock=20000000)
#include <lcd_4bit.c>
int vd[]={ 0x04,0x0e,0x0e,0x0e,0x1f,0x00,0x04,0x00//BELL
0x01,0x03,0x0f,0x0f,0x0f,0x03,0x01,0x00 //SPEAKER OFF
0x08,0x10,0x00,0x18,0x00,0x10,0x08,0x00 //SPEAKER ON
0x00,0x0e,0x15,0x17,0x11,0x0e,0x00,0x00//CLOCK
0x00,0x01,0x03,0x16,0x1c,0x08,0x00,0x00 //OK
0x0a,0x1f,0x1f,0x1f,0x0e,0x04,0x00,0x00 //HEART
0x02,0x03,0x02,0x0e,0x1e,0x0c,0x00,0x00 //MUSIC
0x04,0x0A,0x0A,0x04,0x00,0x00,0x00,0x00} ;//DO
//////////////////////////////////////////////
void main()
{
lcd_init();
ghicgram(vd);//ghi ky tu dac biet vao cgram
while(1)
{
hangcot(1,1);
hienthi(" LAM HUU TOAN ");
hangcot(2,1);
hienthi(" CDT09A ");
delay_ms(2000);
xoamanhinh();
hangcot(1,2);
hienthi("CDKT CAO THANG ");
delay_ms(2000);
hangcot(2,4);
hienthi(0);//hien thi ky tu dau tien trong cgram (BELL)
hienthi(1);//SPEAKER OFF
hienthi(2);//SPEAKER ON
hienthi(3);//CLOCK
hienthi(4);//OK
hienthi(5);//HEART
hienthi(6);//MUSIC
hienthi(7);//DO
delay_ms(4000);
xoamanhinh();
}
}*/
lcd 16x2 mode 8bit - trinh bien dich CCS //////
////// PIC16F877A //////
////// //////
////// //////
////// *************************************************** //////
////// RS - RE0 D3 - RD3 //////
////// RW - RE1 D4 - RD4 //////
////// E - RE2 D5 - RD5 //////
////// D0 - RD0 D6 - RD6 //////
////// D1 - RD1 D7 - RD7 //////
////// D2 - RD2 //////
////// //////
////// lcd_init(); - khoi tao lcd //////
////// hangcot(x,y); - vi tri hang x cot y can hien thi tren lcd //////
////// hienthi(" "); - xuat ky tu hoac chuoi ky tu ra lcd //////
////// xoamanhinh(); - xoa cac ky tu hien thi tren lcd //////
////// ghicgram( ); - ghi ky tu dac biet vao cgram cua lcd //////
////// printf(hienthi," %u ",a); - xuat ky tu la bien so a(8bit) //////
////// printf(hienthi," %lu ",a); - xuat ky tu la bien so a(16bit) //////
////// //////
////// 10/07/2012 //////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#include <defs_16f877a.h>
#define LCD PORTD // co the doi lai PORTB, PORTC
#define RS RE0 // thay doi chan tuy y
#define RW RE1 //
#define E RE2 //
void ghilenh(int n)
{
lcd=n;
RS = 0;
RW = 0;
E = 1;
delay_us(1);
E = 0;
delay_us(50);
}
void hienthi(char n)// void hien thi ky tu hoac chuoi ky tu ra man hinh
{
lcd=n;
RS = 1;
RW = 0;
E = 1;
delay_us(1);
E = 0;
delay_us(50);
}
void lcd_init()//khoi tao lcd
{
set_tris_d(0);//set_tris theo ten port da khai bao #define o tren
set_tris_e(0);//set_tris theo ten port da khai bao #define o tren
ghilenh(0x01);
delay_ms(2);
ghilenh(0x02);
delay_ms(2);
ghilenh(0x06);
ghilenh(0x38);
ghilenh(0x0c);
delay_ms(100);
}
void xoamanhinh()//xoa cac ky tu tren man hinh
{
ghilenh(0x01);
delay_ms(2);
}
void hangcot(int x, int y)
{
switch(x)
{
case 1: ghilenh(127+y); break;
case 2: ghilenh(191+y); break;
default:
lcd_init();
hienthi(" ERROR POSITION ");
while(1){};
}
}
Void ghiCGRAM(int text[])// ghi ky tu dac biet vao CGRAM cua lcd
{
int add;
add=0;
ghilenh(0x40); //dia chi bat dau cua cgram
while(add!=64)// ghi 64byte tuong duong 8 ky tu
{
hienthi(text[add]);//ghi tung byte vao cgram
add++;
}
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////CODE VIDU////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
/*
#include <16F877A.h>
#fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOLVP,NOBROWNOUT,NOCPD,NOWRT
#use delay(clock=20000000)
#include <lcd_8bit.c>
int vd[]={ 0x04,0x0e,0x0e,0x0e,0x1f,0x00,0x04,0x00//BELL
0x01,0x03,0x0f,0x0f,0x0f,0x03,0x01,0x00 //SPEAKER OFF
0x08,0x10,0x00,0x18,0x00,0x10,0x08,0x00 //SPEAKER ON
0x00,0x0e,0x15,0x17,0x11,0x0e,0x00,0x00//CLOCK
0x00,0x01,0x03,0x16,0x1c,0x08,0x00,0x00 //OK
0x0a,0x1f,0x1f,0x1f,0x0e,0x04,0x00,0x00 //HEART
0x02,0x03,0x02,0x0e,0x1e,0x0c,0x00,0x00 //MUSIC
0x04,0x0A,0x0A,0x04,0x00,0x00,0x00,0x00} ;//DO
//////////////////////////////////////////////
void main()
{
lcd_init();
ghicgram(vd);//ghi ky tu dac biet vao cgram
while(1)
{
hangcot(1,1);
hienthi(" LAM HUU TOAN ");
hangcot(2,1);
hienthi(" CDT09A ");
delay_ms(2000);
xoamanhinh();
hangcot(1,2);
hienthi("CDKT CAO THANG ");
delay_ms(2000);
hangcot(2,4);
hienthi(0);//hien thi ky tu dau tien trong cgram (BELL)
hienthi(1);//SPEAKER OFF
hienthi(2);//SPEAKER ON
hienthi(3);//CLOCK
hienthi(4);//OK
hienthi(5);//HEART
hienthi(6);//MUSIC
hienthi(7);//DO
delay_ms(4000);
xoamanhinh();
}
}*/
Bạn đang đọc truyện trên: AzTruyen.Top