人人范文网 范文大全

单片机课程设计

发布时间:2020-03-03 02:15:07 来源:范文大全 收藏本文 下载本文 手机版

单片机课程设计报告

专业:电气工程及其自动化 班级:电0901-4班 姓名:代红新 学号:20092444 指导老师:石彦辉

电气与电子工程学院

2012/6/22

一、设计题目:电子时钟

二、设计要求:

1.通过键设置当前时间(时分秒) 2.可切换显示年月日

3.可设定闹钟,到时报警,一个发光管闪烁(1次/秒),有复位键停止报警 4.可切换显示闹钟时间和当前时间

5.本机地址为02H,当接到上位机发的02H时,则回发02H 当接到上位机发的AAH时,则将当前时间发给上位机 当收到上位机发的55H时,则修改当前时间(时分秒)

三、设计思路

经过思考,该电子时钟试验须有六个八段数码管,分别指示时分秒,切换指示年月日,由指示灯指示闹钟提醒,以及上位机对下位机的控制,更改时间。

硬件设计思路:下位机显示时间和日期,以及闹钟指示灯,时间日期的更改由两个中断实现,一个位选,一个加一。上位机显示发送的数据和接受显示,仅由一个外部中断来切换方式。

软件设计思路:通过之前的单片机实验的练习,加上对本实验的理解,知道该由数码管显示时间,日期,进位转换,定时器计数器的应用,将数字转换为24进制,60进制,30进制以及365进制,并通过位选和片选实现显示。

四、硬件设计

五、软件设计

(一) 上位机编程设计

SOK EQU 24H ;fasongdezhonglei HOUR EQU 25H ;xiangcongjifade hour MIN EQU 26H

;xiangcongjifade min SOK1 EQU 27H

;weixuanze HOUR1 EQU 28H

;zhujijieshoude hour MIN1 EQU 29H

;zhujijieshoude min ORG 0000H AJMP MAIN ORG 0003H AJMP X0IN ;zhongleigaibian ORG 000BH AJMP T0IN

; zhujixiugaicongji ORG 0013H AJMP X1IN

;weixuanze

ORG 0030H MAIN:MOV SOK,#01H

MOV HOUR,#00H

MOV MIN,#00H

MOV SOK1,#01H

MOV HOUR1,#00H

MOV MIN1,#00H

MOV 21H,#02H

MOV 22H,#0AAH

MOV 23H,#55H

MOV TMOD,#26H

MOV TH1,#0FAH

MOV TL1,#0FAH

MOV TH0,#0FFH

MOV TL0,#0FFH

MOV PCON,#00H

MOV SCON,#50H

SETB PX0

CLR PS

CLR PT1

CLR PT0

CLR PX1

CLR ET1

SETB TR1

CLR ES

CLR TI

SETB IT0

SETB IT1

SETB EX0

SETB EX1

SETB ET0

SETB TR0

SETB EA ccc:MOV A,SOK

CJNE A,#1,aaa

LCALL DISP1

SJMP ccc aaa:MOV A,SOK

CJNE A,#2,eee

LCALL DISP2

SJMP ccc

eee:MOV DPTR,#8004H

MOV A,#6DH

MOVX @DPTR,A

MOV A,#02H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#6DH

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

LJMP ccc

;XIANSHI ;WAIT3:JNB TI,WAIT3

; CLR TI

;cc:MOV A,SOK

; CJNE A,#03H ,aa

; MOV A,23H

; MOV SBUF,A

;WAIT13:JNB TI,WAIT13

; CLR TI

X0IN:INC SOK

MOV A,SOK

CJNE A,#04H,dd

MOV SOK,#01H

SJMP ddd

dd:MOV A,SOK

CJNE A,#02H,qqq

MOV A,#0AAH

MOV SBUF,A WAITa:JNB TI,WAITa

CLR TI

WAIT4:JNB RI,WAIT4

CLR RI

MOV A,SBUF

MOV MIN1,A WAIT5:JNB RI,WAIT5

CLR RI

MOV A,SBUF

MOV HOUR1,A ddd: RETI qqq:MOV A,#55H

MOV SBUF,A WAITB:JNB TI,WAITB

