单片机课程设计(论文)-数字频率发生器的设计.doc_第1页
单片机课程设计(论文)-数字频率发生器的设计.doc_第2页
单片机课程设计(论文)-数字频率发生器的设计.doc_第3页
单片机课程设计(论文)-数字频率发生器的设计.doc_第4页
单片机课程设计(论文)-数字频率发生器的设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 一、概述一、概述 .3 1.1 设计内容.3 1.2 设计要求.3 二、频率发生器设计方案二、频率发生器设计方案 .4 2.1、方案介绍4 2.2、频率发生器的原理与功能4 三、硬件实验设计方案三、硬件实验设计方案 .5 3.1 硬件组成.5 3.2 电路图.6 3.3 小键盘接口电路.6 3.4 led 显示电路.7 四、软件设计四、软件设计 .7 4.1 流程图.7 4.2、系统初始化子程序9 4.3、显示子程序9 4.4 参考程序.10 五、系统的设计调试方法五、系统的设计调试方法 .13 5.1、主程序13 5.2、选择定时器 0,方式 114 5.3、计算f.14 5.4、初始值(即频率刚开始时)14 5.5、编写定时器 0 的中断服务子程序14 六、设计体会六、设计体会 .14 参考文献参考文献 .15 2 数字频率发生器的设计数字频率发生器的设计 一、概述一、概述 单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格 低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处 不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能 仪表等迅速发展到家用消费产品、办公自动化、汽车电子、pc 机外围以及网络 通讯等广大领域。 单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程 序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一 种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的 程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为 多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51 系列单片机。 1.1 设计内容设计内容 本课程设计是设计一个频率发生器,让其产生方波,用 4 位数码管显示 方波的频率。 1.2 设计要求设计要求 (1)设计一个数字频率发生器,要求产生方波信号。 (2)能够显示发送信号频率,该信号显示为 xxxx 四位(或 010999hz) 。 (3)频率范围可调:101000hz 二、频率发生器设计方案二、频率发生器设计方案 在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原 理及器件构成不同的电路,但可以实现相同的功能。在此次设计中,有些地方 与课题原本的具体要求有点不同。如实现频率调节时,不是按要求利用调整变 3 阻器的阻值来完成的,而是用按键来实现的。 2.1、方案介绍、方案介绍 微处理器模块 at89s52,频率与占空比信息显示模块,24 矩阵键盘模块, 74ls164 移位寄存器显示驱动模块。本设计中用到两个定时器,定时器 0 和定 时器 1,其中定时器 0 工作在定时方式下, 决定方波的频率;定时器 1 同样 工作在定时方式下,用于设定占空比。用 led 显示器来显示频率与占空比,键 盘的操作是通过外中断与单片机共同来控制的,键盘操作来完成按要求对频率 与占空比进行调节。 2.2、频率发生器的原理与功能、频率发生器的原理与功能 方波发生器的原理方框图如图 1 所示 键盘 单片机 89s52 led 显 示 频率与占 空比数据 频率与占 空比数据 图 1 频率发生器原理框图 由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的, 而非电阻,因此实现起来就相对简化了。仅用键盘、at89s52 及串行显示便可 完成设计,达到所要求实现的功能。 频率发生器工作原理与功能: 简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到 led 显 4 示器显示。 单片机的晶振为 11.0592mhz,用到了两个定时器,即定时器 0 与定时器 1,分别进行频率与占空比的定时,两个定时器都是工作在方式 1。根据计算定 时器初值的公式: 12 2 tf tc oscl 计算出定时器 0 与定时器 1 所要装入的初值。 频率及占空比的显示电路由 74ls164 构成的驱动电路和 led 数码显示管组 成,利用八个数码管来显示,有五位是用来显示频率的,有两位是显示占空比 的,在频率与占空比显示管中间有一个 led 数码管是用来显示“”的,用 以区分频率显示与占空比显示的。 此电路的键盘是由一个状态键,四个功能键(调节频率与占空比的增减) 组成,其特殊之处在于利用外部中断实现键盘扫描。状态键有三种状态,当其 处于状态 0 时,则其它的键会处于无用状态,当其处于状态 1 时,可通过按四 个调节键来调节频率,处于第三种状态时,按四个调节键中的前两个便可对占 空比进行调节了。 三、硬件实验设计方案三、硬件实验设计方案 3.1 硬件组成硬件组成 mc51 单片机、键盘、led 显示器、鼠标、辅助机箱。 3.2 电路图电路图 5 图 2 3.3 小键盘接口电路小键盘接口电路 小键盘如图 3 所示。它包括 8 个键,系统中用到的键只有 5 个,分别为 0 号、1 号、2 号、3 号、4 号键。其中 0 号键是状态键,采用外部中断控制,用 它来确定其它几个键的按键功能,具体作用在前述的系统功能中已做介绍了; 另外 4 个键为功能键,调节频率与占空比的。小键盘中引出的 6 根线依次分别 接单片机的 p1.0、p1.1、p1.2、p1.3、p1.4、p1.5 口。 图 3 小键盘接口电路 6 3.4 led 显示电路显示电路 采用静态显示来实现显示功能,如图 4 所示。移位寄存器 74ls164,实现 串行输入,并行输出。串行数据由 rxd 输出,从 74ls164 的 a、b 端口输入寄存 器,移位时钟由 txd 提供。在移位时钟作用下,存放显示器段码的串行发送缓 冲器数据逐位由 a、b 端移入到 74ls164 中,再由 q0 到 q7 并行输出到显示数码 管相应的 led 上。8 片 74ls164 首尾相串,而时钟端则接在一起。这部分的最 终功能是显示频率与占空比。 显示部分具体电路如图 4 所示: 图 4 led 显示电路 四、软件设计四、软件设计 4.1 流程图流程图 主程序包括系统初始化及显示程序,是一个死循环系统。其流程图如图 5 所 示: 7 程序组成结构程序组成结构 开始 系统始化 显示 图 5 主程序流程图 8 4.2、系统初始化子程序、系统初始化子程序 在此程序中,给所有变量赋初值,有键盘扫描口、选择串行口工作方式 scon、状态标志位 flag、初始频率与占空比及其定时、定时器 0 与定时器 1 的 工作方式等。初始化时启动了定时器 0 与定时器 1。 4.3、显示子程序、显示子程序 利用分离频率的各位数值,将各位数值分别显示出来。在程序中利用了频率 显示的高位灭零的方法以致最高位为 0 时就不显示,以致显示效果美观化。一 共有五位是显示频率的,若频率小于 10000 时,则万位不显示;若频率小于 1000 时,则万位与千位都不显示,依次类推。占空比的显示规律与频率的一样。 显示子程序流程图如图 6 所示: 显示子程序入口 分离频率和占空比的各位数字 高位灭零处理 查表,串口发送各位数字字型 码 软件延时 结束 图 6 显示子程序流程图 9 4.4 参考程序参考程序 org 4000h sjmp main org 400bh ljmp 0170h display: equ 0170h main: clr p1.7 mov sp, #6fh mov th0, #0f2h mov tl0, #0fbh mov tmod, #01h mov ip, #20h mov ie, #82h setb tr0 mov 7eh, #14h mov 7dh, #14h mov 78h, #14h mov 77h, #14h lcall display mov 62h, #00h mov 63h, #0ah mov a, 60h anl a, #0fh mov 7bh, a mov a, 60h anl a, #0f0h swap a mov 7ch, a mov a, 61h anl a, #0fh mov 79h, a mov a, 61h anl a, #0f0h swap a mov 7ah, a jp: jb p1.0, jp1 lcall ys jb p1.0, jp1 mov a, 63h add a, #1 mov 63h, a mov a, 62h addc a, #0 10 mov 62h, a jp1: lcall display mov r2, 62h mov r3, 63h lcall btod mov 60h, r5 mov 61h, r6 mov r5, #15h mov r4, #16h mov r3, #05h mov r2, #00h mov r6, #62h mov r7, #63h lcall ndiv1 clr c mov a, #00h subb a, r5 mov 65h, a mov a, #00h subb a, r4 mov 64h, a ljmp ks dsq50ms: mov tl0, 65h mov th0, 64h cpl p1.7 ptfor: reti ys: mov r7, #89h ys1: mov r6, #0f8h ys2: nop djnz r6, ys2 djnz r7, ys1 ret bcdzhb: mov r3, #0h mov a, r0 mov r4, a idtl: mov a, r4 mov b, #10 mul ab mov r4,a mov a,#10 xch a,b xch a,r3 mul ab add a,r3 11 xch a,r4 inc r0 add a,r0 xch a,r4 addc a,#0 mov r3,a djnz r2,idtl ret btod: clr a mov r4,a mov r5,a mov r6,a mov r7,#16 btod1 : clr c mov a,r3 rlc a mov r3,a mov a,r2 rcl a mov r2,a mov a,r6 addc a,r6 da a mov r6,a mov a,r5 addc a,r5 da a mov r5,a mov a,r4 addc a,r4 da a mov r4,a bjnz r7,btod1 ret ndiv1: mov a,r3 clr c subb a,r7 mov a,r2 subb a,r6 jnc ndiv5 mov r0, #16 ndiv2:clr c mov a,r5 rlc a 12 mov r5, a mov a,r4 rlc a mov r4,a mov a,r3 rlc a mov r3,a xch a,r2 rlc a xch a,r2 mov f0,c clr c subb a,r7 mov a,r2 subb a,r6 jb f0,ndiv3 jc ndiv4 ndiv3: mov r2,a mov a,r1 mov r3, a inc r5 ndiv4: djnz r0, ndiv2 clr f0 ret ndiv5: setb f0 ret 五、系统的设计调试方法五、系统的设计调试方法 5.1、主程序、主程序 首先让显示器显示为 0010(hz) 用定时器软件 t定时=50ms,则 t=2t定时=1000mms=0.1s 则其频率为 f=10hz 调试修改: t定时=5ms, 则 t=2t定时=10ms=0.01ms, 则 f=100hz t定时=0.5ms, 则 t=2t定时=1ms=0.001ms, 则 f=1000hz 定时器的时间常数为 x(16 位)分别为:th0(高 8 位) ,tl0(低八位) 13 5.2、选择定时器、选择定时器 0,方式,方式 1 t定时=(216-x)12fosc, fosc=8mhz=8106 设定频率值求 f 求 t 求 t定时(采用倒求法) 则 t定时=t/2=1/2f 代入上式 t定时=(216-x)12/focs,得 1/2f=(216-x)12/focs 则 x=216-focs/2f12=216-8106/24f=216-106/3f=f2fbh(运用乘除法程序) 5.3、计算、计算 f (根据其范围是多大值,然后分配存储器,如果结果是小于 256 就使用一个 单元存储,如果是大于 256 则就应该使用多个单元存储。 ) 已知=101000(这是需要把十进制数转换为十六进制)算出结果占两个单元 (高 8 位 60h 和低 8 位 61h) ,分别装在片内 ram 内。 5.4、初始值(即频率刚开始时)、初始值(即频率刚开始时) 频率 f=10 把其装入 60h 和 61h 内,如果是 000ah 则 60h 为 00,61h 为 0a 显示(按十进制显示)时,将(60h) (61h)内容值转换为十进制数(这是需 要一个转换程序) 转换后,会出现千、百、十、个 则显示器上会显示:灭 灭 灭 灭 千 十 百 个(hz) ,地址分别为: 7e、7d、7c、7b、 7ah、79h、78h、77h 根据上述条件执行下列步骤:ft-t定时x-t定时 5.5、编写定时器、编写定时器 0 的中断服务子程序的中断服务子程序 每当定时时间到,对 p1.7 求反然后修改频率值,设一个键(即为增加键)如示 意图: 判断:p1.7=0 说明按下键 使(60h) (61h)内容加 1,也就是 f+1 实行循环指令,从四4 处开始循环。 (将其转换为十进制数寄存在显示器内并不断显示 出来) 六、设计体会六、设计体会 在单片机课程设计中,我不仅加深了对单片机理论的理解,将理论很好地 14 应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地 战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈, 不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也 许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为 我们而敲响。 但是,由于平时对单片机知识学习得不够扎实,理解得不够透彻、一知半 解,致使在运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论