电子秒表设计.docx

上传人:b****8 文档编号:12899786 上传时间:2023-06-09 格式:DOCX 页数:25 大小:160.22KB
下载 相关 举报
电子秒表设计.docx_第1页
第1页 / 共25页
电子秒表设计.docx_第2页
第2页 / 共25页
电子秒表设计.docx_第3页
第3页 / 共25页
电子秒表设计.docx_第4页
第4页 / 共25页
电子秒表设计.docx_第5页
第5页 / 共25页
电子秒表设计.docx_第6页
第6页 / 共25页
电子秒表设计.docx_第7页
第7页 / 共25页
电子秒表设计.docx_第8页
第8页 / 共25页
电子秒表设计.docx_第9页
第9页 / 共25页
电子秒表设计.docx_第10页
第10页 / 共25页
电子秒表设计.docx_第11页
第11页 / 共25页
电子秒表设计.docx_第12页
第12页 / 共25页
电子秒表设计.docx_第13页
第13页 / 共25页
电子秒表设计.docx_第14页
第14页 / 共25页
电子秒表设计.docx_第15页
第15页 / 共25页
电子秒表设计.docx_第16页
第16页 / 共25页
电子秒表设计.docx_第17页
第17页 / 共25页
电子秒表设计.docx_第18页
第18页 / 共25页
电子秒表设计.docx_第19页
第19页 / 共25页
电子秒表设计.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子秒表设计.docx

《电子秒表设计.docx》由会员分享,可在线阅读,更多相关《电子秒表设计.docx(25页珍藏版)》请在冰点文库上搜索。

电子秒表设计.docx

电子秒表设计

一、设计目的:

(题目四号宋体字)

通过一个以8位单片机为核心的模拟量数字表的硬件调试过程,掌握具有A/D、七段LED显示、RS-485通信、Watchdog等接口电路的单片机应用系统的设计思想和方法。

学习应用系统软件的模块化设计方法,通过源程序的编辑、汇编或编译、链接、仿真调试,完成给定的任务。

通过上述过程提高学生工程实践能力和素质。

二、设计任务:

要求明确设计任务内容及任务分工等;(内容小四号宋体字)

★基本任务:

完成蜂鸣器、键盘、七段LED显示器的自检程序设计。

(1)蜂鸣器自检

要求:

利用程序实现两种以上声音。

(2)键盘自检

要求:

确定键盘正确。

(3)七段LED显示器自检

要求:

确定LED显示器每一段均正确。

框图(包括自检和任务的框图):

1、硬件编程框图及相关说明

2、主程序框图、子程序框图及相关说明

三、程序清单:

要求有明确的程序注解、程序清单可分两栏打印

(1)蜂鸣器自检程序

BEEP:

setbp2.3;关喇叭

acalldelay1;调用延时1

clrp2.3;开喇叭

acallDELAY2;调用延时2

setbp2.3;关喇叭

acallDELAY2;调用延时2

clrp2.3;开喇叭

acallDELAY3;调用延时3

setbp2.3;关喇叭

acallDELAY3;调用延时3

sjmpBEEP;跳到beep

RET

DELAY1:

;延时子程序

MOVR1,#0FFH

CX0:

MOVR2,#0FFH

CX:

DJNZR2,CX

DJNZR1,CX0

RET

DELAY2:

延时子程序

MOVR1,#0FAH

CX1:

MOVR2,#0FAH

CX2:

DJNZR2,CX2

DJNZR1,CX1

RET

DELAY3:

延时子程序

MOVR1,#0FAH

CX3:

MOVR2,#0FAH

CX4:

DJNZR2,CX4

DJNZR1,CX3

RET

 

(2)键盘自检程序

BEEP:

MOVR1,#4H;设置移位次数

LCALLSEL8;打开三态门

MOVP1,#0FFH;将P1口设置成I/O

MOVA,P1;采样

LCALLSEL7;关闭三态门

SJMPCXW1

RET

CXW1:

RRCA;把键的值放到进位位

JNCCXW2;如果键合上,跳到CXW2,发音子程序

DJNZR1,CXW1;(K1没闭合,就看K2是否闭合;K2没闭合,就看K3是否闭合;K3没闭合,就看K4是否闭合)

