Зарим оюутнууд LCD дэлгэц бүхий микроконтроллерийн систем угсрахдаа порт хүрэлцэхгүй нь хэмээн шууд 89С51 мэтийн 40 хөлтэй микроконтроллер сонгодог. Микроконтроллерийн бүрэн хүчин чадлыг ашиглаж чадахгүй, аль болох хялбар шийдэл рүү тэмүүлэх нь тухайн системийг зохион бүтээж буй хүний ур чадварыг муугаар харуулна. "Бөөсөнд хутга гаргав" гэгчээр нүсэр том контроллер сонгосон хэрнээ хийсэн зүйл нь өчүүхэн бага үүрэг гүйцэтгэдэг систем байх нь элбэг тохиолддог. Иймд АТ89С2051 микроконтроллерт LCD дэлгэцийг холбох 2 хувилбарыг хэлхээний зураг (png зураг, proteus дизайний хамт) болон ассемблер программийг энд татаж авахаар орууллаа.
Энэхүү 4 битийн холболтын хувилбар нь дэлгэцэнд гаргах мэдээллийг 4, 4 битээр нь 2 удаа LCD дэлгэц рүү шиддэг. 4 битийн мэдээллээс гадна RS, EN гэсэн удирдлагын 2 дохиог холбодог бөгөөд нийт 6 шугамаар дэлгэцийг бүрэн удирдана. Ингэхээр Р1.0, Р1.1 болон Р3 бусад зүйлд ашиглагдаж болно.
Хэрвээ өмнөх хувилбар хангалтгүй бол 74НС595 шифт регистрийг ашиглан портийг өргөтгөж болох юм. Ингэвэл Р1.3-Р1.7 хүртэл 5 порт, шифт регистрийн Q5-Q7 хүртэл 3 порт нийт 8 порт ашиглагдах боломжтой болно. Ерөнхийдөө НС595 шифт регистрийг ар араас нь хэдийг ч холбож портийг өгөтгөж болно. Ингэхэд 2051 контроллероос дахин порт нэмж ашиглахгүй.
Дээрх зурагны эхний хувилбарт LCD дэлгэцийг 2хон портоор удирдахыг харуулжээ. Гэвч энэ хувилбарын хувьд RC хэлхээний хугацааны тогтмолоос хамаарах учир хугацааны саатал ихээр үүсгэж удааширдаг сөрөг талтай. Түүнчлэн программ нь сунжруу, төвөгтэй болох учир 3 утастай хувилбарыг илүүд үзсэн болно. 3 утастай хувилбарын хувьд SDA (Serial data) болон STB (Strobe) дохионуудыг эсэргүүцэгч, диод бүхий AND үйлдлээр холбон EN дохиог гаргаж порт хэмнэсэн байна.
Ингээд ихийг нуршилгүй protes файл болон прогаммыг эндээс татаж аваад өөрсдөө туршаарай.
hi
ReplyDeletenadad c xeler deerx coduudiig ogch bolxuu asm xel medexgvi bolxoor oilgoxgvi bna pls pls
ReplyDeletesain bn uu. tanitai bolbogdoj asuuh zuil bn. bolomjtoi bol dugaarai ogooroi eswel 91144047 msj bicheerei. bayarllaa tanid
ReplyDelete