•• ChuyểnChuyển ñổiñổi dữdữ liệuliệu dạngdạng songsong songsong sangsang dạngdạng nốinối tiếptiếp khikhi phátphát dữdữ liệuliệu... Giao Giao tiếp tiếp phần phần cứng cứng:: •• ChânChân T
Trang 1BÀI GIẢNG LÝ THUYẾT
VI XỬ LÝ
TP HỒ CHÍ MINH THÁNG 09
THÁNG 09 2009 2009
VI XỬ LÝ
Giáo Giáo viên: PHẠM QUANG TRÍ viên: PHẠM QUANG TRÍ
Trang 2CHƯƠNG 5
HOẠT ðỘNG CỦA
PORT NỐI TIẾP
Trang 3•• ChuyểnChuyển ñổiñổi dữdữ liệuliệu dạngdạng songsong songsong sangsang dạngdạng nốinối tiếptiếp (khi(khi phátphát dữdữ liệu)liệu)
•• ChuyểnChuyển ñổiñổi dữdữ liệuliệu dạngdạng nốinối tiếptiếp thànhthành dạngdạng songsong songsong (khi(khi thuthu dữdữ liệu)liệu)
Giao Giao tiếp tiếp phần phần cứng cứng::
•• ChânChân TxDTxD ((TransmitTransmit DataData)):: PhátPhát dữdữ liệuliệu dạngdạng nốinối tiếptiếp
•• ChânChân RxDRxD ((ReceiveReceive DataData)):: ThuThu dữdữ liệuliệu dạngdạng nốinối tiếptiếp
ðặc ðặc trưng trưng::
•• HoạtHoạt ñộngñộng songsong côngcông (full(full duplex)duplex)
•• ðệmðệm dữdữ liệuliệu khikhi thuthu
Trang 4•• SBUFSBUF:: ChứaChứa dữdữ liệuliệu thuthu vàvà phátphát củacủa portport nốinối tiếptiếp (Serial(Serial portport Buffer)Buffer)
•• SCONSCON:: ðiềuðiều khiểnkhiển hoạthoạt ñộngñộng chocho portport nốinối tiếptiếp (Serial(Serial portport Control)Control)
Trang 5Trang 6Trang 7Hình minh họa port nối tiếp ở chế ñộ thanh ghi dịch 8 bit.
Trang 8•• ChânChân RxDRxD:: dùngdùng ñểñể thuthu ((nhậnnhận)) vàvà phátphát ((truyềntruyền)) dữdữ liệuliệu nốinối tiếptiếp
•• ChânChân TxDTxD:: dùngdùng ñểñể tạotạo rara xungxung clockclock
•• TốcTốc ñộñộ truyềntruyền ((BaudrateBaudrate))::
•• ðịnhðịnh dạngdạng dữdữ liệuliệu:: DATADATA bitbit [[DD00 –– DD77]]
Trang 9•• QuáQuá trìnhtrình phátphát dữdữ liệuliệu ((TransmitTransmit))
•• QuáQuá trìnhtrình thuthu dữdữ liệuliệu ((ReceiveReceive)) ðiềuðiều kiệnkiện banban ñầuñầu:: RIRI == 00,, RENREN == 11
Trang 10Hình minh họa port nối tiếp ở chế ñộ UART 8 bit.
Trang 11•• ChânChân RxDRxD:: dùngdùng ñểñể thuthu ((nhậnnhận)) dữdữ liệuliệu nốinối tiếptiếp
•• ChânChân TxDTxD:: dùngdùng ñểñể phátphát ((truyềntruyền)) dữdữ liệuliệu nốinối tiếptiếp
•• TốcTốc ñộñộ truyềntruyền ((BaudBaud raterate))::
•• ðịnhðịnh dạngdạng dữdữ liệuliệu:: STARTSTART bitbit [[00]] –– DATADATA bitbit [[DD00 –– DD77]] –– STOPSTOP bitbit [[11]]
Trang 12•• QuáQuá trìnhtrình phátphát dữdữ liệuliệu ((TransmitTransmit))
•• QuáQuá trìnhtrình thuthu dữdữ liệuliệu ((ReceiveReceive)) ðiềuðiều kiệnkiện banban ñầuñầu:: RIRI == 00,, RENREN == 11
Trang 13Hình minh họa port nối tiếp ở chế ñộ UART 9 bit.
Trang 14•• ChânChân RxDRxD:: dùngdùng ñểñể thuthu ((nhậnnhận)) dữdữ liệuliệu nốinối tiếptiếp
•• ChânChân TxDTxD:: dùngdùng ñểñể phátphát ((truyềntruyền)) dữdữ liệuliệu nốinối tiếptiếp
•• TốcTốc ñộñộ truyềntruyền ((BaudBaud raterate))::
•• ðịnhðịnh dạngdạng dữdữ liệuliệu:: STARTSTART bitbit [[00]] –– DATADATA bitbit [[DD00 –– DD77]] –– 99thth bitbit ––STOP
STOP bitbit [[11]]
Trang 15•• QuáQuá trìnhtrình phátphát dữdữ liệuliệu ((TransmitTransmit))
•• QuáQuá trìnhtrình thuthu dữdữ liệuliệu ((ReceiveReceive)) ðiềuðiều kiệnkiện banban ñầuñầu:: RIRI == 00,, RENREN == 11
Trang 16Hình minh họa port nối tiếp ở chế ñộ UART 9 bit.
Trang 17•• ChânChân RxDRxD:: dùngdùng ñểñể thuthu ((nhậnnhận)) dữdữ liệuliệu nốinối tiếptiếp
•• ChânChân TxDTxD:: dùngdùng ñểñể phátphát ((truyềntruyền)) dữdữ liệuliệu nốinối tiếptiếp
•• TốcTốc ñộñộ truyềntruyền ((BaudBaud raterate))::
•• ðịnhðịnh dạngdạng dữdữ liệuliệu:: STARTSTART bitbit [[00]] –– DATADATA bitbit [[DD00 –– DD77]] –– 99thth bitbit ––STOP
STOP bitbit [[11]]
Trang 18•• QuáQuá trìnhtrình phátphát dữdữ liệuliệu ((TransmitTransmit))
•• QuáQuá trìnhtrình thuthu dữdữ liệuliệu ((ReceiveReceive)) ðiềuðiều kiệnkiện banban ñầuñầu:: RIRI == 00,, RENREN == 11
Trang 19giây
giây ((bps bps:: bit bit per per second second))
Tốc Tốc ñộ ñộ baud baud cho cho Mode Mode 0 0::
Tốc Tốc ñộ ñộ baud baud cho cho Mode Mode 2 2::
Tốc Tốc ñộ ñộ baud baud cho cho Mode Mode 1 1 và và Mode Mode 3 3::
Trang 20•• BướcBước 11:: CấmCấm hoạthoạt ñộngñộng tínhtính năngnăng ngắtngắt chocho TimerTimer 11
•• BướcBước 22:: ðặtðặt TimerTimer 11 ởở chếchế ñộñộ 88 bitbit tựtự ñộngñộng nạpnạp lạilại (Mode(Mode 22))
MM:: GiáGiá trịtrị cầncần ghighi vàovào thanhthanh ghighi THTH11
Trang 21•• ðoạnðoạn lệnhlệnh nhưnhư sausau::
MOV TMOD,TMOD, ##2020HHMOV THTH11,, #(#( 2626))
Trang 23Master
Master – – Slave Slave))
Hệ Hệ thống thống ña ña xử xử lý lý sử sử dụng dụng 1 1 Master Master và và nhiều nhiều Slave Slave
ðược ðược cho cho phép phép bằng bằng cách cách thiết thiết lập lập bit bit SM SM2 2 trong trong SCON SCON
Hoạt Hoạt ñộng ñộng ở ở Mode Mode 2 2 và và 3 3 ((UART UART 9 9 bit bit)) của của port port nối nối tiếp tiếp
Khi Khi truyền truyền dữ dữ liệu, liệu, nếu nếu::
BitBit thứthứ 99 == 11:: thôngthông tintin ñóngñóng vaivai tròtrò làlà ñịañịa chỉchỉ (Address)(Address)
BitBit thứthứ 99 == 00:: thôngthông tintin ñóngñóng vaivai tròtrò làlà dữdữ liệuliệu (Data)(Data)
Ngắt Ngắt port port nối nối tiếp tiếp sẽ sẽ ñược ñược yêu yêu cầu cầu chỉ chỉ trong trong trường trường hợp hợp bit
bit RB RB8 8 = = 1 1 ((bit bit th th 9 9))
Trang 24Giai Giai ñoạn ñoạn truyền truyền dữ dữ liệu liệu::
Trang 25•• XoáXoá cờcờ ngắtngắt phátphát TITI::
CLR CLR TITI
•• GhiGhi dữdữ liệuliệu cầncần phátphát vàovào portport nốinối tiếptiếp ñểñể phátphát ñiñi::
MOV SBUF, (
MOV SBUF, (4)…4)…
•• QuayQuay trởtrở lạilại bướcbước 55 ñểñể phátphát mộtmột dữdữ liệuliệu tiếptiếp theotheo
Trang 26•• QuayQuay trởtrở lạilại bướcbước 55 ñểñể thuthu mộtmột dữdữ liệuliệu tiếptiếp theotheo
Trang 27•• VịVị trítrí ((11)):: QuiQui ñịnhñịnh chếchế ñộñộ hoạthoạt ñộngñộng chocho portport nốinối tiếptiếp ðơnðơn giảngiản hóahóa::
Trang 28•• VịVị trítrí ((22)):: QuiQui ñịnhñịnh chếchế ñộñộ hoạthoạt ñộngñộng củacủa TimerTimer 11 ðơnðơn giảngiản hóahóa::
•• VịVị trítrí ((33)):: QuiQui ñịnhñịnh tốctốc ñộñộ baudbaud chocho portport nốinối tiếptiếp DựaDựa vàovào côngcông thứcthức::
•• VịVị trítrí ((44)):: DữDữ liệuliệu thuthu // phátphát thôngthông quaqua portport nốinối tiếptiếp
Trang 29CÁM ƠN SỰ CHÚ Ý LẮNG NGHE
VÀ TRÂN TRỌNG GIẢI ðÁP CÁC
CÂU HỎI