SJMPBEEP;四个键都没闭合,就重新采样

RET

CXW2:

CLRP2.3;开喇叭

LCALLDELAY;调用延时

SETBP2.3;关喇叭

SJMPBEEP;发音完毕,跳转到BEEP,重新采样

RET

SEL7:

CLRP2.7;(关闭三态门子程序)

SETBP2.6

SETBP2.5

RET

SEL8:

SETBP2.7;(打开三态门子程序)

SETBP2.6

SETBP2.5

RET

DELAY:

MOVR6,#0AH;(延时子程序)

CXW3:

MOVR7,#0F8H

CXW4:

DJNZR7,CXW4

DJNZR6,CXW3

RET

(3)七段LED显示器自检程序

DT1:

CLRP2.5;(使第一位LED有效,并显示从1到9)

CLRP2.6

CLRP2.7

LCALLcc1

RET

DT2:

CLRP2.5;(使第二位LED有效,并显示从1到9)

CLRP2.6

SETBP2.7

LCALLcc1

RET

DT3:

CLRP2.5;(使第三位LED有效,并显示从1到9)

SETBP2.6

CLRP2.7

LCALLcc1

RET

DT4:

CLRP2.5;(使第四位LED有效,并显示从1到9)

SETBP2.6

SETBP2.7

LCALLcc1

RET

DT5:

SETBP2.5;(使第五位LED有效,并显示从1到9)

CLRP2.6

CLRP2.7

LCALLcc1

LJMPDT1

RET

cc1:

LCALLSEL0;(调用送字型的子程序,使LED显示0到9)

LCALLDELAY

LCALLSEL1

LCALLDELAY

LCALLSEL2

LCALLDELAY

LCALLSEL3

LCALLDELAY

LCALLSEL4

LCALLDELAY

LCALLSEL5

LCALLDELAY

LCALLSEL6

LCALLDELAY

LCALLSEL7

LCALLDELAY

LCALLSEL8

LCALLDELAY

LCALLSEL9

LCALLDELAY

LCALLSEL10

LCALLDELAY

RET

SEL0:

MOVA,#7EH;SEL1到SEL10是送字型子程序,SEL0是送0子程序

MOVP0,A

LCALLDELAY

RET

SEL1:

MOVA,#0CH;(SEL1是送1子程序)

MOVP0,A

LCALLDELAY

RET

SEL2:

MOVA,#0B6H

MOVP0,A(SEL2是送2子程序)

LCALLDELAY

RET

SEL3:

MOVA,#9EH(SEL3是送3子程序)

MOVP0,A

LCALLDELAY

RET

SEL4:

MOVA,#0CCH(SEL4是送4子程序)

MOVP0,A

LCALLDELAY

RET

(SEL5是送5子程序)

SEL5:

MOVA,#0DAH

MOVP0,A

LCALLDELAY

RET

(SEL6是送6子程序)

SEL6:

MOVA,#0FAH

MOVP0,A

LCALLDELAY

RET

(SEL7是送7子程序)

SEL7:

MOVA,#0EH

MOVP0,A

LCALLDELAY

RET

(SEL8是送8子程序)

SEL8:

MOVA,#0FEH

MOVP0,A

LCALLDELAY

RET

(SEL9是送9子程序)

SEL9:

MOVA,#0DEH

MOVP0,A

LCALLDELAY

RET

(SEL10是送小数点子程序,即使小数点亮)

SEL10:

MOVA,#01H

MOVP0,A

LCALLDELAY

RET

DELAY:

MOVR6,#9fH(延时子程序)

CXW3:

MOVR7,#9fH

CXW4:

DJNZR7,CXW4

DJNZR6,CXW3

RET

 

(4)一首歌的程序

编程思路:

歌曲是由音调和节拍有机组合而成。

音调是由发音的频率决定的,七种不同频率的方波来产生七种音调,我们用定时器1来控制方波的频率。

节拍就是音调持续的时间,节拍用节拍(延时)程序控制。

BUZZEREQUP2.3;伪指令,不编译

org0000h;主程序起始地址

ajmpbeep;跳至主程序

org000bh;定时器1中断地址

jmptim0;跳至timer0中断子程序

BEEP:

