BÁO CÁO BÀI TẬP LỚN MÔN KIẾN TRÚC MÁY TÍNH ĐỀ TÀI: THIẾT KẾ MẠCH VÀ VIẾT CHƢƠNG TRÌNH ĐIỀU KHIỂN HIỂN
THỊ MỘT DÒNG CHỮ BẤT KÌ CHẠY TRÊN LCD
GV: TỐNG VĂN LUYÊN SVTH: NGUYỄN TRÍ TRƢỞNG
NGUYỄN VIẾT VỮNG I / TỔNG QUAN VỀ LCD VÀ CÁCH GIAO TIẾP CỦA LCD VỚI 89S52
1 . Tổng quan LCD
Ngày nay LCD với những tính năng nổi trội của nó đã được sử dụng rất nhiều trong vi
điều khiển. Khả năng hiện thị của LCD là rất đa dạng, trực quan (chữ, số và nhiều loại kí
tự đồ họa khác ), dễ dàng đưa vào mạch ứng dụng chẳng hạn như : điện thoại di động,
máy game và các lĩnh vực khác mà giá thành rẻ…
LCD sử dụng trong mạc là LCD : LM016L
LCD LM016L là loại màn hình hiển thị được 16 kí tự × 2 dòng, bao gồm tất cả các kí tự
chuẩn ngoài ra còn có một số kí tự đặc biệt nhưng không có kí tự dấu tiếng Việt.
Hình dáng và sơ đồ chân của LCD:
{
int ix,jx;
for(ix=0;ix<timer;ix++)
for(jx=0;jx<=150;jx++);
}
void receive_data() interrupt 4
{
if(RI==1)
{
RI=0;
if (SBUF=='@')
dem=0 ;
datax[dem]=SBUF ;
dem++;
}
}
void main(void)
{
uart_init() ;
setting();
home();
command(LCD_DISPLAY_ON );
get_x_y(1,16);
print_str("SINH VIEN THUC HIEN");
for(k=0;k<=17;k++)
{
move_display(1,1);
delay(150);
}
clear();
{
move_display(1,1);
delay(100);
}
for(k=0;k<=4;k++)
{
command(LCD_CURSOR_ON);
delay(100);
command(LCD_DISPLAY_ON);
delay(150);
}
clear();
command(LCD_DISPLAY_ON );
while(1)
{
home();
if (datax[6]=='^' )
print_str("HN ");
else
print_str("HCM");
get_x_y(1,6);
print_char(datax[1]/10+0x30);
print_char(datax[1]%10+0x30);
print_char('/');
print_char(datax[2]/10+0x30);
print_char(datax[2]%10+0x30);
print_str("/200");
print_char(datax[3]/10+0x30);
print_char(datax[3]%10+0x30);
get_x_y(2,1);
Long, ByVal bRedraw As Boolean) As Long
Dim Ret As Long
Dim sConnType As String * 255
Dim SearchString, SearchChar, MyPos
Dim ak As Long
Private Const pi As Double = 3.14159265358979
Private Sub MakeRoundObject(objObject As Object, Value As Long)
Static lngHeight, lngLong, lngReturn, lngWidth As Long
lngWidth = objObject.Width / Screen.TwipsPerPixelX
lngHeight = objObject.Height / Screen.TwipsPerPixelY
SetWindowRgn objObject.hWnd, CreateRoundRectRgn(0, 0, lngWidth, lngHeight, Value,
Value), True
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
App.TaskVisible = False
Unload Me
End
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage Me.hWnd, &HA1, 2, 0&
End Sub
Private Sub lblTime_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Call Form_MouseDown(Button, Shift, X, Y)
End Sub
Private Sub Timer1_Timer()
MSComm1.Output = "@"
MSComm1.Output = Chr(Day(Now))
MSComm1.Output = Chr(Month(Now))
MSComm1.Output = Chr(Year(Now) - 2000)
MSComm1.Output = Chr(Hour(Now))
MSComm1.Output = Chr(Minute(Now))
If Combo1 = "HO CHI MINH" Then
MSComm1.Output = "*"
Else
MSComm1.Output = "^"
End If
ak = lable4
MSComm1.Output = Chr(Abs(ak))
End Sub
' Set fso = CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\Date.sys", 1)
'S = fso.ReadAll: S = Right(S, Len(S) - InStrRev(S, " ") - 3)
' S = Left(S, 38): MsgBox Left(S, InStrRev(S, ":") - 1)
' Set fso = Nothing: Kill "D:\Date.sys"
Else
MsgBox "KHONG THE KET NOI VAO MANG"
End If End Sub
5 / Mạch mô phỏng