CLR TI

RETI X1IN:INC SOK1

MOV A,SOK1

CJNE A,#03H,ee

MOV SOK1,#01H

ee:RETI T0IN:MOV A,SOK1

CJNE A,#1,ff

MOV A,SOK1

MOV SBUF,A WAIT6:JNB TI,WAIT6

CLR TI

MOV A,HOUR

CJNE A,#23,hh

MOV HOUR,#00H

MOV A,HOUR

MOV SBUF,A WAIT7:JNB TI,WAIT7

CLR TI

RETI

hh:INC HOUR

MOV A,HOUR

MOV SBUF,A WAIT8:JNB TI,WAIT8

CLR TI

RETI

ff: MOV A,SOK1

MOV SBUF,A WAIT9:JNB TI,WAIT9

CLR TI

MOV A,MIN

CJNE A,#59,ii

MOV MIN,#00H

MOV A,MIN

MOV SBUF,A WAIT10:JNB TI,WAIT10

CLR TI

RETI

ii:INC MIN

MOV A,MIN

MOV SBUF,A WAIT11:JNB TI,WAIT11

CLR TI

RETI DISP1:MOV DPTR,#8004H

MOV A,#3FH

MOVX @DPTR,A

MOV A,#04H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#5BH

MOVX @DPTR,A

MOV A,#02H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#76H

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#3FH

MOVX @DPTR,A

MOV A,#20H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#5BH

MOVX @DPTR,A

MOV A,#10H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#76H

MOVX @DPTR,A

MOV A,#08H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

RET

DISP2:MOV DPTR,#8004H

MOV A,#77H

MOVX @DPTR,A

MOV A,#02H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,#77H

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#TAB

MOV A,HOUR1

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 40H,A

MOV A,B

MOVC A,@A+DPTR

MOV 41H,A

MOV A,MIN1

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 42H,A

MOV A,B

MOVC A,@A+DPTR

MOV 43H,A

MOV DPTR,#8004H

MOV A,40H

MOVX @DPTR,A

MOV A,#20H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,41H

MOVX @DPTR,A

MOV A,#10H

MOV DPTR,#8002H

MOVX @DPTR,A (二) 下位机编程设计

SOK2 BIT 20H.0 ;秒标志位 SOK5 BIT 20H ;秒标志位

SEC EQU 30H

;秒

MIN EQU 31H

;分

HOUR EQU 32H

;时

DAY EQU 33H

;天

MON EQU 34H

;月

YEAR EQU 35H

;年

SEC1 EQU 36H

;闹钟的秒

MIN1 EQU 37H

;闹钟的分

HOUR1 EQU 38H ;闹钟的时

SOK1 EQU 57H

;模式切换

SOK3 EQU 58H ; 位选择标志

SOK4 EQU 59H ;模式表示

ORG 0000H

SJMP MAIN

ORG 0003H

LJMP X0IN

ORG 000BH

LJMP T0IN

ORG 0013H

LCALL DEL

MOV DPTR,#8004H

MOV A,42H

MOVX @DPTR,A

MOV A,#08H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,43H

MOVX @DPTR,A

MOV A,#04H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

RET

;XIANSHI

DEL:MOV R1,#750

zzz:DJNZ R1,zzz

RET

TAB:DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH

END

LJMP X1IN

ORG 0023H

LJMP ESIN

ORG 0070H MAIN:MOV SOK1,#00H

MOV SOK3,#01H

MOV SEC,#00H

MOV MIN,#11

MOV HOUR,#11

MOV DAY,#21

MOV MON,#06

MOV YEAR,#12

MOV SEC1,#00H

MOV MIN1,#00H

MOV HOUR1,#00H

MOV R0,#10

MOV TMOD,#21H

MOV TL1,#0FAH

MOV TH1,#0FAH

MOV TH0,#3CH

MOV TL0,#0B0H

MOV PCON,#00H

MOV SCON,#50H

CLR TI

SETB ES

SETB PS

CLR PT1

CLR PX1

CLR PT0

CLR PT1

SETB P1.1

SETB EX0

SETB EX1

SETB IT0

SETB IT1

SETB ET0

CLR ET1