LCALLSEL81;打开三态门

MOVP1;#0FFH(P1口设置为输入输出口)

MOVA,P1;(采样K1键的状态)

LCALLSEL71;关三态门

SJMPCXW1

RET

CXW1:

RRCA;(K1的状态送到累加器的进位位)

JNCCXW2;(K1闭合,跳到点亮LED并放歌的子程序)

SJMPBEEP;(如果K1没闭合,继续扫描键盘)

RET

CXW2:

DT1:

CLRP2.5;(选位子程序,选择第一位LED)

CLRP2.6

setbP2.7

LCALLcc1;(调用LED显示的子程序)

movtmod,#01h;设timer0在MODE1

movie,#82h;打开定时器1中断

start0:

CLRP2.5;(选择第一位LED)

CLRP2.6

setbP2.7

LCALLcc1;(调用LED显示的子程序)

mov30h,#00h

next:

mova,30h

movdptr,#table;(DPTR指向歌曲的简谱码表的首地址)

movca,@a+dptr取简谱码

movr2,a;取到的简谱码暂存于R2

jzend0;判断是否取到00(结束码)?

anla,#0fh;不是结束码,则取低4位(节拍码)

movr5,a;将节拍码存入R5

mova,r2;将取到的简谱码再载入A

swapa;高低四位交换,也就是节拍码和音调码交换位置

anla,#0fh;取低四位(音符码)

jnzsing;取到的音符码是否为零?

clrtr0;音调码是0,则不发音

jmpd1

sing:

deca;取到的音符码减1(不含0).

mov22h,a;存入(22H).

rla;乘2

movdptr,#table1;到音调的频率表table1取相对应的定时器定时初值

movca,@a+dptr

movth0,a;给定时器的TH0赋定时处值

mov21h,a;

mova,22h;再载入取的的音符码

rla;乘2

inca;加1

movca,@a+dptr;

movtl0,a;给定时器的TL0赋定时初值

mov20h,a;取到的高位字节存入(20H)

setbtr0;启动timer0

d1:

calldelay;基本单位时间1/4拍187毫秒

inc30h;取简谱码指针加1

jmpnext;取下一个码

end0:

clrtr0;停止timer0

jmpstart0;重复循环

lJMPBEEP

RET

SEL71:

CLRP2.7;关三态门子程序

SETBP2.6

SETBP2.5

RET

SEL81:

SETBP2.7;开三态门子程序

SETBP2.6

SETBP2.5

RET

tim0:

;;time0中断服务子程序用来产生方波(音调)的负半波。

pushacc;中断现场保护

pushpsw

movtl0,20h;重设定时初值

movth0,21h

cplBUZZER;P2.3反相

poppsw;至堆栈取回psw的值

popacc;至堆栈取回a的值

reti;返回主程序

delay:

movr7,#02h;187毫秒

d2:

movr4,#187

d3:

movr3,#248

CXW:

djnzr3,CXW

djnzr4,d3

djnzr7,d2

djnzr5,delay;延时时间,受节拍码得控制,延时时间也就是音调持续的时间

ret

cc1:

LCALLSEL0;(使LED显示从0到9)

LCALLdelay1

LCALLSEL1

LCALLdelay1

LCALLSEL2

LCALLdelay1

LCALLSEL3

LCALLdelay1

LCALLSEL4

LCALLdelay1

LCALLSEL5

LCALLdelay1

LCALLSEL6

LCALLdelay1

LCALLSEL7

LCALLdelay1

LCALLSEL8

LCALLdelay1

LCALLSEL9

LCALLdelay1

LCALLSEL10

LCALLdelay1

ret

delay1:

MOVR6,#0ffH;(LED显示0到9时的延时子程序)

CXW3:

MOVR7,#0ffH

CXW4:

DJNZR7,CXW4

DJNZR6,CXW3

RET

RET

;SEL0到SEL10是送字型子程序,请参考LED自检的程序,此处不再重述)

SEL0:

MOVA,#7fH

MOVP0,A

LCALLdelay1

RET

SEL1:

MOVA,#60H

MOVP0,A

LCALLdelay1

RET

SEL2:

MOVA,#0B6H

MOVP0,A

LCALLdelay1

RET

SEL3:

