bao cao mach dong ho so thoi gian thuc co hen gio bao thuc
DESCRIPTION
Báo cáo mạch Đồng hồ sốTRANSCRIPT
TRNG I HC IN LCKHOA IN T VIN THNG
BO COMN: N IN TGVHD: Nguyn L CngSinh vin thc hin: Nhm 12 5 TVT1
1. Nguyn B Qunh2. Trn Th T Oanh
3. Nguyn Th Hng4. Nguyn ng TngLI NI U
Ngy nay vi s pht trin nhanh chng ca cc ngnh khoa hc, khng ngoi l k thut in t cng ang pht trin mnh m vi cc sn phm in t ngy cng ph bin hn, gi thnh cng thp hn gp phn a nhng sn phm in t ngy cng ph bin hn trong i sng hng ngy. Nhm chng em xin gii thiu mt ng dng rt gn gi trong i sng hng ngy l sn phm ng h s thi gian thc, sn phm c chc nng hn gi bo thc s dng Vi iu Khin 8051 (vi iu khin AT89C52). (Sn phm c th ci tin thm c thm nhiu ng dng hn). Trong phm vi bi bo co chng em xin trnh by nhng phn sau:
I. Gii thiu linh kin
II. Tm hiu lin kin
III. Thit k v thi cng
Chng em xin chn thnh cm n thy gio Nguyn L Cng v mt s anh ch gip chng em. Cm n cc thnh vin ca nhm nhit tnh lm vic hon thnh sn phm ng thi hn. Trong qu trnh thc hin khng th trnh ni nhng sai st v thiu st. Chng em rt mong nhn c kin ng gp qu bu ca cc thy c cng cc bn ti ln sau c hon chnh hn na.
Chng em xin chn thnh cm n!
H Ni, ngy 14 thng 1 nm 2014Nhm 13, Lp 5 TVT1
Mc lc
4I. Gii thiu linh kin
6II. Tm hiu linh kin
61.IC AT98C52
15III. Thit k v thi cng
151.Cc khi chc nng:
182.S nguyn l v s mch in:
193.M phng mch v hnh nh sn phm:
204.Chng trnh:
34Tng Kt
34Ti liu tham kho
Nhn xt ca GVHD:I. Gii thiu linh kin
- Chip AT89C52
- IC DS1307
- 2 t ha 10uF
- 1 tu ha 470uF
- 4 t gm 33pF
- 1 thch anh 12MHz
- 1 thch anh 32MHz
- 1 Chip 40 chn
- 1 IC 8 chn
- 1 pin 3v
- 1 pin 3v
- 4 nt bm nh
- 10 in tr 1k
- 4 in tr 10k
- 5 tr 100R
- 5 tr 330R
- 4 led bo nt bm + Hz
- 1 LM7805
- 1 tr bng 103
- 6 tranzitor C1815
- 6 led 7 on Anode chung
II. Tm hiu linh kin
1. IC AT98C52a. Gii thiu:
c im v chc nng hot ng ca cc IC h MSC-51 hon ton tng t nhau, y ta gii thiu AT89C51.
AT89C51 l phin bn 8051 c ROM trn chip nh l b nh Flash. Phin bn ny rt thch hp cho cc ng dng nhanh v b nh c th xa c trong vi giy.
4KB EPROM bn trong
128Bytes RAM ni
4 Port xut nhp I/O 8bit
Giao tip ni tip
Cho php x l bit
210 v tr nh c th nh v bit
4 chu k my (4 s i vi thch anh 12MHz) cho hot ng nhn hoc chia C cc ch ngh (Low-power Idle) v ch ngun gim (Power-down). Ngoi ra, mt s IC khc ca h MCS-51 c them b nh thi th 3 v 256Byte RAM ni.AT89C51 c th giao tip vi b nh ngoi dung lng ln n 64KB, 89C51 c 2 ngt ngoi v 2 ngt timer mc u tin c quy nh c th. 89C51 c 2 b m 16bit, knh giao tip ni 2 chiu. Vi b x l i s ca Boole cho php x l tng bit ca Ram v thit b ngoi vi, mi lnh ch ko di 1 n 2 micro giy.
b. Cu trc bn trong:
Thnh phn chnh ca vi iu khin 89c51 l b x l trung tm hay cn gi l CPU. Bao gm:
Thanh ghi tch ly A
Thanh ghi tch ly B, dng cho php nhn v chia
n v logic hc ALU
T trng thi chng trnh PSW
4 bank thanh ghi
Con tr ngn xp STACK
Ngoi ra cn b nh chng trnh, b gii m lnh, b iu khin thi gian v logic n v x l trung tm nhn trc tip xung t b dao ng.
Chng trnh ang chy c th dng li nh mt khi iu khin bn trong. Cc ngun ngt c th l cc bin c bn ngoi, s trn b m nh thi hoc cng c th l giao din ni tip.
2 b nh thi 16bit hot ng nh mt b m.
Cc cng P0, P1, P2, P3 c s dng vo mc ch iu khin, P3 c them cc ng dn iu khin dng ttrao i vi mt b nh bn ngoi, hoc u ni giao din ni tip cng nh cc ng dn bn ngoi.
Giao din ni tip c cha mt b truyn v mt b phn khng ng b lm vic c lp vi nhau. Tc truyn qua cng ni tip c th t trong di rng v c n nh bng mt b nh thi.
Trong vi iu khin 8051 cn c hai thnh phn quan trng khc l b nh v cc thanh ghi
B nh cn c RAM v ROM dng lu d liu v m lnh
c. S chn:
Hnh v cho thy, IC AT89C51 c 40 chn. Cc chn chia ra lm 2 nhm:
Nhm chn c bngm c:
Chn 20 ni masse v chn 40 ni vo ng ngun 5V.
Chn 18, 19 gn thch anh nh tn cho mch dao ng, do mt lnh cn 12 phn on, nn tn s xung nhp s l 1MHz hay chu k lnh s 1us.
Chn s 9 dng lm chn reset, n to ra tc dng reset vi mc volt cao.
Chn 31 dng chn nh lm vic vi b nh trong hay c vi b nh ngoi.
Cc chn 29, 30 s dng khi chi IC AT89C51 lm vic vi cc b nh ngoi.
Nhm cc chn dng lm cng xut nhp d liu. IC AT89C51 c 4 cng, mi cng 8 bit, vy c 32 chn dng xut nhp bit. Ngi ta dng tp tin nh ngha t tn cho cng v t tn cho cc chn ny. l:
* Cc chn 39, 38, 37, 36, 35, 33, 32 c t tn l p0.0, p0.1, p0.2, p0.3, p0.4, p0.5, p0.6, p0.7 v c 8 chn gm li gi l p0 (hay gi l cng port 0).
* Cc chn 1, 2, 3, 4, 5, 6, 7, 8 c t tn l p1.0, p1.1, p1.2, p1.3, p1.4, p1.5, p1.6, p1.7 v c 8 chn gm li gi l p1 (hay gi l cng port 1).
* Cc chn 21, 22, 23, 24, 25, 26, 27, 28 c t tn l p2.0, p2.1, p2.2, p2.3, p2.4, p2.5, p2.6, p2.7 v c 8 chn gm li gi l p2 (hay gi l cng port 2).
* Cc chn 10, 11, 12, 13, 14, 15 , 16, 17, 18 c t tn l p3.0, p3.1, p3.2, p3.3, p3.4, p3.5, p3.6, p3.7 v c 8 chn gm li gi l p3 (hay gi l cng port 3).
d, Cc thanh ghi b nh thi(timer):
AT89C51 c hai thanh ghi b nh thi/m 16 bit c dng cho nh thi hoc m s kin.
Thanh ghi ch nh thi (TMOD):
Khng c nh a ch bit.
c dng nh ch hot ng cho cc timer.
Chc nng tng bit:
M1, M0: chn ch hot ng.
T/C: bit chn chc nng m hoc nh thi cho timer.
Gate: bit iu khin cng cho b nh thi.
Thanh ghi iu khin nh thi (TCON):
Cha cc bit iu khin v trng thi ca timer 0 v 1 4 bti cao, 4 bit thp c dng cho chc nng ngt (interrupt).
Chc nng tng bit:
TF x: c trn ca timer x (x l 0 hay 1)
+ TRx = 0: khng cho phepr timer chy.
+ TRx = 1: cho php timer chy
Cc thanh ghi Port ni tip ( Serial port):
Thanh ghi SBUF( Serial buffer):
a ch 99H l b m nhp xut ni tip. Khi xut d liu th ghi ln SBUF, khi nhp d liu th c t SBUF.
Cc ch hot ng khc nhau ca port ni tip c lp trnh thng qua thanh ghi iu khin port ni tip SCON (serial control) a ch 98H. y l thanh ghi c nh a ch tng bit.
Thanh ghi iu hin port ni tip SCON
a ch bit 99H
nh a ch bit
Chc nng cc bit:
SM0,SM1: chn ch hot ng ca port ni tip
SM2: chn ch hot ng ca port ni tip.
SM2=1: cho php truyn thng a x l cc ch 2 v 3; bit RI s khng tch cc nu bit th 9 nhn c l 0
REN: bit cho php thu.
REN=1: cho php thu.
REN=0: khng cho php thu.
TB8: bit pht th 9 ( ch 2 v 3), c th t v xa bng phn mm.
RB8: bit th 9 ( ch 2 v 3), c th t v xa bng phn mm.
Cc thanh ghi ngt:
8031/8051 c 5 ngun ngt:
2 ngt ngoi: ngt ngoi 0: qua chn 0 INT (P3.2)
Ngt ngoi 1: quan chn 1 INT (P3.3)
3 ngt trong: ngt timer 0, ngt timer 1, ngt port ni tip.
Cc thanh ghi lin quan n ngt:
a. Thanh ghi cho php ngt IE
b. Thanh ghi ngt u tin IP
c. Thanh ghi ICON
a, Led 7 thanh
LED 7 on hay LED 7 thanh (Seven Segment display) l 1 linh kin rt ph dng, c dng nh l 1 cng c hin th n gin nht.
Trong LED 7 thanh bao gm t nht l 7 con LED mc li vi nhau, v vy m c tn l LED 7 on l vy,7 LED n c mc sao cho n c th hin th c cc s t 0 - 9, v 1 vi ch ci thng dng, phn cch th ngi ta cn dng thm 1 led n hin th du chm (dot).
Cc led n ln lt c gi tn theo ch ci A- B -C-D-E-F-G, v du chm dot.
Nh vy nu nh mun hin th k t no th ta ch cn cp ngun vo chn l led s sng nh mong mun.
led 7 thanh.
b, Transistor
c, T
T in l mt linh kin in t th ng bao gm hai mt dn in gi l khung, c phn cch bi mt cht cch in, gi l in mi (khng kh, giy, mica, du nhn, nha, cao su, gm, thu tinh...). Trong sn phm c s dng 2 loi t l t gm v t ha vi cc thng s khc nhau.
d, in tr
in tr l s cn tr dng in ca mt vt dn in, trong mch in khng th thiu in tr Tr bng 103 (10K) in tr cc loi e, DS1307
DS1307 l chip ng h thi gian thc (RTC : Real-time clock), khi nim thi gian thc y c dng vi ngha thi gian tuyt i m con ngi ang s dng, tnh bng giy, pht, giDS1307 l mt sn phm ca Dallas Semiconductor (mt cng ty thuc Maxim Integrated Products). Chip ny c 7 thanh ghi 8-bit cha thi gian l: giy, pht, gi, th (trong tun), ngy, thng, nm. Ngoi ra DS1307 cn c 1 thanh ghi iu khin ng ra ph v 56 thanh ghi trng c th dng nh RAM. DS1307 c c v ghi thng qua giao din ni tip I2C (TWI ca AVR) nn cu to bn ngoi rt n gin. DS1307 xut hin 2 gi SOIC v DIP c 8 chn nh trong hnh 1.
Hnh 1. Hai gi cu to chip DS1307.
Cc chn ca DS1307 c m t nh sau: - X1 v X2: l 2 ng kt ni vi 1 thch anh 32.768KHz lm ngun to dao ng cho chip. - VBAT: cc dng ca mt ngun pin 3V nui chip. - GND: chn mass chung cho c pin 3V v Vcc. - Vcc: ngun cho giao din I2C, thng l 5V v dng chung vi vi iu khin. Ch l nu Vcc khng c cp ngun nhng VBAT c cp th DS1307 vn ang hot ng (nhng khng ghi v c c). - SQW/OUT: mt ng ph to xung vung (Square Wave / Output Driver), tn s ca xung c to c th c lp trnh. Nh vy chn ny hu nh khng lin quan n chc nng ca DS1307 l ng h thi gian thc, chng ta s b trng chn ny khi ni mch.
- SCL v SDA l 2 ng giao xung nhp v d liu ca giao din I2C. Thng tin truyn v ghi u c truyn trn hai ng ny.III. Thit k v thi cng
1. Cc khi chc nng:
1. Khi nt bm chc nng:
Bnh thng in p cc chn (Mode, Up, Down, Alarm,OK) ny lun trng thi mc cao khi nhn nt trng thi in p thay i thnh mc thp. ng thi vi x l s c kch thc hin cc chng trnh chnh gi, hn gi, chn led hay tng gi tr ty thuc vo ta kch cho chn no.
2. Khi giao ng thch anh:
B ny c tc dng to ra tn s dao ng chun cho chip. Thng thng tn s ca thch anh l 32MHz, thch anh c ni ti 2 chn XTAL- chn 18 v XTAL2- chn 19 v 2 t 33pF.
3. Khi x l v iu khin:
Khi ny l IC AT89C51. Mi qu trnh x l d liu u c thc hin y.
4. Khi hin th led 7 thanh
Khi ny c chc nng hin th gi pht giy. D liu s c ly t P0 ca AT89C51.
5. Khi ngun:
2. S nguyn l v s mch in:
S nguyn l
Mch in
3. M phng mch v hnh nh sn phm:
M phng
Sn phm
4. Chng trnh:
/************KHAI BAO THU VIEN******** ***********/
#include
#define Set_key P3_4
#define Up_keyP3_5
#define Dw_keyP3_6
#define Alarm P3_3
#define Loa P1_2
#define Ok P3_2
#define PM P3_7
#define SDA P1_1
#define SCL P1_0
#define DS1307_ID 0xD0
#define SEC 0x00
#define MIN 0x01
#define HOUR 0x02
//#define ON_OFF 0x0C
#define A_MIN 0x08
#define A_HOUR 0x09
//#define DATE 0x04
//#define MONTH 0x05
//#define YEAR 0x06
/*********KHAI BAO BIEN, MANG*********/
unsigned char led7_data[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };
unsigned char t_view,time,index,F_set,B_nhay,get_t ;
unsigned char hour,sec,min;
unsigned char alarm,Display,Data,a_hour,a_min,on_off;
/******KHAI BAO HAM, CHUONG TRINH CON*******/
void set_main(void); // Chuong trinh khoi tao mainvoid setup_timer(void); // Chuong trinh cai dat timer 1 va 0
void delay(unsigned int time); // Delayvoid Fix_time(void); // Kiem tra va hieu chinh gia tri cua gio,phut,giay
void Keypad(void); // Kiem tra xu ly phim nhan.
void T1_ISR(void); //ngat timer 1 phuc vu nhay led
void T0_ISR(void); // Dung ngat timer 0 de quet led
/************CAC CHUONG TRINH CON**************/
// LOA
void bip(void)
{
unsigned char n;
for(n=0;n