精品基于单片机的方波信号发生器毕业论文.docx

上传人:b****1 文档编号:453049 上传时间:2022-10-10 格式:DOCX 页数:14 大小:328.86KB
下载 相关 举报
精品基于单片机的方波信号发生器毕业论文.docx_第1页
第1页 / 共14页
精品基于单片机的方波信号发生器毕业论文.docx_第2页
第2页 / 共14页
精品基于单片机的方波信号发生器毕业论文.docx_第3页
第3页 / 共14页
精品基于单片机的方波信号发生器毕业论文.docx_第4页
第4页 / 共14页
精品基于单片机的方波信号发生器毕业论文.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

精品基于单片机的方波信号发生器毕业论文.docx

《精品基于单片机的方波信号发生器毕业论文.docx》由会员分享,可在线阅读,更多相关《精品基于单片机的方波信号发生器毕业论文.docx(14页珍藏版)》请在冰豆网上搜索。

精品基于单片机的方波信号发生器毕业论文.docx

精品基于单片机的方波信号发生器毕业论文

(此文档为word格式,下载后您可任意编辑修改!

 

微型计算机技术专业方向课程设计

 

任务书

 

题目名称:

基于单片机的方波信号发生器

 

专业自动化班级122

姓名学号

 

学校:

指导教师:

2014年12月9日

课程设计任务书

课程名称:

微型计算机技术

设计题目:

基于单片机的方波信号发生器系

统硬件要求:

从P1.0口输出方波,分四个档:

按下S1时输出1HZ,按下S2时输出10HZ,按下S3时输出1KHZ,按下S4时输出10KHZ的方波,要求误差少于1%,

软件设计:

1)主程序设计

2)各功能子程序设计

其他要求:

1、每位同学独立完成本设计。

2、依据题目要求,提出系统设计方案。

3、设计系统电路原理图。

1、调试系统硬件电路、功能程序。

2、编制课程设计报告书并装订成册,报告书内容(按顺序)

(1)报告书封面

(2)课程设计任务书

(3)系统设计方案的提出、分析

(4)系统中典型电路的分析

(5)系统软件结构框图

(6)系统电路原理图

(7)源程序

(8)课设字数不少于2000字

成绩

评语

摘要

本实验是基于AT89C51单片机单片机所设计的,可以实现四种频率不同的方波信号的发生。

本实验方波输出在89C51的P1.0口,分为四档,按下S1时输出1HZ,按下S2时输出10HZ,按下S3时输出1KHZ,按下S4时输出10KHZ的方波。

关键词:

51单片机;方波;四档

目录

第一章前言.......................................................5

第二章系统总体设计

2.1系统介绍......................................................5

2.2硬件简介......................................................5

2.3软件简介......................................................5

2.4系统结构框图..................................................5

第三章硬件电路

3.1硬件设计思想...................................................6

3.2开关信号采集...................................................6

3.3复位电路及晶振电路.............................................8

3.4方波输出.......................................................8

第四章软件系统

4.1软件系统概述...................................................8

4.2各部分程序.....................................................10

第五章总结.......................................................15

附录..............................................................16

第1章前言

本文是以MCS-51单片机系统为基础的,通过四个单刀单掷开关控制单片机的P1.0口输出四种不同频率的方波信号。

即分为四个档,闭合开关S1时输出1HZ方波信号,闭合开关S2时输出10HZ方波信号,闭合开关S3时输出1KHZ方波信号,闭合开关S3时输出10KHZ方波信号,并且每组方波信号的误差不大于1%。

第二章系统总体设计

2.1系统介绍

根据开关按键的不同,在51单片机的P1.0输出不同频率的方波,在无按键按下的时候,保持当前电平输出。

2.2硬件简介

硬件核心为51单片机以及周围电路,主要有51的复位电路,晶振电路,在加上四个单刀单掷开关。

2.3软件简介

本实验软件编程使用的51系列的汇编语言。

2.4系统结构框图

第3章硬件电路

3.1硬件设计思想

由于只要求四种不同频率方波输出档位,只需要四个开关的状态信息的采集,考虑到系统结构的成本,采用四个开关直接51单片机的P2.0—P2.3口相连的硬件设计,这样的系统结构简单,稳定,易于实现。

本系统总共有开关信号采集,复位电路,晶振单路,方波输出模块。

其中单片机VCC接+5V电源

3.2开关信号采集

采用四个单刀单掷开关和51单片机直接相连

3.3复位电路及晶振电路

C1:

30pF的无极性电容

C2:

30pF的无极性电容

C3:

1uF的电解电容

R1:

10KΩ的电阻

3.4方波输出

第4章软件系统

4.1软件系统概述

4.1.1如何输出方波

由于只是要求频率可调,不要求电平,并且在P1.0口输出,可以用P1.0口的高地电平输出方波的上下限电平。

4.1.2如何采集开关状态

因为只要求四档不同频率的方波,只有四个开关状态要采集,所以可以直接把四个开关连接到P2.0到P2.3口上,可以采用对四个口的遍历的方法查询状态。

4.1.3程序总述

主程序先对中断定时器T0进行相关设置,并对开关第一次信息采集,根据开关信息的不同状态对定时器T0进行赋值,然后开启定时,等待中断。