MOVA,#0f2H

MOVP0,A

LCALLdelay1

RET

SEL4:

MOVA,#0e8H

MOVP0,A

LCALLdelay1

RET

SEL5:

MOVA,#0dAH

MOVP0,A

LCALLdelay1

RET

SEL6:

MOVA,#0dFH

MOVP0,A

LCALLdelay1

RET

SEL7:

MOVA,#70H

MOVP0,A

LCALLdelay1

RET

SEL8:

MOVA,#0ffH

MOVP0,A

LCALLdelay1

RET

SEL9:

MOVA,#0fbH

MOVP0,A

LCALLdelay1

RET

SEL10:

MOVA,#01H

MOVP0,A

LCALLdelay1

RET

table1:

DW64580,64684,64777,64820;(table1是各方波(音调)对应的周期表)

DW64898,64968,65030,64260

DW64400,64524,65058,63835,64021

;(table:

是简谱码表,也就是歌曲的曲谱表,每个码的高四位是音调,低四位是节拍)

table:

DB88h,14h,24h,36H,42H,34H,14H,28H,14H,94H

DB1fH,88H,14H,24H,34H,32H,42H,54H,14H

DB46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74H

DB76H,62H,68H,54H,52H,62H,74H,62H,52H,3fH

DB46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2H

DB92H,84H,94H,1fH,0b8H,68H,46H,52H,68H

DB74H,72H,72H,74H,62H,52H,3fH,0b8H,68H

DB46H,52H,68H,64H,62H,62H,64H,42H,32H,2fH

DB58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H

DB94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fH

DB00

子程序:

七个子程序,采样子程序,打开三态门子程序,关闭三态门子程序,定时器中断程序,LED显示子程序,LED显示延时子程序,音调延时(节拍)子程序。

六、设计体会

要求每个人根据自己的不同情况分别写出本人的设计体会,不得少于300字。

顺序装订

我们组的任务是便一首歌,我们对这个程序是这样理解的。

歌曲就是音调和节拍的有机组成。

音调就是DAO,LAI,MI,FA,SAO,LA,XI,节拍就是音调的持续时间。

我们所用的单片机只能输出方波,方波的频率不同,所以就产生了七种音调。

我们小组用定时器一来定时方波的频率,用延时程序来控制音调的持续时间。

做完基本任务后,又添加了键盘和LED的程序。

编程序时要结合硬件,如果不匹配,那将无法下手编。

经过这几天的实训,我对单片机有了理性的认识。

总而言之就是编程之前要了解硬件的接线,否则就是瞎编。

印象最深的是做LED自检时,一开始送字型送的是教材上的字型编码,显示出来后乱七八糟的,于是我又重新找七段LED管和字型码的第0位,第一位,第二位直到第七位的对应关系,依次输入00000001,000000010,直到10000000,找到对应关系后重新编字型码,使得LED显示从0到9。

三个人一组,古代的人说三个臭皮匠赛过一个诸葛亮,可我却觉得不一定是那样,因为三个人的编程思路有时候非常不统一。

每个人都试图说服对方,但这一般是说服不了的。

幸亏刘老师要求先做程序流程图,然后照图施工,然后调试解决失真。

两周的时间太短了,我觉得应该加长单片机实习的时间。

单片机是很实用的,如果学好学精通,找工作就不用费心了。

还有就是我觉得实习应该按这样的流程进行:

先熟悉各种指令,然后熟悉硬件的环境,最后布置任务。

另外我建议实验室下午可以开放,学生可以来也可以不来,我想来的人虽然不多,但是肯定有学生会来。

因为在寝室虽然可以编程,但却不能用硬件来验证程序是否可行。

刘老师要求是非常严格的,要求外行人能通过流程图就能了解编程思想,是按公司企业验收项目的“交钥匙工程”标准来要求学生的,虽然很累,但是我觉得很充实。

七、参考资料

1、《单片机系统综合设计与实践》教材主编:

裴岩刘利民内蒙古大学出版社。

2、《单片机应用及原理》教材主编:

李建忠西安电子科技大学出版社

3、《单片机原理及应用(MCS-51)教材主编:

蒋廷彪刘电霆高富强方华

重庆大学出版社

 

