Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội TÓM TẮT NỘI DUNG Sử dụng vi điều khiển PIC 16F877A để thiết kế một mạch quản lý cuộc gọi đi. Việc thiết kế cần phải có kiến thức cơ sở về điện thoại và mã DTMF. Vì vậy trong chương 1 của luận văn em trình bày cơ sở lý thuyết về điện thoại và mã DTMF. Tiếp theo là vi điều khiển PIC 16F877A được em lựa chọn và lí do em lựa trọn được em trình bày ở chương 3, đặc điểm kỹ thuật được trình bày ở phần phụ lục. Phần thực nghiệm bao gồm các công việc: thiết kế mạch phần cứng của mạch quản lý cuộc gọi đi bằng phần mềm Altium Designer 6.7.9346, lập trình các khối cho bản mạch. Trong luận văn này tập trung vào các vấn đề sau: Thiết kế phần cứng của mạch quản lý số điện thoại gọi đi Hiển thị thông tin cuộc gọi lên LCD - 1 -
95
Embed
[Laptrinh.vn]-Thiết kế một mạch quản lý cuộc gọi đi
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
TÓM TẮT NỘI DUNG
Sử dụng vi điều khiển PIC 16F877A để thiết kế một mạch quản lý cuộc gọi
đi. Việc thiết kế cần phải có kiến thức cơ sở về điện thoại và mã DTMF. Vì vậy
trong chương 1 của luận văn em trình bày cơ sở lý thuyết về điện thoại và mã
DTMF. Tiếp theo là vi điều khiển PIC 16F877A được em lựa chọn và lí do em lựa
trọn được em trình bày ở chương 3, đặc điểm kỹ thuật được trình bày ở phần phụ
lục. Phần thực nghiệm bao gồm các công việc: thiết kế mạch phần cứng của mạch
quản lý cuộc gọi đi bằng phần mềm Altium Designer 6.7.9346, lập trình các khối cho
bản mạch.
Trong luận văn này tập trung vào các vấn đề sau:
Thiết kế phần cứng của mạch quản lý số điện thoại gọi đi
Hiển thị thông tin cuộc gọi lên LCD
- 1 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
BẢNG CHỮ CÁI VIẾT TẮT
DTMF : dual-tone multiFequency
I2C : Inter-intergrated Circuit
ICSP : In-Circuit Serial Programming
MCLR : Master Clear
PIC : Peripheral Interface Controller
: Programmable Intelligent Computer
LCD : Liquid crytal Display
SPI : Serial Pripheral Interface
- 2 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
LỜI CẢM ƠN
Lời đầu tiên trong khoá luận em xin bày tỏ lòng biết ơn tới toàn thể
các thầy cô, cán bộ trong khoa Điện tử - Viễn thông trường Đại học
Công nghệ - Đại học Quốc Gia Hà Nội, đặc biệt là các thầy cô trong
bộ môn điện tử đã nhiệt tình chỉ dạy dỗ em trong suốt bốn năm học
vừa qua.
Em xin chân thành cảm ơn thầy giáo PGS.TS Ngô Diên Tập đã
hướng dẫn, quan tâm, chỉ bảo tận tình để em hoàn thành khoá luận tốt
nghiệp này.
Cảm ơn gia đình, bạn bè đã động viên, khích lệ, giúp đỡ về mọi mặt
trong quá trình em làm luận văn tốt nghiệp.
Hà Nội: ngày 07 tháng 5 năm 2008
Sinh viên thực hiện
Vũ Tiến Chương
- 3 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
LỜI NÓI ĐẦU
Ngày nay kĩ thuật vi điều khiển đã trở nên quen thuộc trong ngành kỹ thuật
và cả trong các ứng dụng đời thường. Hầu hết các dây truyền tự động lớn và các sản
phẩn dân dụng ta đều thấy sự suất hiện của vi điều khiển. Vi điểu khiển được nhà
sản xuất tích hợp rất nhiều các nhiều tính năng với các bộ ngoại vi được tích hợp
ngay trên vi điều khiển, cùng với khả năng xử lý nhiều hoạt động phức tạp, tất cả
được tích hợp trên một con chip nhỏ gọn, chính vì vậy sẽ gặp nhiều thuận lợi hơn
trong thiết kế board, khi đó board mạch sẽ nhỏ gọn và đẹp hơn dễ thiết kế hơn rất
nhiều. Về mặt tính năng và công năng thì có thề xem PIC vượt trội hơn rất nhiều so
với 89 với nhiều module được tích hợp sẵn như ADC10 BIT, PWM 10 BIT, PROM
256 BYTE, COMPARATER, VERF COMPARATER, một đặc điểm nữa là tất cả
các con PIC sử dụng thì đều có chuẩn PI tức chuẩn công nghiệp thay vì chuẩn PC
(chuẩn dân dụng). Ngoài ra PIC còn được rất nhiều nhà sản xuất phần mềm tạo ra
các ngôn ngữ hỗ trợ cho việc lập trình ngoài ngôn ngữ Asembly ra còn có thể sử
dụng ngôn ngữ C thì sử dụng CCSC, HTPIC hay sử dụng Basic thì có
MirkoBasic… và còn nhiều chương trình khác nữa để hỗ trợ cho việc lập trình bên
cạnh ngôn ngữ kinh điển là asmbler. Cùng với sự phát triển của vi điều khiển là sự
phát triển mạnh mẽ của các dịch vụ điện thoại chính vì vậy nên việc quản lý các
cuộc điện thoại trở nên cấp thiết. Từ yêu cầu trên và những kiến thức em đã được
học trên trường em đã được chọn đề tài quản lý số điện thoại gọi đi với mục tiêu đặt
ra: sử dụng PIC 16F887A và đồng hồ thời gian thực để xác định thời gian gọi, ghép
nối với LCD để hiển thông tin về cuộc gọi .
Giới hạn đề tài : việc thiết kế các ứng dụng của PIC với đường dây điện thoại
rất phong phú và phức tạp, do vậy trong luận văn này em tập trung giải quyết các
vấn đề chính:
Thiết kế phần cứng mạch quản lý cuộc gọi đi
Hiển thị thông tin cuộc gọi trên màn hình LCD
- 4 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Bit 7-6 Không được định nghĩa
Bit 5-4 bit chọn bộ chia clock cho timer1
Bit 3 bit điều khiển cho phép bộ dao động Timer1
Bit 2 bit điều khiển clock ngoài Timer
Bit 1 bit chọn nguồn clock cho Timer1
Bit 0 bit điều khiển hoạt động của Timer1
1.5.2.1 Chế độ Timer
Chế độ Timer được chọn bằng cách xoá TMR1CS.Trong chế độ này, Nguồn
clock đặt vào Timer là mạch dao động FOSC/4.Bit điều khiển đồng bộ không bị tác
động vì clock ngoài luôn luôn đồng bộ.
Hình 15: Cạnh tăng timer1
1.5.2.2 Chế độ counter
Trong chế độ này, bộ định thời tăng số đếm qua clock ngoài.Việc tăng xảy ra
sau mỗi cạnh lên của xung clock ngoài. Bộ định thời phải có một cạnh lên trước khi
việc đếm bắt đầu.
- 51 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Hình 16: Sơ đồ khối bộ định thời timer1
1.5.3 Bộ định thời TIMER2
Bộ định thời 2 là bộ định thời 8 bit với một chia và một bộ potscaler. Nó
thường dùng chung với bộ CCP trong chế độ PWM (sẽ được đề câp ở phần sau).
Thanh ghi TMR2 có thể đọc hoặc ghi và được xoá khi có bất kì tín hiệu reset nào
của thiết bị
Bộ định thời 2 có một thanh ghi chu kỳ 8 bit, PR2. Bộ định thời tăng số đếm
lên từ 00h đến giá trị được ghi trong thanh ghi TR2 và sau đó reset lại giá trị 00h
trong chu kỳ kế tiếp. PR2 là thanh ghi có thể đọc hoặc ghi.
Giá trị trùng hợp trong thanh ghi TMR2 được đi qua bộ postscaler 4 bit để
phát ra một ngắt TMR2 (được đặt ở bit cờ ngắt TMR2IF). Bộ định thời 2 có thể
được tắt (không hoạt động) bằng cách xoá bít điều khiển TMR2ON để giản thiểu
công suất tiêu tán nguồn
- 52 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Hình 17: Sơ đồ khối của TIMER2
Hình 18: T2CON: Thanh ghi điều khiển Timer2 (địa chỉ 12h)
2.1 MTD8870
- 53 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
M-8870 (18 chân): là vi mạch nhận tín hiệu DTMF dùng để lọc, tách và mã
hoá. Nó lọc tách sử dụng công nghê “switched capacitor”. Vi mạch MT8870 giải
mã sử dụng phương pháp đếm số “digital counting” để phát hiện và giải mã DTMF
thành 1 mã 4 bít. MT8870 sử dụng 1 dao động thạch anh 3.579545MHz
Hình 19: Sơ đồ chân của MTD8870
Phát hiên quay số tương ướng với bít StD. Q1, Q2, Q3, Q4 là tín hiệu DTMF
được mã hoá lại thành mã BCD
- 54 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
- 55 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Hình 20: Sơ đồ khối của MT8870
3. 1 Đồng hồ thời gian thực DS1307
3.1.1 Cơ chế hoạt động và chức năng của DS1307
Hình 21: DS1307
Vcc: nối với nguồn
X1, X2: nối với thạch anh 32, 768 kHz
Vbat: đầu vào pin 3V
GND: đất
SDA: chuỗi data
SCL: dãy xung clock
SQW/OUT: xung vuông/đầu ra driver
• DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật
thời gian và ngày tháng với 56 byte SRAM. Địa chỉ và dữliệu được truyền nối tiếp
qua 2 đường bus 2 chiều. Nó cung cấp thông tin về giờ, phút, giây, thứ, gày, tháng,
năm. Ngày cuối tháng sẽ tự động được điều chỉnh với các tháng nhỏ hơn 31 ngày,
- 56 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
bao gồm cả việc tự động nhảy năm. Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h
với chỉ thị AM/PM. DS1307 có một mạch cảm biến điện áp dùng để dò các điện áp
lỗi và tự động đóng ngắt với nguồn pin cung cấp.
• DS 1307 hoạt động với vai trò slave trên đường bus nối tiếp. Việc truy cập
được thi hành với chỉ thị START và một mã thiết bị nhất định được cung cấp bởi
địa chỉ các thanh ghi. Tiếp theo đó các thanh ghi sẽ được truy cập liên tục đến khi
chỉ thị STOP được thực thi.
Sơ đồ khối của DS1307:
Hình 22: Sơ đồ khối của DS1307
Mô tả hoạt động của các chân:
• Vcc, GND: nguồn một chiều được cung cấp tới các chân này. Vcc là đầu vào
5V. Khi 5 V được cung cấp thì thiết bị có thể truy cập hoàn chỉnh và dữ liệu có thể
đọc và viết. Khi pin 3 V được nối tới thiết bị này và Vcc nhỏ hơn 1,25Vbat thì quá
trình đọc và viết không được thực thi, tuy nhiên chức năng timekeeping không bị
ảnh hưởng bởi điện áp vào thấp. Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ
được ngắt tới nguồn cung cấp trong (thường là nguồn 1 chiều 3V)
- 57 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
• Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V . Điện áp pin phải được giữ
trong khoảng từ 2, 5 đến 3V để đảm bảo cho sự hoạt động của thiết bị.
• SCL(serial clock input): SCL được sử dụng để đồng bộ sự chuyển dữ liệu
trên đường dây nối tiếp.
• SDA (serial data input/out): là chân vào ra cho 2 đường dây nối tiếp. Chân
SDA thiết kế theo kiểu cực máng hở, đòi hỏi phải có một điện trở kéo trong khi hoạt
động.
• SQW/OUT (square wave/output driver)- khi được kích hoạt thì bit SQWE
được thiết lập 1, chân SQW/OUT phát đi 1 trong 4 tần số (1Hz, 4kHz, 8kHz,
32kHz). Chân này cũng được thiết kế theo kiểu cực máng hở vì vậy nó cũng cần có
một điện trở kéo trong. Chân này sẽ hoạt động khi cả Vcc và Vbat được cấp.
• X1, X2: được nối với một thạch anh tần số 32, 768kHz.Là một mạch tạo dao
động ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF
• Cũng có DS1307 với bộ tạo dao động trong tần số 32, 768kHz, với cấu hình
này thì chân X1 sẽ được nối vào tín hiệu dao động trong còn chân X2 thì để hở.
3.1.2 Sơ đồ địa chỉ RAM và RTC
Hình 23: Sơ đồ địa chỉ RAM và RTC
• Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte
thanh ghi thích hợp. thời gian và ngày tháng được thiết lập cũng thông qua các byte
thanh ghi này bằng cách viết vào đó những giá trị thích hợp. nội dung của các thanh
ghi dưới dạng mã BCD (binary coded decreaseimal). Bit 7 của thanh ghi seconds là
- 58 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
bit clock halt (CH), khi bit này được thiết lập 1 thì dao động disable, khi nó được
xoá về 0 thì dao động được enable. Chú ý là phải enable dao động trong suốt quá
trình cấu hình thiết lập (CH=0). Thanh ghi thời gian thực được mô tả như sau:
Hình 24: Thanh ghi thời gian thực
• DS1307 có thể chạy ở chế độ 24h cũng như 12h. Bit thứ 6 của thanh ghi
hours là bit chọn chế độ 24h hoặc 12h. khi bit này ở mức cao thì chế độ 12h được
chọn. ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là là PM. ở chế độ 24h thì
bit 5 là bit chỉ 20h (từ 20h đến 23h).
• Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thì dòng
thời gian được truyền tới một thanh ghi thứ 2, thông tin thời gian sẽ được đọc từ
thanh ghi thứ cấp này, trong khi đó đồng hồ vẫn tiếp tục chạy.
Trong DS1307 có một thanh ghi điều khiển để điều khiển hoạt động của chân
SQW/OUT
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
OUT X X SQWE X X RS1 RS0
• OUT(output control):bit này điều khiển mức ra của chân SQW/OUT khi đầu
ra xung vuông là disable. Nếu SQWE=0 thì mức logic ở chân SQW/OUT sẽ là 1
nếu OUT=1, và=0 nếu OUT=0
- 59 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
• SQWE(square wave enable): bit này được thiết lập 1 sẽ enable đầu ra của bộ
tạo dao động. Tần số của đầu ra sóng vuông phụ thuộc vào giá trị của RS1 và RS0
RS1 RS0 Tần số đầu ra SQW
0 0 1HZ
0 1 4, 096kHZ
1 0 8, 192kHZ
1 1 32, 768kHZ
DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu. thiết bị gửi dữ
liệu lên bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu. thiết bị điều khiển quá
trình này gọi là master. thiết bị nhận sự điều khiển của master gọi là slave. Các bus
nhận sự điều khiển của master, là thiết bị phát ra chuỗi xung clock(SCL), master sẽ
điều khiển sự truy cập bus, tạo ra các chỉ thị START và STOP
Sự truyền nhận dữ liệu trên chuỗi bus 2 dây
Hình 25: Sự truyền nhận dữ liệu trên chuỗi bus 2 dây
Tuỳ thuộc vào bit R/ w mà 2 loại truyền dữ liệu sẽ được thực thi:
• Truyền dữ liệu từ master truyền và slave nhận: Master sẽ truyền byte đầu tiên
là địa chỉ của slave. Tiếp sau đó là các byte dữ liệu . slave sẽ gửi lại bit thông báo đã
- 60 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
nhận được (bit acknowledge) sau mỗi byte dữ liệu nhận được. dữ liệu sẽ truyền từ
bit có giá trị nhất (MSB).
• Truyền dữ liệu từ slave và master nhận: byte đầu tiên (địa chỉ của slave)
được truyền tới slave bởi master. Sau đó slave sẽ gửi lại master bit acknowledge.
tiếp theo đó slave sẽ gửi các byte dữ liệu tới master. Master sẽ gửi cho slave các bit
acknowledge sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận được byte
cuối cùng thì bit acknowledge sẽ không được gửi.
Master phát ra tất cả các chuỗi xung clock và các chỉ thị START và STOP. sự
truyền sẽ kết thúc với chỉ thị STOP hoặc chỉ thị quay vòng START. Khi chỉ thị
START quay vòng thì sự truyền chuỗi dữ liệu tiếp theo được thực thi và các bus
vẫn chưa được giải phóng. Dữ liệu truyền luôn bắt đầu bằng bit MSB.
3.1.3 DS1307 có thể hoạt động ở 2 chế độ sau:
• Chế độ slave nhận(chế độ DS1307 ghi):chuỗi dữ liệu và chuỗi xung clock sẽ
được nhận thông qua SDA và SCL. Sau mỗi byte được nhận thì 1 bit acknowledge
sẽ được truyền. các điều kiện START và STOP sẽ được nhận dạng khi bắt đầu và
kết thúc một truyền 1 chuỗi. nhận dạng địa chỉ được thực hiện bởi phần cứng sau
khi chấp nhận địa chỉ của slave và bit chiều. Byte địa chỉ là byte đầu tiên nhận được
sau khi điều kiện START được phát ra từ master. Byte địa chỉ có chứa 7 bit địa chỉ
của DS1307, là 1101000, tiếp theo đó là bit chiều (R/ w) cho phép ghi khi nó bằng
0. sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ phát đi 1 tín hiệu acknowledge
lên đường SDA. Sau khi DS1307 nhận dạng được địa chỉ và bit ghi thì master sẽ
gửi một địa chỉ thanh ghi tới DS1307, tạo ra một con trỏ thanh ghi trên DS1307 và
master sẽ truyền từng byte dữ liệu cho DS1307 sau mỗi bit acknowledge nhận được.
sau đó master sẽ truyền điều kiện STOP khi việc ghi hoàn thành.
Hình 26: Chế độ đọc ghi
- 61 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
• Chế độ slave phát (chế độ DS1307 đọc): byte đầu tiên slave nhận được tương
tự như chế độ slave ghi. Tuy nhiên trong chế độ này thì bit chiều lại chỉ chiều
truyền ngược lại. Chuỗi dữ liệu được phát đi trên SDA bởi DS 1307 trong khi chuỗi
xung clock vào chân SCL. Các điều kiện START và STOP được nhận dạng khi bắt
đầu hoặc kết thúc truyền một chuỗi. byte địa chỉ nhận được đầu tiên khi master phát
đi điều kiện START. Byte địa chỉ chứa 7 bit địa chỉ của slave và 1 bit chiều cho
phép đọc là 1. Sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1 bit
acknowledge trên đường SDA. Sau đó DS1307 bắt đầu gửi dữ liệu tới địa chỉ con
trỏ thanh ghi thông qua con trỏ thanh ghi. nếu con trỏ thanh ghi không được viết
vào trước khi chế độ đọc được thiết lập thì địa chỉ đầu tiên được đọc sẽ là địa chỉ
cuối cùng chứa trong con trỏ thanh ghi.DS1307 sẽ nhận được một tín hiệu Not
Acknowledge khi kết thúc quá trình đọc.
Đọc dữ liệu-chế độ slave phát
Hình 27: Chế độ đọc ghi
• Thời gian thực hiện việc đọc, ghi dữ liệu của DS1307:
Sơ đồ đồng bộ:
- 62 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Hình 28: Sơ đồ đồng bộ
Đặc tính và thời gian thực hiện:
4.1 Giới thiệu LCD
Hầu hết các LCD hiển thị ký tự hiện tại sử dụng bộ điều khiển HD44780 của
hãng Hitachi. Bộ điều khiển này có thể dùng để điều khiển hiển thị LCD 16x1,
- 63 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
16x2, 20x2, 20x4.… Phần tiếp sau sẽ giới thiệu tổng quan về LCD 16x2, cách ghép
nối với vi điều khiển PIC và điều khiển hiển thị.
Mô tả chân:
LCD sử dụng trong khóa luận là loại 2 dòng và 16 cột, cho phép hiển hiển thị
cùng lúc 32 ký tự. Với 14 chân điều khiển và 2 chân mở rộng, sơ đồ chân được chỉ
ra ở hinh.
Hình 29: LCD 16 kí tự, 2 dòng
Hình 30: Sơ đồ chân của LCD
Bảng mô tả các chân:
Số thứ tự Tên Ý nghĩa
1 Vss Đất2 Vcc Cung cấp nguồn +5V3 Vee Điều khiển độ tương phản
4 RS0 = đầu vào là lệnh1 = đầu vào là dữ liệu
5 R/W 0 = ghi tới LCD
- 64 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
1 = đọc từ LCD6 EN Chân cho phép7 D0 Đường dữ liệu 0 (LSB)8 D1 Đường dữ liệu 19 D2 Đường dữ liệu 210 D3 Đường dữ liệu 311 D4 Đường dữ liệu 412 D5 Đường dữ liệu 513 D6 Đường dữ liệu 614 D7 Đường dữ liệu 7 (MSB)
RAM chứa dữ liệu hiển thị:
Display data RAM : lưu trữ dữ liệu hiển thị với mã ký tự 8 bit. Có dung
lượng 80 x 8 bit, hoặc là 80 ký tự. Khi gửi dữ liệu đến Display data RAM
(DDRAM) giá trị đó sẽ được hiển thị ngay trên LCD. Với LCD 2 x 16, chỉ nhìn
thấy được 32 ký tự, vì thế sau ký tự thứ 32 cho dù có ghi tới DDRAM thì giá trị
cũng không được hiển thị lên LCD. Vùng DDRAM không dùng cho việc hiển thị có
thể sử dụng làm bộ nhớ dữ liệu thông thường.
ROM phát ký tự:
Một câu hỏi đặt ra, khi gửi một giá trị ASCII đến DDRAM làm thế nào ký tự
đó hiển thị được trên LCD? Câu trả lời đó là Character Generator ROM (CGROM).
CGROM tạo ra kiểu dáng ký tự có thể là 5x8 điểm hoặc 5x10 điểm từ 8 bit mã ký
tự. Người dùng có thể định nghĩa kiểu dáng của ký tự thông qua mặt nạ chương
trình ROM. Bảng dưới đây cho hình dáng hiển thì của ký tự trên màn hình LCD
theo kiều 5x8 điểm.
- 65 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Thanh ghi chỉ thị và thanh ghi dữ liệu:
Là hai thanh ghi 8 bit trong bộ điều khiển HD44780. Thanh ghi chỉ thị lệnh
(instruction register) chứa các lệnh được gửi từ vi điều khiển để điều khiển LCD
như lệnh dịch LCD, xóa LCD, địa chỉ LCD .v.v.. Thanh ghi dữ liệu (data register)
được sử dụng để lưu trữ dữ liệu để hiển thị trên LCD. Khi tín hiệu cho phép gửi của
LCD được xác nhận, dữ liệu trên các chân sẽ được chốt tới thanh ghi dữ liệu
và dữ liệu này sau đó sẽ được tự động chuyển tới DDRAM và sau đó sẽ hiển thị lên
LCD.
-------------------------------------
- 66 -
Khoa ĐTVT - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
TÀI LIỆU THAM KHẢO
[1] Ngô Diên Tập , Vi xử lý trong đo lừng và điều khiển. Nhà xuất bản khoa
học và kỹ thuật. Hà Nọi 1999, tái bản 2001
[2] ] Ngô Diên Tập , Lập trình ghép nối máy tính trong windows. Nhà xuất