总结对于个人的成长而言,是我们反思自身、了解自身、明确目标的重要方式,通过编写的总结报告,我们可以在工作回顾中,寻找出自身的工作难点,掌握自身的工作优势,更加明确自身的发展方向。今天小编给大家找来了《单片机课程总结报告》,供大家参考,更多范文可通过本站顶部搜索您需要的内容。
第一篇:单片机课程总结报告
单片机课程设计报告
《单片机原理与接口技术》
课程设计报告
设计题目: 基于80C51单片机系统实验板的制作
与程序设计
专
业:应用电子专业
班
级: 11应电班
姓
名: 丁文俊
指导教师: 余静老师
2013 年 5 月20 日
目
录
1 前 言………………………………………………………………… 2 课程设计的目的及要求…………………………………………… 3 硬件电路设计……………………………………………………… 4 软件程序设计…………………………………………………… 5 小结………………………………………………………………
参考文献 附录A 电路总图 附录B 程序清单
基于80C51单片机系统实验板的制作与程序设计
1. 前言
2、课程设计的目的及要求 2.1课程设计目的
2.2课程设计要求
3、系统主要硬件电路设计
3.1 STC89C51单片机简介
MCS-51是美国Intel公司生产的一系列单片机的总称,包括多个品种,如80
31、80
51、87
51、80
32、80C
52、8752等。其中8051是最典型的产品,其他单片机都是在其基础上进行功能增减而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。Intel公司将MCS-51的核心技术授权给了多家公司,这些厂家生产的单片机在功能上或多或少有些改变,以满足不同的需求,其中美国的ATMEL公司生产的AT89C51是曾经在我国非常流行的51单片机。当前AT89C51/52已经停产,其替代产品为AT89S51/52。深圳宏晶公司出品的STC89C51可以直接代替传统的AT89S51和AT89C51芯片,也可以代替菲利普、华帮等其他公司的89C51,由于时代的发展,工艺的进步,STC89C51功能更强,寿命更长(4K字节Flash存储器、128字节片内RAM、支持ISP下载编程)
图2.1 STC89c51单片机
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图2-2中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选11.0592MHz。
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2-2中R9和Cl组成上电复位电路,其值R取为10K, C取为10μF. 4
图2.2 最小系统结构图
3.2 电平转换电路 3.3
4、软件程序设计
5、小结
参考文献
[1] 张伟,《单片机原理及应用》,机械工业出版社,2005(这是格式)
附录
江西工业职业技术学院电子与信息工程系
课程设计指导教师评语
班级:
学生姓名:
学号:
指导教师评语(包括工作态度,遵守纪律;基本理论、知识、技能;独立工作能力和分析解决问题的能力;完成任务情况及水平):
学生成绩(五级分制):
指导教师签名:
年
月
日
第二篇:单片机课程设计报告
课程名称:单片机原理及接口课程设计
题目:基于
学院:电气信息学院
专业班级:测控技术与仪器
姓名:江让
学号:
指导老师:刘升老师
时间:
C51单片机的ADC0809数模转换103班1090640772013/1/16
第三篇:单片机课程设计报告
专业:电气工程及其自动化 班级:电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,ss
MOV DAY,#1
RETI
ss: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卡,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说全自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。因此学习单片机是社会发展的必然需求。
为期十天的单片机课程设计结束了,回想起这十天的设计过程,有紧张激烈的构思讨论过程,有忙碌甚至绞尽脑汁的编程调试阶段。有久久实现不了的无奈,也有灵机一动的兴奋,更有老师的肯定和鼓励。
几天的单片机课程设计,较之前的实验上机实现了更多的功能,使得单片机实力有更充分的发挥,硬件设计还算简单,但是其编程技巧有了更深更高的要求,软件编程是本课程设计的难点和重点,通过对题目要求的仔细研究,外加之前实验的经验,加上老师的悉心指点,并提出了宝贵的意见,我们的“时钟“功能得以实现。在这里,我必须要感谢老师的悉心指导,同学们的互相帮助,谢谢你们!
第四篇:51单片机课程设计报告
学院:
专业班级:姓名:
指导教师:
设计时间:
51单片机课程设计
一、设计任务与要求
1. 任务:制作并调试51单片机学习板 2. 要求:
(1) 了解并能识别学习板上的各种元器件,会读元器件标示; (2) 会看电路原理图;
(3) 制作51单片机学习板;
(4) 学会使用Keil C软件下载调试程序;
用调试程序将51单片机学习板调试成功。
二、总原理图及元器件清单
1.总原理图
要求:用铅笔在A4纸整页绘制
2.元件清单
三、模块电路分析
1. 最小系统:
单片机最小系统电路分为振荡电路和复位电路,
振荡电路选用 12MHz 高精度晶振, 振荡电容选用 22p和30p 独石电容;
图 1图
2复位电路使用 RC 电路,使用普通的电解电容与金属膜电阻即可;
图
3当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。正常工作为低电平,高电平复位。 (分析振荡电路:测振荡频率; 分析复位电路:高或低电平复位?)
2. 显示模块:
分析发光二极管显示电路:
图
4???
分析数码管显示电路
图
5???
要求:铅笔绘制模块电路,并分析电路。请自己查询相关电路相关知识,再对应本学
习板分析。
四、硬件调试
1、是否短路
用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。
2、焊接顺序
焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。
3、器件功能
1)检查原理图连接是否正确
2)检查原理图与PCB图是否一致
3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象
5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确
6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的
7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。
1、详细描述硬件安装过程中出现的故障现象,并作故障分析,及解决方法。
六、软件调试
1、设置硬件仿真环境
单片机应用系统程序的编译和仿真在KeilμVision环境下进行,在调试程序之前,需要对工程进行Debug设置,选择软件仿真或硬件仿真。软件仿真使用计算机来模拟程序的运行,不需要建立硬件平台就可以快速得到某些运行结果;硬件仿真是最准确的仿真方法,必须建立硬件平台,通过PC机→硬件仿真器→用户目标系统进行系统调试。采用硬件仿真的方法,硬件平台即为带有图1所示接口电路的单片机应用系统,设置硬件仿真环境的具体操作步骤如下:
首先,点击所建工程:Project菜单中的Options for Target„Targer 1‟,出现工程的配置窗口,点击Debug设置,选择KeilMcmitor-51 Driver,具体参数设置如图6所示。
图 6
然后,设置仿真器参数。建议波特率设置范围300~38 400。为避免程序中的中断和Keil硬件仿真环境中的中断互相冲突,不选择“Stop ProgramExecution with SerialInterrupt”。仿真器参数的设置如图7所示。
图7
完成51单片机在Keil μVision环境中的硬件仿真环境设置后,可以进行程序的调试仿真。
2、调试仿真
1) 导入测试代码:文件→打开→key and display.Uv2 2) 重建全部工程:工程→重建全部目标文件
重建结果为,“DA_5615” – 0 Error(s), 0 Warning(s). 3) 调试:调试→Start/Stop Debug session(Ctrl + F5)
调试结果为:Connected to Monitor_51 V3.
4Load “C:......DA_56
511、详细描述软件调试步骤。及各模块调试结果。
2、详细描述调试过程中出现的故障现象,并作故障分析,及解决方法
七、心得
自己写啦~~
第五篇:单片机课程实习报告
单片机控制的循环彩灯控制系统的设计
一、实习目的 《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。
二、实习内容要求 要求能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。 参考花型: (1) 使彩灯从右到左逐一循环点亮。 (2) 使彩灯交替闪烁。 (3) 使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。 (4) 使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。 2)循环彩灯的循环速度可调。 按键要求: (1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。 (2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。 (3)速度+。按键一次,速度略加快一点。 (4)速度-。按键一次,速度略减慢一点。 (5)在LED显示器上显示相应的花型号。 利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。
三、程序设计
1、程序分模块设计 1) 基本程序模块:延时程序、设置按键处理程序、主程序初始化及初值设定 2)LED控制程序
3)取消按键抖动程序 4)控制程序
2、设计流程图
开始
字型码赋值 8155初始化字位码初始值 总控制开关 字位码 C口 花型控制开关 显示数据
查表字形码
C口 花型 显示字形 显示 选择花型 结束
调速 P3.4=0? 否 P3.2=1? 是 否 是 P3.3=1? 加速 P3.1=0? P3.0=0? 是 否 是 否 减速 00 01 10 11 花型1 花型2 花型3 花型4
3、总体设计
充分利用TDN86/51二合一微机实验教学系统的硬件资源来实现循环灯的功能,因此: (1) 利用8051的P1端口接发光二极管,以模拟彩灯控制。 (2)利用8051的P3端口接拨动开关;利用拨动开关提供逻辑0和逻辑1,模拟按键操作,以实现4种花型之间的切换、加快循环速度、减慢循环速度以及暂停循环灯循环等操作,具体定义如表1.1和表1.2所示。 表1.1 拨动开关与对应的花型
K1 K2 花型 0 0 花型1 0 1 花型2 1 0 花型3 1 1 花型4 表1.2 拨动开关功能表 K3 K4 K5 功能 功能 功能 0 0 0 加速无效 减速无效 暂停 1 1 1 加速 减速 启动 (3)8051通过8155对LED显示器控制显示相应的花型编号。 (4)利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。
4、设计程序如下: ORG 0000H SETB ET0 LJMP MAIN SETB EX0 ORG 0003H SETB ET1 LJMP JIAN SETB EX1 ORG 0013H SETB EA LJMP JIA LOOP:LCALL KEY ORG 1000H LJMP
LOOP MAIN: MOV
SP, #60H JIAN:JNB P3.2,$ MOV 20H,#8 INC 20H MOV P1,#0FFH INC 20H
MOV
A,20H JIA: JNB
P3.3,$
CJNE A,#14,YY DEC 20H MOV A,#14 DEC 20H YY: MOV 20H,A MOV A,20H RETI JNZ YY MOV A,#02 MOV DPTR, #SEGTAB MOV 20H,A MOVC
A, @A+DPTR
RETI MOV
DPTR, #8002H KEY:MOV A,P3 MOVX @DPTR, A ANL A,#03H MOV A, R2 MOV 19H,A MOV DPTR, #8001H CJNE A,#00H,L1 MOVX @DPTR, A LJMP LP0 MOV R3, #00H L1: CJNE A,#01H,L2 DISP3: DJNZ R3, DISP3 LJMP LP1 INC R0 L2: CJNE A,#02H,L3 RR A LJMP LP2 MOV R2, A L3: LJMP LP3 JB ACC.7, DISP1 DISP: MOV A,#03H RET MOV DPTR,#8000H PUTT: MOV R1,A MOVX @DPTR,A ANL A, #0FH MOV R0,#4FH MOV @R0, A MOV A,27H RET ACALL PUTT LP0: MOV 27H, #01H MOV R0,#4FH LCALL DISP MOV R2,#0FEH MOV DPTR, #TABLE DISP1: MOV DPTR,#8002H MOV R4, #09 MOV A,#00H L6:MOV A, #09 MOVX @DPTR,A SUBB A, R4 MOV A,@R0 LCALL XX
DJNZ R4, L6 MOV A, #09H RET LCALL XX LP1: MOV 27H, #02H MOV A,#10 LCALL DISP LCALL XX MOV DPTR, #TABLE RET LP2: MOV 27H, #03H CJNE A , 19H, PP LCALL DISP MOV R2, 20H MOV DPTR, #TABLE D1:MOV R3, #30 MOV R5, #11 D2:MOV R1, #120 L7: MOV A, #22 DJNZ R1, $ SUBB A, R5 DJNZ R3, D2 LCALL XX DJNZ R2, D1 DJNZ R5, L7 RET RET PP:LJMP LOOP LP3:MOV 27H, #04H SEGTAB:
LCALL
DISP DB 3FH,06H,5BH,4FH,66H
MOV DPTR, #TABLE TABLE: MOV R6, #09 DB 0FFH L8:MOV A, #30 DB 0FEH ,0FDH ,0FBH ,0F7H ,0EFH ,0DFH ,0B SUBB A, R6 FH ,07FH
LCALL
XX
DB 0AAH,55H DJNZ
R6, L8
DB
RET 7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH, 00H XX: MOVC A, @A+DPTR
DB
MOV
P1, A 7EH,3CH,18H,00H,18H,3CH,7EH,0FFH LCALL DEL1S DB 00H RET END DEL1S: JNB P3.4, $ MOV A, P3 ANL A, #03H
四、软、硬件调试 将程序装载进MD51,用U命令调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。没有装载成功按复位键重装。
五、设计仿真图
六、实习总结与心得 通过这次的实习设计使我认识到我对单片机方面的知识学习得不够透彻,对书本上的很多知识还不能灵活的运用,有很多我们必须的知识没有掌握,还需要在以后的学习中弥补所缺失的知识。了解和掌握了一些编程思想和对I/O口的使用。 本次实习的设计是以单片机8051为核心,结合相关的元器件(共阴极LED数码显示器、通用I/O接口芯片8155等),再加上装载设计的汇编程序,以达到LED二极管实现多种花样彩灯的功能及实习设计要求的功能。在实习准备前期,对编程设计不懂,就查阅了很多有关资料,最后还是没能解决实习要求控制彩灯“加减速”的功能,仿真图及程序见附页。 实习的时候,“加减速”程序不符合要求,就拿其他程序进行调试,在实习调试的过程
中,遇到很多困难,插线没插好,导致“加减速”按键没能正常工作,还有就是数码管没能正常显示相应花样样式以及运行一段时间后会卡机;最后卡机问题还是没能解决。 最后就是觉得自己对本次实习的态度不够认真。 附页:
1、设计准备阶段仿真图:
2、设计程序: ORG 0030H JNB P3.2,STAR3 MOV A,#03H LJMP STAR4 MOV DPTR,#8000H STAR0:JNB P3.2,STAR1
MOVX @DPTR,A
SJMP STAR2 MOV R5,#7FH STAR1:MOV R0,A MOV R3,#00H MOV A,#00H MOV R2,#0FEH MOV DPTR,#TAB MOV A,#0FEH MOVC A,@A+DPTR LOOP:JNB P3.1,STAR0 MOV DPTR,#8002H
MOVX @DPTR,A MOVX @DPTR,A MOV R2,#0FEH MOV A,R0 MOV A,R2 MOV P1,A MOV DPTR,#8001H JB P3.5,$ JNB P3.3,NEXT0 RR A LCALL DELAY SWAP A RL A
SJMP LOOP
SJMP LOOP NEXT2:JNB P3.4,NEXT3 NEXT0:JNB P3.4,NEXT1 LCALL DELAY LCALL DELAY1 LCALL DELAY1 RL A RR A SJMP LOOP SWAP A NEXT1:LCALL DELAY SJMP LOOP LCALL DELAY NEXT3:LCALL DELAY RL A LCALL DELAY SJMP LOOP RR A STAR2:MOV R0,A SWAP A MOV A,#01H
LJMP LOOP
MOV DPTR,#TAB STAR3:MOV A,#02H MOVC A,@A+DPTR MOV DPTR,#TAB MOV DPTR,#8002H MOVC A,@A+DPTR MOVX @DPTR,A MOV DPTR,#8002H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H MOV A,R0 MOVX @DPTR,A MOV P1,A MOV A,R5 JB P3.5,$ MOV P1,A JNB P3.3,NEXT2 JB P3.5,$ LCALL DELAY JNB P3.3,NEXT4
LCALL DELAY MOV R1,A LCALL DELAY1 CJNE R1,#0FFH,TWO
INC A
MOV P1,#00H
LCALL DELAY LJMP LOOP TWO: MOV A,R5 STAR4:MOV A,#03H RR A MOV DPTR,#TAB MOV R5,A MOVC A,@A+DPTR LJMP LOOP MOV DPTR,#8002H NEXT4:JNB P3.4,NEXT5
MOVX @DPTR,A LCALL DELAY1
MOV A,R2
LCALL DELAY1
MOV DPTR,#8001H LCALL DELAY1 MOVX @DPTR,A INC A MOV A,R3
MOV R1,A
MOV DPTR,#TAC
CJNE R1,#0FFH,TWO MOVC A,@A+DPTR MOV P1,#00H MOV P1,A
LCALL DELAY
JB P3.5,$
MOV A,R5
JNB P3.3,NEXT6 RR A LCALL DELAY ;加速 MOV R5,A MOV A,R3 LJMP LOOP INC A NEXT5:LCALL DELAY CJNE A,#08H,ZOU LCALL DELAY MOV A,#00H INC A ZOU:MOV R3,A
MOV R1,A
LJMP LOOP
CJNE R1,#0FFH,TWO NEXT6:JNB P3.4,NEXT7 MOV P1,#00H LCALL DELAY ;减速 MOV A,R5 LCALL DELAY RR A LCALL DELAY MOV R5,A MOV A,R3 INC A
MOV R3,A
CJNE A,#08H,ZOU LJMP LOOP MOV A,#00H NEXT7:LCALL DELAY ;正常 LCALL DELAY MOV A,R3 INC A CJNE A,#08H,ZOU MOV A,#00H MOV R3,A LJMP LOOP DELAY:MOV R7,#02H D1: MOV R6,#0FFH D2: DJNZ R6,D2
DJNZ R7,D1
RET DELAY1:MOV R7,#04H
D3:MOV R6,#0FFH
D4:DJNZ R6,D2 DJNZ R7,D1 RET TAB:DB 06H,5BH,4FH,66H TAC:DB 7EH,0BDH,0DBH,0E7H,18H,24H,42H,81H END