SETB TR0

SETB TR1

SETB EA

aa:JNB SOK2,ff

CLR SOK2

MOV A,SEC

CJNE A,#59,gg

MOV SEC,#00H

MOV A,MIN

CJNE A,#59,hh

MOV MIN,#00H

MOV A,HOUR

CJNE A,#23,ii

MOV HOUR,#00H

MOV A,DAY

CJNE A,#30,jj

MOV DAY,#01

MOV A,MON

CJNE A,#12,kk

MOV MON,#01

INC YEAR

gg:INC SEC

AJMP ff

hh:INC MIN

AJMP ff

ii:INC HOUR

AJMP ff

jj:INC DAY

AJMP ff

kk:INC MON

AJMP ff

ff:MOV A,HOUR

CJNE A,HOUR1,zz

MOV A,MIN

CJNE A,MIN1,zz

JNB SOK5,xx

CLR SOK5

SETB P1.0

LJMP zz

xx:CLR P1.0

zz:MOV A,SOK1

CJNE A,#00H,bb

AJMP DISP1

bb:CJNE A,#01,cc

AJMP DISP2

cc:AJMP DISP3

DISP1:MOV SOK4,#01H

MOV DPTR,#TAB

MOV A,DAY

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 45H,A

MOV A,B

MOVC A,@A+DPTR

MOV 46H,A

MOV A,MON

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 47H,A

MOV A,B

MOVC A,@A+DPTR

MOV 48H,A

MOV A,YEAR

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 49H,A

MOV A,B

MOVC A,@A+DPTR

MOV 50H,A

MOV DPTR,#8004H

MOV A,49H

MOVX @DPTR,A

MOV A,#20H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

LJMP aa

DISP2:MOV SOK4,#02

MOV DPTR,#TAB

MOV A,HOUR

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 43H,A

LCALL DEL

MOV DPTR,#8004H

MOV A,50H

MOVX @DPTR,A

MOV A,#10H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,47H

MOVX @DPTR,A

MOV A,#08H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,48H

MOVX @DPTR,A

MOV A,#04H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,45H

MOVX @DPTR,A

MOV A,#02H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,46H

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

MOV A,B

MOVC A,@A+DPTR MOV 44H,A MOV A,MIN MOV B,#10 DIV AB

MOVC A,@A+DPTR MOV 41H,A MOV A,B

MOVC A,@A+DPTR MOV 42H,A MOV A,SEC MOV B,#10 DIV AB

MOVC A,@A+DPTR MOV 39H,A MOV A,B

MOVC A,@A+DPTR MOV 40H,A MOV DPTR,#8004H MOV A,43H MOVX @DPTR,A MOV A,#20H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,44H MOVX @DPTR,A MOV A,#10H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,41H

MOVX @DPTR,A

MOV A,#08H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,42H

MOVX @DPTR,A

MOV A,#04H

MOV 54H,A

MOV A,SEC1

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 51H,A

MOV A,B

MOVC A,@A+DPTR

MOV 52H,A

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,39H

MOVX @DPTR,A

MOV A,#02H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

MOV DPTR,#8004H

MOV A,40H

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

LJMP aa

DISP3:MOV SOK4,#03

MOV DPTR,#TAB

MOV A,HOUR1

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 55H,A

MOV A,B

MOVC A,@A+DPTR

MOV 56H,A

MOV A,MIN1

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 53H,A

MOV A,B

MOVC A,@A+DPTR

MOV DPTR,#8004H MOV A,55H MOVX @DPTR,A MOV A,#20H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,56H MOVX @DPTR,A MOV A,#10H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,53H MOVX @DPTR,A MOV A,#08H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,54H MOVX @DPTR,A MOV A,#04H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL MOV DPTR,#8004H MOV A,51H MOVX @DPTR,A MOV A,#02H MOV DPTR,#8002H MOVX @DPTR,A LCALL DEL

MOV DPTR,#8004H

MOV A,52H

MOVX @DPTR,A

MOV A,#01H

MOV DPTR,#8002H

MOVX @DPTR,A

LCALL DEL

LJMP aa

X0IN:INC SOK1

CJNE A,#12,uu

MOV MON,#1

