Professional Documents
Culture Documents
1 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
Trang ch
Th vin ring
Ti liu ng ln
Ti liu xem
Ti khon
Tr gip
Tt c
Biu mu - Vn bn
Cng Ngh Thng Tin
Gii Tr - Th Gin
Gio Dc - o To
K ton
Khoa Hc T Nhin
Khoa Hc X Hi
Kinh Doanh - Tip Th
Kinh T - Qun L
K Nng Mm
K Thut - Cng Ngh
Lun vn
Ngoi Ng
Nng - Lm - Ng
Ti Chnh - Ngn Hng
Th loi khc
Vn Bn Lut
Vn Ho - Ngh Thut
Vn hc
Y T - Sc Kho
kiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieukiem tai lieu
16/9/2014 07:17
2 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
3 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
Li ni u
Ngy nay cng vi s tin b ca khoa hc k thut, c bit l ngnh vi iu khin.
i sng x hi ngy cng pht trin cao da trn nhng ng dng ca khoa hc vo i
sng. V vy m nhng cng ngh in t mang tnh t ng ngy cng c ng dng
rng ri. Trong s c s ng gp khng nh ca k thut vi iu khin. Cc b vi
iu khin ang c ng dng rng ri v thm nhp ngy cng nhiu trong cc lnh
vc k thut v i sng x hi. Hu ht l cc thit b c iu khin t ng t cc
16/9/2014 07:17
4 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
MC LC
Trang
Trang ba .1
Li ni u ..2
Phn 1: GII THIU ..4
Phn 2 : C S L THUYT5
I Cc linh kin s dng trong mch ...5
16/9/2014 07:17
5 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
ang ti xung...
ang ti xung...
ang ti xung...
Phn I
GII THIU
I. Mc tiu ti
- Nng cao hiu qu tnh ton s liu
- Tng tc tnh ton v x l s liu
- Thy c tm quan trong ca vic ng dng vi iu khin vo cc lnh vc
khc nhau trong cuc sng
16/9/2014 07:17
6 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
7 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
8 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
P 3.4
P 3.5
P 3.6
P 3.7
INT1
TO
T1
16/9/2014 07:17
9 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
WR
RD
Ng vo ngt cng th 1
Ng vo ca TIMER/COUNTER th 0
Ng vo ca TIMER/COUNTER th 1
Tn hiu ghi d liu ln b nh ngoi
Tn hiu c b nh d liu ngoi
6. PSEN ( Program store enable ): PSEN l tn hiu ng ra chn 29 c tc dng cho
php c b nh chng trnh m rng thng c ni n chn 0E\ (output
enable) ca Eprom cho php c cc byte m lnh. PSEN mc thp trong thi
gian Microcontroller 8951 ly lnh. Cc m lnh ca chng trnh c c t
Eprom qua bus d liu v c cht vo thanh ghi lnh bn trong 8951 gii m
lnh. Khi 8951 thi hnh chng trnh trong ROM ni PSEN s mc logic 1.
7. ALE ( Address latch enable ) : Khi 8951 truy xut b nh bn ngoi, port 0 c
chc nng l bus a ch v bus d liu do phi tch cc ng d liu v a
ch. Tn hiu ra ALE chn th 30 dng lm tn hiu iu khin gii a hp cc
ng a chv d liu khi kt ni chng vi IC cht. Tn hiu ra chn ALE l
mt xung trong khong thi gian port 0 ng vai tr l a ch thp nn cht a
ch hon ton t ng. Cc xung tn hiu ALE c tc bng 1/6 ln tn s dao
ng trn chip v c th c dng lm tn hiu clock cho cc phn khc ca h
thng. Chn ALE c dng lm ng vo xung lp trnh cho Eprom trong 8951.
10
ang ti xung...
ang ti xung...
ang ti xung...
ang ti xung...
16/9/2014 07:17
10 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
11 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
LCD ( ch c - read)
+ Logic 1: Bus DB0-DB7 s ni vi thanh ghi d liu DR
bn trong LCD.
5 R/W
Chn chn ch c/ghi (Read/Write). Ni chn R/W vi
logic 0 LCD hot ng ch ghi, hoc ni vi logic
1 LCD ch c.
6E
Chn cho php (Enable). Sau khi cc tn hiu c t ln bus
DB0-DB7, cc lnh ch c chp nhn khi c 1 xung cho
php ca chn E.
+ ch ghi: D liu bus s c LCD chuyn vo(chp
nhn) thanh ghi bn trong n khi pht hin mt xung (highto-low transition) ca tn hiu chn E.
+ ch c: D liu s c LCD xut ra DB0-DB7 khi
pht hin cnh ln (low-to-high transition) chn E v c
LCD gi bus n khi no chn E xung mc thp.
7 - 14 DB0 DB7
Tm ng ca bus d liu dng trao i thng tin vi
MPU. C 2 ch s dng 8 ng bus ny :
16
16/9/2014 07:17
12 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
GND cho n nn
17
16/9/2014 07:17
13 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
14 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
- B m a ch AC : (Address Counter)
Sau khi ghi vo (c t) RAM, b m AC t ng tng ln (gim i) 1 n
v v ni dung ca AC c xut ra cho MPU thng qua DB0-DB6 khi c thit lp
RS=0 v R/W=1 (xem bng tm tt RS - R/W).
Lu : Thi gian cp nht AC khng c tnh vo thi gian thc thi lnh m c
cp nht sau khi c BF ln mc cao (not busy), cho nn khi lp trnh hin th, bn
phi delay mt khong tADD khong 4uS-5uS (ngay sau khi BF=1) trc khi np
19
d liu mi.
Hnh 4 : Gin xung cp nht AC
- CGROM (Character Genaration ROM):
Cha cc m hnh k t s hin th trn LCD, bao gm 192 k t 5x7 theo
bng m ASCII (ngha l khi DDRAM cha gi tr 41H tng ng vi m ASCII
ca k t 'A' th trn LCD s hin 'A'), trong d ch c cc m t 00H-0Fh s
khng ly theo m ASCII m ly theo cc k t nh ngha trong CGRAM.
16/9/2014 07:17
15 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
16 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
17 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
Cp ngun 5V cho vi iu khin (Vcc: 5V chn 40; GND: 0V chn 20). Trong
C1,C2= 30pF10pF (thng c s dng vi C1,C2 l t 33pF) dng n nh
dao ng cho thch anh.
Phn 3:
THIT K V M PHNG
I. S KHI
23
16/9/2014 07:17
18 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
19 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
20 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
21 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
22 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
sbit RW = P3^1 ;
sbit EN = P3^2 ;
//=================== DELAY ==================
void delay_LCD(unsigned int time)
{
while(time--);
}
16/9/2014 07:17
23 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
24 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
EN = 1 ;
EN = 0 ;
delay_LCD(5000); //wait busy LCD
}
//================= Khoi tao LCD ==================================
void LCD_khoitao(void)
{
write_command(0x38); //2 dong va font 5x7
write_command(0x0e); // bat man hinh va con tro
write_command(0x01); // xoa man hinh
}
29
Thit k my tnh b ti dng vi iu khin AT89C51 - Trang 30
16/9/2014 07:17
25 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
#endif
b. Qut bn phm
/*==============================================================
GIAO TIEP PHIM BAM CACULATOR(4x4)
-Phuong phap : Quet phim
-Nam : Scan_keypad.h
==============================================================*/
#ifndef __SCAN_KEYPAD_SMALL_H__
#define __SCAN_KEYPAD_SMALL_H__
//============ Bien toan cuc ======================================
sfr keypad = 0x90 ; //Port 1
sbit H1 = 0x90 ; //Hang1
sbit H2 = 0x91 ; //Hang2
sbit H3 = 0x92 ; //Hang3
sbit H4 = 0x93 ; //Hang4
sbit C1 = 0x94 ; //Cot 1
sbit C2 = 0x95 ; //Cot 2
sbit C3 = 0x96 ; //Cot 3
sbit C4 = 0x97 ; //Cot 4
30
16/9/2014 07:17
26 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
{
phim_bam = 0 ;
keypad = 0xf0 ; //Quet cot
while(keypad == 0xf0) ; //wait phim bam
delay_keypad ( 1000 ); //Chong nay phim
if( C1 == 0 ) phim_bam = 0 ;
if( C2 == 0 ) phim_bam = 1 ;
if( C3 == 0 ) phim_bam = 2 ;
if( C4 == 0 ) phim_bam = 3 ;
keypad = 0xff; //Xoa port trc khi quet
keypad = 0x0f; //Quet hang
31
if( H1 == 0 ) phim_bam += 0 ;
if( H2 == 0 ) phim_bam += 4 ;
if( H3 == 0 ) phim_bam += 8 ;
if( H4 == 0 ) phim_bam += 12 ;
while ( keypad != 0x0f ) ; //wait nha phim bam
switch ( phim_bam )
{
16/9/2014 07:17
27 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
28 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
/*=============================================================
PROGRAM CACULATOR SMALL
- Muc dich : Thiet ke may tinh cam tay thuc hien duoc cac phep tinh co ban
+ Cong
+ Tru
+ Nhan
+ Chia
- Su dung ban phim voi 16 phim(4x4)
- Hien thi tren man hinh LCD 16x2
==============================================================*/
//Khai bao tien xu ly
#include <REGX51.H>
33
#include <string.h>
#include "LCD16x2_8bit.h"
#include "Scan_keypad_small.h"
//============ CHUONG TRINH CON ===============
//=======Chuyen 1 xau so o dang asscii sang hex ========
long ASSCII_DEC(unsigned char *str, unsigned char do_dai)
{
16/9/2014 07:17
29 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
unsigned char i = 0 ,j = 0 ;
long temp = 0 , kq = 0; //ket qua
for( i = 0 ; i < ( do_dai ) ; i ++ )
{
temp = (str [ i ] - 0x30) ; //Chuyen asscii ->hex
for ( j = 0 ; j < ( do_dai - i -1 ) ; j ++ )
{
temp *= 10 ;
}
kq += temp ;
}
return kq;
34
}
//======== Chuyen so hex -> asscii ====================================
char* DEC_ASSCII ( long number , unsigned char do_dai ) //so can chuyen va so chu so
{
unsigned char str[10] = "" ; //ket qua
unsigned int i = 0 , temp = 0, kiem_tra=0;
for ( i = 0 ; i < do_dai ; i ++ )
16/9/2014 07:17
30 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
{
temp = number % 10 ; //Lay phan du
number /= 10 ;
str [ do_dai - i - 1 ] = temp + 0x30 ;
}
return &str [ 0 ] ;
}
//============== Thuc hien cac phep toan ==================
long result_math ( long number_1 , long number_2 , unsigned char phep_toan )
//phep toan : +,-,*,/
{
35
long kq = 0 ;
if ( phep_toan == '+' ) return number_1 + number_2 ; //Phep cong
if ( phep_toan == '-' )
if( number_1 > number_2 ) return number_1 - number_2 ; // Phep tru
else return number_2 - number_1 ;
if ( phep_toan == 'x' ) return number_1 * number_2 ; // Phep nhan
if ( phep_toan == ':' ) return (number_1 *1000)/number_2 ; //Phep chia
16/9/2014 07:17
31 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
}
//================== MAIN PROGRAM =================
void main()
{
//Khai bao bien
unsigned char str [] = "Nhom_2" ;
unsigned char str_loi[] = "Loi Nhap" ;
unsigned char i = 0 , temp = 0 ;
unsigned char str_1 [ 10 ] = "" ; //Number 1 dang asscii
unsigned char str_2 [ 10 ] = "" ; // Number 2 dang asscii
unsigned char *kq_c; //Ket qua kieu char
unsigned char phep_toan; //Phep toan +,-,x,/
unsigned char xoa_man_hinh = 1 ;
36
16/9/2014 07:17
32 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
LCD_khoitao () ;
for ( i = 0 ; i < strlen ( str ) ; i ++ )
{
write_data ( str [ i ] ) ;
}
START :
while ( ( temp = scan_keypad ( ) ) != '=')
{
if ( xoa_man_hinh == 1 ) write_command ( 0x01 ) ; //Xoa man hinh khi bat dau nhap
xoa_man_hinh = 0 ;
//Neu bam phim ON/C-> xoa man hinh ,khoi tao lai cac bien va continue
37
16/9/2014 07:17
33 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
dem_1 = 0 ;
dem_2 = 0 ;
dem_dau = 0 ;
number_1 = 0 ;
number_2 = 0 ;
accept = 1 ;
continue ;
}
//Luu so lieu nhap tu ban phim
if ( temp == '-' || temp == '+' || temp == 'x' || temp == ':' )
{
phep_toan = temp ;
38
accept = 0 //Neu co phep tinh thi luu vao so thu 2 neu ko thi so thu
nhatwrite_data ( temp ) ; //in phep tinh ra man hinh
write_command ( 0xc0 ) ; //Dua con tro xuong dau dong 2
dem_dau = dem_dau + 1;
continue ;
}
if ( accept == 0)
16/9/2014 07:17
34 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
{ if ( dem_2 <9 )
{ str_2 [ dem_2 ++ ] = temp ; //Luu so thu hai
}else goto START;
}else
if ( dem_1 < 9)
{
str_1 [ dem_1 ++ ] = temp ; //Luu so thu nhat
}else goto START;
write_data ( temp ) ; //in so lieu ra man hinh
}
number_2 = ASSCII_DEC ( str_2 , dem_2 ) ;
kq_n = result_math ( number_1 , number_2 , phep_toan ) ; //Ket qua dang number
39
16/9/2014 07:17
35 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
36 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
xoa_man_hinh = 1 ;
dem_1 = 0 ;
dem_2 = 0 ;
dem_dau = 0;
str_1[10]= 0;
str_2[10]= 0;
temp = 0;
phep_toan = 0;
number_1 = 0 ;
number_2 = 0 ;
accept = 1 ;
goto START ;
while(1);
41
}
//=========================== The end ============================
Phn 4 :
42
16/9/2014 07:17
37 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
38 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
39 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
Add a comment...
45
Phn mm tnh ct thp thi cng
by namwru
0 ln xem
16/9/2014 07:17
40 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
16/9/2014 07:17
41 of 41
http://kiemtailieu.com/ky-thuat-cong-nghe/tai-lieu/thiet-ke-may-tinh-bo-t...
Trang ch
.
Tr gip
.
Gp
.
Tha thun s dng
.
Lin kt
.
Lin h
2012 kiemtailieu.com - Ton b ti liu c ng gp trn tinh thn chia s ca cc thnh vin.
Website ang hot ng th nghim, ch giy php hot ng ca B Thng tin v Truyn thng.
Like
3.2k
16/9/2014 07:17