毕业论文之单片机简易计算器 - C51 - MAX7219 - 图文

浙江工业大学本科毕业设计论文

显示方式, 。如果想显示较少的位数,扫描频率是8fosc/ N ,其中N 是被扫描位的个数。由于扫描的位数影响显示亮度, 限扫寄存器不适用于显示消隐部分(如先行清零) 。扫描7 位时对应的16 进制码为X7 , 随着扫描位数的减少对应的16 进制码依次减1 ,仅扫描0 位时对应的16 进制码为X0。

工作周期是31/ 32。正常测试的16 进制码为X0 ,显示测试的16 进制码为X1。 7.4.7 空操作寄存器

空操作寄存器在MAX7219 串接时使用,把所有芯片的LOAD 端连在一起, 并将DOU T 连接到下一个MAX7219 的DIN 上。DOU T 是CMOS 输出, 可以驱动后边的串接MAX7219 。例如,4 个MAX7219 串联,然后写第4 个片子, 再送入设想的16 位字, 紧跟3 个空操作码( X0 XX) ,当LOAD 升高时,所有装置的数据被锁存,前3 个芯片接到空操作命令,第4 个芯片接到设想的数据。 7.4.8 显示检测寄存器

显示检测寄存器有两种操作模式: 一般测试和显示测试。显示测试模式时所有的L ED点亮,方法是将所有控制字寄存器(包括关闭寄存器) 置成无效。在显示测试模式下扫描8 位的工作周期是31/ 32。正常测试的16 进制码为X0 ,显示测试的16 进制码为X1。

25

浙江工业大学本科毕业设计论文

表6-1寄存器地址控制字说明

D0 1D D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 X X X X 数据 地址 表6-2 寄存器地址16进制码说明

寄存器 空操作 位0 位1 位2 位3 位4 位5 位6 位7 译码模式 强度 限扫 关闭 显示测试 D15~D22 X X X X X X X X X X X X X X D7 dp 地址 D11 D10 D9 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 表6-3 软件译码数字对应的段笔划 D6 a D5 b D4 c D3 d D2 e 16进制码 D8 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D1 f X1 X2 X3 X4 X5 X6 X7 X8 X9 XA XB XC XD XF D0 g 寄存器数据 对应的段笔划 表6-4 译码模式寄存器示例 操作 D7 不对0~7译码 不对0位译码,不对1~7位译码 对0~3 位译码,不对4~7 位译码 对0~7 位译码 0 0 0 1 D6 0 0 0 1 D5 0 0 0 1 寄存器数据 D4 0 0 0 1 D3 0 0 1 1 D2 0 0 1 1 D1 0 0 1 1 D0 0 0 1 1 16进制码 00 01 0F FF 7.5 数据显示子程序

显示数据的编码,将要显示的数据编码,传输给MAX7219,MAX7219将数据解码,驱动数码管的显示。同时设置MAX7219的显示的一些设置。掉电控制寄存器设置为正常操作、扫描边界,显示8位、亮度控制、译码方式、最大显示结果。

26

浙江工业大学本科毕业设计论文

7.6 主函数

如图6-4所示为设计的主函数。

初始设置定义变量第一组数输入完成?完成未完成输入第一组数字,设置标志位数字显示运算符输入?存储运算符标志输入第二组数字,设置标志位第二组数输入完成?完成未完成数字显示是输入等号?是数学计算送显示否“CL”按下?是变量重置图6-4 主函数程序流程图

程序功能主要实现最本设计(简易计算器)的最核心部分,计算键盘输入的值并输出结果。同时计算结果溢出,驱动P3.4口的蜂鸣器长鸣1s,提示用户计算结果溢出。

27

浙江工业大学本科毕业设计论文

第八章 总结与展望

设计完整的实现了课题所要求的内容,期间虽然道路坎坷,但是最终我们确立了设计方案,完成PCB图,仿真,程序以及实物的制作,并且全部实现课题所要求的效果。在课题的实现制作过程中学习和巩固了许多知识,比如单片机的相关知识,单片机C语言的相关知识,特别是C语言,在以前,我们学习C语言只学习到了些许皮毛,没有太深入的企业理解和C语言,这次课题比较需要比较的深入的去学习C语言。同时,也理解到了团队合作精神的重要性。这次课题也培养了我们认真思考,观察,动手,发现以及遇到问题的解决能力。同时,这次毕业论文课题的制作,是对大学三年所学知识的一个小汇总。也学习和巩固了很多软件,比如Altium DXP、Proteus ISIS、KEIL、C-Free、MS Office、STC ISP、Atmel ISP、Adobe Photoshop等计算机应用软件。

28

联系客服:779662525#qq.com(#替换为@)