Em lam hien thi số thập phân lên LCD .Code em thấy không có gi sai nhưng không hiểu sao chỗ hiển thị số thập phân thì lần nào cũng hiển thị thêm một loạt những số không mong muốn ở đuôi(cụ thể là rất nhiều chữ số 9).Trong chương trình em viết (ở bên dưới) thì cụ thể là chỗ hiển thị T2(chính là Gia_trị_dat2 ấy) không hiển thị chính xác giá trị thực mà cứ thêm những ký tự không mong muốn ở sau.Nếu em thay kiểu float thành kiểu int và chỉnh lại đoạn có đánh dấu *** thì lại ngon.Hơn nưa biến Gia_trị_dat2 và Gia_trị_dat1 em ghi vào E2PROM với thao tác như nhau nhưng Gia_trị_dat1 lưu được còn Gia_trị_dat2 lại không lưu được.Tắt điện đi bật lên giá trị hiển thị vẫn là 0.0 ? Mong các cao thủ chỉ dùm !Em rất gấp!
Thông báo
Collapse
No announcement yet.
Hien thi LCD so thap phan
Collapse
X
-
Nguyên văn bởi process Xem bài viếtEm lam hien thi số thập phân lên LCD .Code em thấy không có gi sai nhưng không hiểu sao chỗ hiển thị số thập phân thì lần nào cũng hiển thị thêm một loạt những số không mong muốn ở đuôi(cụ thể là rất nhiều chữ số 9)
Ví dụ số nguyên là 2 nhưng số thực của nó là 1.9999
Nếu bạn muốn hiện thị đúng là 2.000 thì bạn phải tách kết quả phép chia thành phần nguyên và phần dư.
Ví dụ để hiện kết quả 5/2 =2.500
Thì bạn phải 5/2 --> lấy phần nguyên --> hiện thị. Lưu lại phần dư.
Lặp lại quá trình trên đến khi phần lưu nhỏ hơn số bị chia.
Hiện thị dấu chấm.
Nhân 10 cho phần dư --> chia lấy phần nguyên --> hiện thị, lưu lại phần dư của phép chia vừa rồi.
Lặp lại quá trình vửa rồi để đạt đến số chữ số sau dấu phẩy mong muốn.
Nếu cận thận hơn, bạn nên chia thêm lần nữa, nếu kết quả lớn hơn 6 thì tăng số đằng trước lên 1 đơn vị để đảm bảo làm tròn.
Cách tớ làm như vậy, còn đọc code tớ ngại lắm
-
Hien thi LCD so thap phan
Cam on ban PHAMTHAIHOA nhieu !Khong biet moi nmguoi khac co lam nhu ban khong nhi? Nhung to thay co ve hoi phuc tap.Minh da phat hien ra roi tai minh khong ep kieu (float) khi chia 2 so nguyen de lay ket qua chinh xac.Con dang sau hien thi toan so 9 thi minh xoa di bang cach LCD_prstring(" ").Nhung lai gap phai một vấn đề nữa là sao LCD chỉ hiển thị được một lúc rồi tắt mất đèn, lan nào thử nghiệm cũng vậy.Có bạn nào biết cho mình hỏi làm thế nào để điều khiển đèn LCD lúc sáng lúc tối không?Technical Institutes
Mobile: 0983278725
Email:
Comment
-
Hiển thi LCd
Sao bac AFH nguyên thấy những gi quen quen nhỉ!Lần trước thì là Datasheet.Cha nhẽ mỗi mình ban nghiên cưu Psoc sao?Chương trình đó có gì đâu,chỉ là một đoạn quét phím,và ghi E2prom thôi,có gì đâu!Technical Institutes
Mobile: 0983278725
Email:
Comment
-
Nguyên văn bởi process Xem bài viếtNhung lai gap phai một vấn đề nữa là sao LCD chỉ hiển thị được một lúc rồi tắt mất đèn, lan nào thử nghiệm cũng vậy.Có bạn nào biết cho mình hỏi làm thế nào để điều khiển đèn LCD lúc sáng lúc tối không?
Còn nếu muốn điều chỉnh độ tương phản của LCD thì bạn phải nối chân điều khiển độ tương phản của nó (Vee) vào một con biến trở số nào đó, ví dụ MCP41010.
Comment
-
Hien thi LCD
Cac ban lam on cho minh hoi co loai LCD nao khac ngoai loai LCD 16X2 mau xanh xanh ban o han thuyên không nhỉ.Mình thấy loại đó có hỗ trợ cho Psoc nhưng màu không đẹp lăm.Mình muốn xem có loại nào màu bạc như ở các máy móc của bọn Nhật nhìn đẹp ấy.Nếu bạn nào đã làm rồi hay biết chỉ chỗ mình mua cái,nếu có sơ đồ chân thì càng tốt!Cám ơn nhe.Technical Institutes
Mobile: 0983278725
Email:
Comment
-
bạn ơi mình đang muốn biết cách thể hiện số thập phân lên lcd bạn có thể chỉ dùm mình ko?Mình đang làm đồ án mà cái nấy ko rành lắm.Có gì bạn liên hệ mail mình nhé qa1311@gmail.com.Ho85c bạn ở đâu mình chạy qua thỉnh giáo.Mình o tphcm
Comment
-
Nguyên văn bởi psoc_vietnam Xem bài viếtbạn dùng mấy hàm chuyển đổi số nguyên hay hexa sang số string rồi hiển thị lên là được thôi. bạn xem trong help của nó có đấy. Chúc bạn thành công!
dt: 0909601729
Comment
-
em có đoạn code hiển thị số kg lên lcd sau:
#include <16F877a.h>
#device PIC16F877a*=16ADC=10
#include <math.h>
#include <lcd.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT
#use delay(clock=4000000)
int chuc,dv,thapphan,i;
int a[10]={48,49,50,51,52,53,54,55,56,57}; // so tu 0-9
int16 tam=0;
unsigned int16 ht=0;
void AD_init();
void doc();
void main()
{
lcd_init();
AD_init();
delay_us(20);
while(1)
{
lcd_gotoxy(1,1);
lcd_putc("D.AN CAN DIEN TU");
doc();
for(i=0;i<=35;i++)
{
ht=ht+tam;
}
ht=ht/36;
chuc=ht/100;
dv=ht/10;
thapphan=ht%10;
lcd_gotoxy(1,2);
lcd_putc("K.luong: ");lcd_putc(a[chuc]);lcd_putc(a[dv]);lcd_putc(".");lcd_putc(a[thapphan]);
lcd_putc(" kg");
delay_ms(150);
}
}
void doc()
{
for(i=0;i<=35;i++)
{
tam=read_adc();
delay_ms(15);
}
}
void AD_init()
{
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(SAN0);
set_adc_channel(0);
delay_us(800);
}
cho em hỏi nó không hiển thị dc số kg lẻ. code em bắt buộc hiển thị 3 số vd : 12.4kg, 01.0kg, 00.1kg,....mong mọi người chỉ giúp ạ.
sắp nộp đồ án nhưng chưa hiển thị dc.
email: haitm192@gmail.com
e cảm ơn nhiều.
Comment
Bài viết mới nhất
Collapse
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Trả lời cho Đồng hồ công tơ điện tửbởi qpdt03Hình ảnh mạch của nó đây, mình mang đồng hồ điện tử ra đo giá trị điện trở dán ghi trên lưng các con điện trở trong mạch đều đúng, mà công tơ điện tử vẫn đo sai, không biết nó hỏng chỗ nào; đã ấn nút reset lại nhưng vẫn không đc. Nhờ các bác có kinh nghiệm giúp đỡ. Thanks!
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
bởi qpdt03Mình mới mua 1 cái đồng hồ công tơ điện tử trên shopee; loại hiển thị 4 thông số V,A,W và tổng số Kwh nhưng về cắm thử đc 1 hôm thì chỉ số V báo 378v, cắm về 100v cũng báo 350v có bác nào biết cách sửa chữa nó không chỉ giúp mình nhé. Xin cảm ơn mọi người đã đọc bài.
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 16:46 -
-
bởi notooth1Các bạn xem giúp mình đây là tụ phân cực hay không phân cực nhé.
...-
Channel: Hướng dẫn tìm thông tin linh kiện
20-03-2024, 18:06 -
-
bởi carl22Xin chào tất cả mọi người.
Tôi hiện đang chế tạo một máy phay CNC. Máy phay được điều khiển thông qua Raspberry Pi 3 b+ và Smoothieboard v1.1 với trình điều khiển động cơ bước ACT DM 542 và động cơ 1,8° 2A.
Trục X 1,8° 3 A chạy qua trình điều khiển động cơ bước vì bảng sinh tố chỉ...-
Channel: Cơ cấu chấp hành (Actuator)
20-03-2024, 15:48 -
-
bởi ningoleChào các bác! Em là newbie về điện tử đang muốn làm một cái đèn báo cho ổ cắm nhưng chưa rành về mạch mong các bác giúp đỡ!
Nhu cầu của e là muốn làm 1 đèn báo nguồn AC 220V:
Nguồn 220v -> Phích cắm -> nối với 1 ổ cắm....-
Channel: Điện tử dành cho người mới bắt đầu
20-03-2024, 11:09 -
-
Trả lời cho có cần thiết phải lắp mạch bms cho khối pin ?bởi bao98Tất nhiên là bạn cần nó!
BMS là một phần không thể thiếu trong hệ thống ắc quy của xe điện.
nếu bạn không cài đặt BMS, có thể xảy ra vấn đề về pin, thậm chí có thể dẫn đến tai nạn-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 22:51 -
-
Trả lời cho [đồ án] xung đột nguồn điện 12vbởi bao98Để tìm hiểu xem bộ điều hợp UART của bạn được kết nối với cổng USB nào trên Raspberry Pi, bạn có thể sử dụng lệnh ls /dev/ttyUSB* hoặc ls /dev/ttyACM* trong thiết bị đầu cuối. Điều này sẽ liệt kê các cổng USB có sẵn để liên lạc nối tiếp. Cáp có thể được xem ở đây. Bạn cũng có thể kết nối và...
-
Channel: Hỗ trợ học tập
19-03-2024, 22:38 -
-
Trả lời cho cho hỏi move điện là g?bởi DiennuocAQLà sự tiếp xúc giữa 2 tiếp điểm không được tốt gây ra. Ví dụ như đầu dây điện cắm vào chân attomat nhưng lâu ngày ốc siết lỏng dần ra, làm dòng điện chuyển tiếp không tốt, gây ra hệ thống điện chập chờn gọi là move ạ
-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 12:40 -
Comment