毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

51单片机函数信号发生器设计+原理框图+流程图+源代码 第7页

更新时间:2010-9-20:  来源:毕业论文
51单片机函数信号发生器设计+原理框图+流程图+源代码 第7页
5  系统软件设计5.1 单片机MCS-51系列简介
  关于单片机MCS-51的编程目前比较多用的是汇编和C语言:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。 因此本设计采用C语言编写。
  本设计采用Keil C51软件进行编程,Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用,给我在设计中带来很大的方便。毕业论文http://www.751com.cn
5.2 MAX7219模块驱动程序
 MAX7219是共阴极显示驱动器,DIN为串行数据输入端,在CLK的上升沿,数据被装入到内部的16位移位寄存器中;CLK为串行时钟输入端,最大速率为10MHz,在CLK的上升沿,数据被移入内部移位寄存器,在CLK的下降沿,数据被移至DOUT端;LOAD为装入数据控制端,在LOAD的上升沿,最后移入的16位串行数据被锁存到数据或控制寄存器中。
MAX7219片内寄存器分为8个数位寄存器和6个控制寄存器。规定16位二进制数据为一串行数据包,其格式如表5-1所列。本文来自辣.文^论^文·网
表5-1 串行数据格式
其中D15~D12位不用,可为任意值;D11~D8为内部控制寄存器和显示数据寄存器的地址,地址编码如表5-2所列;D7~D0为5个控制寄存器的命令字或8个待显示的数据。D15为串行传送的第一位,D0为最后一位。16位数分成二字节,第一字节是地址,第二字节是数据。
表5-2 寄存器地址分配
译码方式寄存器:决定数位寄存器的译码方式。可将数位寄存器工作方式设置为BCD译码方式——B码方式或不译码方式。译码方式适用于驱动LED数码管,不译码方式适用于驱动条图显示器。译码方式寄存器的每位对应一个数位,1为B码方式,0为不译码方式。
数位寄存器:数位寄存器决定该位LED显示的内容。采用B码方式时,要在指定数位上显示字符,只要按B码字符表将字符代码写入相应的数位寄存器即可。B码对应的字符如表3所列,其中D7位控制小数点:1为点亮小数点;0为不点亮。
亮度控制寄存器:当采用数字控制方式时,可通过D3~D0位控制内部脉宽调制DAC的占空比来控制LED段电流的平均值,从而控制LED的亮度。当D3~D0为0000~1111时,电流占空比从1/32变化到31/32,共16级,每级变化2/32;而D7~D4位可任意。D3~D0的值越大,LED显示越亮。在模拟控制方式时,调节V+与Iset端之间的外接电阻Rset的阻值可控制LED段电流的大小,达到硬件调节亮度的目的。
扫描范围寄存器:设置显示数据位的个数。该寄存器的低3位(D2~D0)指定要扫描的位数,可从1到8。各数位以1300Hz的扫描频率被分路驱动。
关断寄存器:其中D7~D1任意。D0为0,关闭所有显示器,但各寄存器中的数据保持不变;D0为1,正常显示。
显示测试寄存器:用于检查各LED或数码管各段的好坏。其中D7~D1位任意。D0为1,LED处于显示测试状态,所有8位LED的段被扫描点亮,电流占空比为31/32;D0为0,处于正常工作状态。
MAX7219与AT89S52芯片编程主要分为三部分:初始化子程序、送显子程序、数据传送。初始化程序主要是对MAX7219的显示模式、显示亮度、显示位数等进行初始化。本系统中主要的初始化部分是选择每一显示位相应的显示方式为全译码方式,即给译码方式寄存器X9H 单元送相应的数值0FFH;限制显示扫描显示位数为8位,即给扫描限制寄存器XBH 单元送相应的数值07H。
数据传送子程序是根据器件的传送时序编写的子程序,其主要功能是串行传送数据。送显程序的功能是将要显示的数值送到MAX7219的数据寄存器里,使其显示出来。
程序的三个I/O为:P3.5----DIN数据输入管脚
P3.6----LOAD锁定输入管脚
P3.7----CLK时钟输入管脚相
图5-1 显示总体流程图
5.2.1 初始化程序
init_7219()
{tran_to_7219(0x00,0x0c); 

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

51单片机函数信号发生器设计+原理框图+流程图+源代码 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。