RETI

uu:INC MON

RETI

tt:INC YEAR

RETI

vv:MOV A,SOK4

CJNE A,#02H,ww

MOV A,SOK1

CJNE A,#3,dd

MOV SOK1,#00H

dd:RETI

T0IN:MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R0,ee

SETB SOK2

SETB SOK5

MOV R0,#10

ee:RETI

X1IN:JNB P1.1,kkk

MOV A,HOUR

CJNE A,HOUR1,aaa

MOV A,MIN

CJNE A,MIN1,aaa

INC MIN

aaa:INC SOK3

MOV A,SOK3

CJNE A,#4,ll

MOV SOK3,#01H

ll:RETI

kkk:MOV A,SOK4

CJNE A,#01H,vv

MOV A,SOK3

CJNE A,#01H,www

MOV A,DAY

CJNE A,#30,

MOV DAY,#1

RETI

:INC DAY

RETI

www:MOV A,SOK3

CJNE A,#2,tt

MOV A,MON

MOV A,SOK3

CJNE A,#1,nn

MOV A,SEC

CJNE A,#59,mm

MOV SEC,#00H

RETI mm:INC SEC

RETI nn:MOV A,SOK3

CJNE A,#2,pp

MOV A,MIN

CJNE A,#59,oo

MOV MIN,#00H

RETI oo:INC MIN

RETI pp:MOV A,HOUR

CJNE A,#23,qq

MOV HOUR,#00H

RETI qq:INC HOUR

RETI ww:MOV A,SOK4

CJNE A,#03H,bbb

MOV A,SOK3

CJNE A,#1,ccc

MOV A,SEC1

CJNE A,#59,ddd

MOV SEC1,#00H

RETI ddd:INC SEC1

RETI ccc:MOV A,SOK3

CJNE A,#2,eee

MOV A,MIN1

CJNE A,#59,ggg

MOV MIN1,#00H

RETI

ggg:INC MIN1

RETI

eee:MOV A,HOUR1

CJNE A,#23,fff

MOV HOUR1,#00H

RETI

fff:INC HOUR1

bbb:RETI

ESIN: CLR RI ;很容易被忽略

MOV A,SBUF

CJNE A,#02H,aaaa

MOV A,#02H

MOV SBUF,A WAIT1:JNB TI,WAIT1

CLR TI

RETI aaaa:

CJNE A,#0AAH,bbbb

MOV A,MIN

MOV SBUF,A

WAIT2:JNB TI,WAIT2

CLR TI

MOV A,HOUR

MOV SBUF,A

WAIT3:JNB TI,WAIT3

CLR TI

RETI

bbbb: CPL P1.7

;WAIT7:JNB RI,WAIT7

;

CLR RI

;

MOV A,SBUF

;

CJNE A,#01H,cccc

;WAIT4:JNB RI,WAIT4

;

CLR RI

;

MOV A,SBUF

;

MOV HOUR,A

;cccc: NOP

; WAIT5:JNB RI,WAIT5

;

CLR RI

;

MOV A,SBUF

; MOV MIN,A

RETI

DEL:MOV R1,#750

zzz:DJNZ R1,zzz

RET

TAB:DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH

END

六、设计总结。

单片机已渗透到我们生活的各个领域,几乎很难找到没有单片机足迹的领域。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说全自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。因此学习单片机是社会发展的必然需求。

为期十天的单片机课程设计结束了,回想起这十天的设计过程,有紧张激烈的构思讨论过程,有忙碌甚至绞尽脑汁的编程调试阶段。有久久实现不了的无奈,也有灵机一动的兴奋,更有老师的肯定和鼓励。

几天的单片机课程设计,较之前的实验上机实现了更多的功能,使得单片机实力有更充分的发挥,硬件设计还算简单,但是其编程技巧有了更深更高的要求,软件编程是本课程设计的难点和重点,通过对题目要求的仔细研究,外加之前实验的经验,加上老师的悉心指点,并提出了宝贵的意见,我们的“时钟“功能得以实现。在这里,我必须要感谢老师的悉心指导,同学们的互相帮助,谢谢你们!

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计

单片机课程设计
《单片机课程设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档