开题报告、文献综述、外文翻译、论文反抄袭软件、论文目录,就差论文正文了,其他都全了!

开题报告主要包括以下几个方面:

(一)论文名称

论文名称就是课题的名字

第一,名称要准确、规范。

准确就是论文的名称要把论文研究的问题是什么,研究的对象是什么交待清楚,论文的名称一定要和研究的内容相一致,不能太大,也不能太小,要准确地把你研究的对象、问题概括出来。

第二,名称要简洁,不能太长。

不管是论文或者课题,名称都不能太长,能不要的字就尽量不要,一般不要超过20个字。

(二)论文研究的目的、意义

研究的目的、意义也就是为什么要研究、研究它有什么价值。

这一般可以先从现实需要方面去论述,指出现实当中存在这个问题,需要去研究,去解决,本论文的研究有什么实际作用,然后,再写论文的理论和学术价值。

这些都要写得具体一点,有针对性一点,不能漫无边际地空喊口号。

主要内容包括:

⑴研究的有关背景(课题的提出):

即根据什么、受什么启发而搞这项研究。

⑵通过分析本地(校)的教育教学实际,指出为什么要研究该课题,研究的价值,要解决的问题。

(三)本论文国内外研究的历史和现状(文献综述)。

规范些应该有,如果是小课题可以省略。

一般包括:

掌握其研究的广度、深度、已取得的成果;寻找有待进一步研究的问题,从而确定本课题研究的平台(起点)、研究的特色或突破点。

(四)论文研究的指导思想

指导思想就是在宏观上应坚持什么方向,符合什么要求等,这个方向或要求可以是哲学、政治理论,也可以是政府的教育发展规划,也可以是有关研究问题的指导性意见等。

(五)论文写作的目标

论文写作的目标也就是课题最后要达到的具体目的,要解决哪些具体问题,也就是本论文研究要达到的预定目标:

即本论文写作的目标定位,确定目标时要紧扣课题,用词要准确、精练、明了。

常见存在问题是:

不写研究目标;目标扣题不紧;目标用词不准确;目标定得过高,对预定的目标没有进行研究或无法进行研究。

确定论文写作目标时,一方面要考虑课题本身的要求,另一方面要考率实际的工作条件与工作水平。

(六)论文的基本内容

研究内容要更具体、明确。

并且一个目标可能要通过几方面的研究内容来实现,他们不一定是一一对应的关系。

大家在确定研究内容的时候,往往考虑的不是很具体,写出来的研究内容特别笼统、模糊,把写作的目的、意义当作研究内容。

基本内容一般包括:

⑴对论文名称的界说。

应尽可能明确三点:

研究的对象、研究的问题、研究的方法。

⑵本论文写作有关的理论、名词、术语、概念的界说。

(七)论文写作的方法

具体的写作方法可从下面选定:

观察法、调查法、实验法、经验总结法、个案法、比较研究法、文献资料法等。

(八)论文写作的步骤

论文写作的步骤,也就是论文写作在时间和顺序上的安排。

论文写作的步骤要充分考虑研究内容的相互关系和难易程度,一般情况下,都是从基础问题开始,分阶段进行,每个阶段从什么时间开始,至什么时间结束都要有规定。

课题研究的主要步骤和时间安排包括:

整个研究拟分为哪几个阶段;各阶段的起止时间

文献综述怎么写

1)什么是文献综述?

文献综述是研究者在其提前阅读过某一主题的文献后,经过理解、整理、融会贯通,综合分析和评价而组成的一种不同于研究论文的文体。

2)文献综述的写作要求

1、文献综述的格式

文献综述的格式与一般研究性论文的格式有所不同。

这是因为研究性的论文注重研究的方法和结果,而文献综述介绍与主题有关的详细资料、动态、进展、展望以及对以上方面的评述。

因此文献综述的格式相对多样,但总的来说,一般都包含以下四部分:

即前言、主题、总结和参考文献。

撰写文献综述时可按这四部分拟写提纲,再根据提纲进行撰写工作。

前言,要用简明扼要的文字说明写作的目的、必要性、有关概念的定义,综述的范围,阐述有关问题的现状和动态,以及目前对主要问题争论的焦点等。

前言一般

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2