- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计报告
目 录
一、引言—本课程设计的目的………..………………..2
二、八路LED跑马灯实验…………….……………….2
2.1设计内容…………………………………………………2
2.2电路图……………………………………………………2
2.3上机程序..…………………………………….………….3
2.4调试结果及结论:……………….……………………….4
三、二位数码管循环显示00~99的实验…..………….4
3.1设计内容...……………………………………………….4
3.2电路图...………………………………………………….4
3.3上机程序..…………………………………………..……5
3.4调试结果及结论…………………………………………6
四、单片机演奏音乐实验………………………………6
4.1设计内容..……………………………………….……….6
4.2电路图……………………………………………………6
4.3上机程序…………………………………………………7
4.4调试结果及结论...……………………………………….9
五、心得体会...………………………………………….9
六、参考文献…………..………………………………10
摘要:由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。通过本次课程设计掌握单片机硬件和软件方面的知识……
一、引言—本课程设计的目的
以
二、八路LED跑马灯实验
2.1设计内容:
八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了org 0000h
ajmp start
org 0030h
start:
mov a,#7fh
clr c
mov r2,#08h
loop: rrc a
mov p0,a
call delay
djnz r2,loop
mov r2,#07h
loop1: rlc a
mov p0,a
call delay
djnz r2,loop1
jmp start
delay:
d1: mov r4,#20
d2: mov r5,#248
djnz r5,$
djnz r4,d2
ret
end
2.4调试结果及结论:
八路发光二极管轮流点亮汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!8段数码管显示.两位数码管显示00--99依次循环(动态扫描方式).p1做LED显示数据输出口.p3.2;p3.3分别控制数码管个位数和十位数显示.用单片机进行数码显示应具有显示器件;应用最广泛的是8段数码管。8段数码管从内部接线上分共阳和共阴两种。在电路设计时应根据情况决定采用共阳或共阴,其基本原则是:若单片机IO口直接驱动数码管个段,最好采用共阳数 码管,因为51单片机IO口输出高电平时输出的电流很小,数码管不会太亮;若数码管是通过驱动芯片与单片机相连的,就要看驱动芯片对数码管极性的要求a_bit equ 20h
b_bit equ 21h
temp equ 22h
start:
mov temp,#0
ss:acall display
inc temp
mov a,temp
cjne a,#100,next
mov temp,#0
next:ljmp ss
display:
mov a,temp
mov b,#10
div ab
mov b_bit,a
mov a_bit,b
mov dptr,#numtab
mov r0,#4
dpl1:
mov r1,#250
dplop:mov a,a_bit
MOVC A,@A+DPTR
mov p0,a
clr p2.6
ACALL dlms
setb p2.6
mov a,b_bit
MOVC A,@A+DPTR
mov p0,a
clr p2.7
ACALL dlms
setb p2.7
djnz r1,dplop
djnz r0,dpl1
ret
dlms:mov r7,#80
djnz r7,$
ret
numtab:DB 30H,0FCH,0A2H,0A4H,6CH,25H,21H,0BCH,20H,24H
end
3.4调试结果及结论:
8段数码管显示.两位数码管显示00--99依次循环(动态扫描方式)因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1
文档评论(0)