因为题目要求频率最低为1Hz,定时器T0选择方式一,TMOD控制字设置为#01H。

S1按下时:

要求频率1Hz,周期为1s,定时器要求500ms,采用方式一,最大定时时间为:

=×1us=65.536ms,

这里采用定时50ms,溢出10次改变一次电平重

装值的计算公式为:

TC=-50ms1us=3CB0H

S2按下时:

要求频率10Hz,周期50ms,采用方式一

装值的计算公式为:

TC=-50ms1us=3CB0H

S3按下时:

要求频率1KHz,周期500us,采用方式一

装值的计算公式为:

TC=-500us1u=FEFBH

S3按下时:

要求频率10KHz,周期50us,采用方式一

装值的计算公式为:

TC=-50us1us=FFCDH

 

程序流程图

4.2各部分程序

4.2.1主程序

主要进行T0中断设置,对开关状态的初次响应,并根据不同的开关状态进行不同的赋值给T0,然后等待中断。

ORG0000H

LJMP0A00H

ORG0A00H

SETBEA

SETBET0

SETBPT0

MOVTMOD,#01H

LOOP:

MOVP2,#0FFH

CLRTR0

JNBP2.0,SS1

JNBP2.1,SS2

JNBP2.2,SS3

JNBP2.3,SS4

SJMPLOOP

SS1:

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

MOVR0,#10

SJMP$

SS2:

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

SJMP$

SS3:

MOVTH0,#0FEH

MOVTL0,#0FBH

SETBTR0

SJMP$

SS4:

MOVTH0,#0FFH

MOVTL0,#0CDH

SETBTR0

SJMP$

 

主程序流程图

4.2.2中断程序

在T0溢出是进入本程序,本程序初始地址为000BH,本程序开始就进行了一次扫描,来确定是哪一个开关按下,然后跳转到相应的程序。

ORG000BH

LJMPNEXT

ORG0100H

NEXT:

JNBP2.0,S1

JNBP2.1,S2

JNBP2.2,S3

JNBP2.3,S4

SJMPNEXT

S1:

DJNZR0,NS1

CPLP1.0

MOVR0,#10

NS1:

MOVTH0,#3CH

MOVTL0,#0B0H

RETI

S2:

CPLP1.0

MOVTH0,#3CH

MOVTL0,#0B0H

RETI

S3:

CPLP1.0

MOVTH0,#0FEH

MOVTL0,#0FBH

RETI

S4:

CPLP1.0

MOVTH0,#0FFH

MOVTL0,#0CDH

RETI

END

中断程序流程图

第五章总结

在进行课程设计的过程中,我发觉,对资料的获取是一个很重要的部分。

制作过程中,我查阅了不少有关设计问题的资料,并从中获取自己所需要的东西。

同时为了使得自己的设计更加完善,在参考众多资料的同时,我也与同学进行讨教。

这一个过程,让我体会到了许多新颖有趣的观点,收获不少。

 

虽然单片机是我们专业的一个重要的专业课,但是我起初对它兴趣并不是很大,而且还觉得枯燥无味。

然而,通过这一次的课程设计,我发现,单片机并没有想象中那么枯燥。

在制作成品的过程中,我对单片机的兴趣也在增加。

同时,我也了解到了自己理论上的不足和缺陷,对于自我认知上面有很大的帮助。

总的来说,这一次课设,我收获良多。

参考文献

《单片机原理及其接口技术》(第三版)胡汉才主编

《数字电子技术基础》(第五版)清华大学电子学教研室组编阎石主编

引用XX百科

附录

附录一:

原理图、PCB图以及PROTEUS仿真图

输出频率为1HZ的方波信号图

输出频率为10HZ的方波信号图

输出频率为10HZ的方波信号图

输出频率为10000HZ的方波信号图

附录二:

程序代码

主程序:

ORG0000H

LJMP0A00H

ORG0A00H

SETBEA;开总中断

SETBET0;开T0中断

SETBPT0;设置T0为高中断优先级

MOVTMOD,#01H;设置T0工作在定时器方式1状态下

LOOP:

MOVP2,#0FFH;P2口作为输入输出端口时,要先写1

JNBP2.0,SS1;依次扫描是哪个开关闭合

JNBP2.1,SS2;

JNBP2.2,SS3;

JNBP2.3,SS4;

SJMPLOOP;若没有开关闭合则重新扫描

SS1:

MOVTH0,#3CH;当开关1闭合,则给T0赋初值,并打开T0定时器

MOVTL0,#0B0H;

SETBTR0;

MOVR0,#10;

SJMP$;等待T0中断响应

SS2:

MOVTH0,#3CH;当开关1闭合,则给T0赋初值,并打开T0定时器

MOVTL0,#0B0H;

SETBTR0;

SJMP$;等待T0中断响应

SS3:

MOVTH0,#0FEH;当开关1闭合,则给T0赋初值,并打开T0定时器

MOVTL0,#0FBH;

SETBTR0;

SJMP$;等待T0中断响应

SS4:

MOVTH0,#0FFH;当开关1闭合,则给T0赋初值,并打开T0定时器

MOVTL0,#0CDH;

SETBTR0;

SJMP$;等待T0中断响应

中断服务程序:

ORG000BH

LJMPnext

ORG0100H

next:

JNBP2.0,S1;再次判断是哪个开关闭合

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1