mình đang muốn làm về LCD graphic màu nhưng không hiểu cách khởi tạo cho nó, không biết nó có khác so với GLCD nền xanh chữ đen ko, mình dùng PÍC6F887 để điều khiển. a e nào có làm rồi xin hướng dẫn mình bước cơ bản. àh với ở tphcm a e nào biết chổ bán con IC ADS7843 dùng cho màn hình cảm ứng. cảm ơn các bạn giúp đỡ.
Thông báo
Collapse
No announcement yet.
LCD graphic và touch screen
Collapse
X
-
Màn hình cảm ứng
Cuối cùng mình cũng xử lý xong cái glcd giờ tới con ADS7843 của màn hình cảm ứng. mình dùng PIC18f4620 để dk nhưng trong proteus ko mô phỏng dc nên dùng tạm 18f452 chương trình mình xem rất kỹ ko biết lỗi gì mà ko chạy. bạn nào nghiên cứu qua thì giúp mình.
đây là code:
#include <18f452.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //Reset when brownout detected
#FUSES NOPUT //No Power Up Timer
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#use delay(clock=20000000)
#define SPI_MODE_0 (SPI_L_TO_H | SPI_XMIT_L_TO_H)
////////////////////////////////////////////////////////////////////////////////
//////////////dinh nghia PIN/////////////////////
#define ADS7843_CS PIN_C1
#define ADS7843_BUSY PIN_C2
#define ADS7843_PENIRQ PIN_B0
////////////////////////////////////////////////////////////////////////////////
//////////////Cchuong trinh con/////////////////////
int16 ads7843_read(mode)
{
int8 lsb, msb;
int16 retval;
output_low(ADS7843_CS); //cho phep chon chip
spi_write(mode);
while (input (ADS7843_BUSY)== 1){;}
msb = spi_read(0);
lsb = spi_read(0);
output_high(ADS7843_CS); //khong phep chon chip
retval = make16(msb, lsb); // tra ve gia tri 16bit ket hop tu 2 bien (msb va lsb) msb la byte cao
retval >>= 4;
return(retval); //tra ve gia tri la: [x][x][x][x][x][x][x][x][x][x][x][x][] [] [] []
}
///////////////////////////////////////////////////////////////////////////////
void main()
{
output_high(ADS7843_CS); // Inactive state (disenable)
setup_spi(SPI_MASTER | SPI_MODE_0 | SPI_CLK_DIV_4); //khoi tao chuan SPI
int16 x,y;
output_low(ADS7843_CS); // Inactive state (enable)
delay_ms(5);
while (TRUE)
{
while( input(ADS7843_PENIRQ) ==0 ) // is screen touch
{
x = ads7843_read (0x94);
delay_us (2);
y = ads7843_read (0xD4);
delay_ms (1);
if ((x<50)&& (y <50)) //neu vung duoc bam co gtri x,y <50 thi bat den chi thi RB7
{
output_bit( PIN_B7, 1);
delay_ms (100);
output_bit( PIN_B7, 0);
delay_ms (50);
}
}
}
}Attached Files
Comment
-
GLCD tôi đã giải quyết mượt mà phần hiển thị bitmap đa năng(Y chang led matrix) dùng phần mềm build bitmap của a Bvhoang. Phần hiển thị kí tự với font 5x7 cũng đã ok, nhưng hiện tại đang gặp rắc rối nhỏ là giờ mình muốn hiển thị cả 1 chuỗi kí tự dài vd"DTVN" thì chưa thực hiện đc, rắc rối nằm ở chỗ lấy mã ascii của từng phần tử trong chuỗi đó, giờ tôi chỉ cần cắt đc từng kí tự ra khỏi chuỗi đó là ok. CCS ko hỗ trợ hàm cắt kí tự như VB
. Pro nào có cao kiến xin chỉ giáo.
Add: 97 Quán Nam - Lê Chân - Hải Phòng.
Tel: 031 518648 Phone: 0904 283 505
Comment
-
Mình không dùng CCS nên không biết nhiều về nó. Theo mình nghĩ bạn tạo một mảng "char string[]" rồi cho các kí tự vào đó sau đó khi nào cần lấy ra theo kiểu "string[i]" với i là biến chạy tăng dần. Hy vọng giúp đc bạn!Nguyên văn bởi hoangdai Xem bài viếtGLCD tôi đã giải quyết mượt mà phần hiển thị bitmap đa năng(Y chang led matrix) dùng phần mềm build bitmap của a Bvhoang. Phần hiển thị kí tự với font 5x7 cũng đã ok, nhưng hiện tại đang gặp rắc rối nhỏ là giờ mình muốn hiển thị cả 1 chuỗi kí tự dài vd"DTVN" thì chưa thực hiện đc, rắc rối nằm ở chỗ lấy mã ascii của từng phần tử trong chuỗi đó, giờ tôi chỉ cần cắt đc từng kí tự ra khỏi chuỗi đó là ok. CCS ko hỗ trợ hàm cắt kí tự như VB
. Pro nào có cao kiến xin chỉ giáo.
Ngô Đông Y
********
Mobile : 0984053088
Yahoo :
Email :
Comment
-
Nguyên văn bởi leson87 Xem bài viếtMàn hình cảm ứng
Cuối cùng mình cũng xử lý xong cái glcd giờ tới con ADS7843 của màn hình cảm ứng. mình dùng PIC18f4620 để dk nhưng trong proteus ko mô phỏng dc nên dùng tạm 18f452 chương trình mình xem rất kỹ ko biết lỗi gì mà ko chạy. bạn nào nghiên cứu qua thì giúp mình.
đây là code:
#include <18f452.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //Reset when brownout detected
#FUSES NOPUT //No Power Up Timer
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#use delay(clock=20000000)
#define SPI_MODE_0 (SPI_L_TO_H | SPI_XMIT_L_TO_H)
////////////////////////////////////////////////////////////////////////////////
//////////////dinh nghia PIN/////////////////////
#define ADS7843_CS PIN_C1
#define ADS7843_BUSY PIN_C2
#define ADS7843_PENIRQ PIN_B0
////////////////////////////////////////////////////////////////////////////////
//////////////Cchuong trinh con/////////////////////
int16 ads7843_read(mode)
{
int8 lsb, msb;
int16 retval;
output_low(ADS7843_CS); //cho phep chon chip
spi_write(mode);
while (input (ADS7843_BUSY)== 1){;}
msb = spi_read(0);
lsb = spi_read(0);
output_high(ADS7843_CS); //khong phep chon chip
retval = make16(msb, lsb); // tra ve gia tri 16bit ket hop tu 2 bien (msb va lsb) msb la byte cao
retval >>= 4;
return(retval); //tra ve gia tri la: [x][x][x][x][x][x][x][x][x][x][x][x][] [] [] []
}
///////////////////////////////////////////////////////////////////////////////
void main()
{
output_high(ADS7843_CS); // Inactive state (disenable)
setup_spi(SPI_MASTER | SPI_MODE_0 | SPI_CLK_DIV_4); //khoi tao chuan SPI
int16 x,y;
output_low(ADS7843_CS); // Inactive state (enable)
delay_ms(5);
while (TRUE)
{
while( input(ADS7843_PENIRQ) ==0 ) // is screen touch
{
x = ads7843_read (0x94);
delay_us (2);
y = ads7843_read (0xD4);
delay_ms (1);
if ((x<50)&& (y <50)) //neu vung duoc bam co gtri x,y <50 thi bat den chi thi RB7
{
output_bit( PIN_B7, 1);
delay_ms (100);
output_bit( PIN_B7, 0);
delay_ms (50);
}
}
}
}
Địa chỉ toạ độ X ( 0x90), toạ độ Y( 0xD0);
Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 09:09 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -

Comment