南京大学金陵学院 毕业论文(设计)
图3.6 数码管显示电路
我们知道共阴和共阳结构的LED显示器各笔划的段名和安排的位置是相同的。当其中的二极管导通时,相应的笔划部分会发亮,由发亮的笔划段组合而显示的各种字符。其中的8个笔划段a、b、c、d、e、f、g、dP对应于一个字节(8位)的D0、D1、D2、D3、D4、D5、D6、D7。如下表1.1,用LED显示器显示十进制转换成十六进制数的字形代码[2,4]。 麸肃鹏镟轿騍镣缚縟糶。 表1.1 数制转换
字形 0 1 2 3 4 5 6 7 8 共阳极代码 共阴极代码 字形 共阳极代码 共阴极代码 C0H F9H A4H BOH 99H 92H 82H F8H 80H 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 9 A B C D E F 灭 90H 88H 83H C6H A1H 86H 8EH FFH 6FH 77H 7CH 39H 5EH 79H 71H 00H
南京大学金陵学院 毕业论文(设计)
3.1.5系统总体电路图
3.8系统总体电路图
3.2软件设计
3.2.1关于信号处理的介绍
在频率计数器开始工作,或者完成一次简单的频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。納畴鳗吶鄖禎銣腻鰲锬。 首先定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。利用计数闸门结束时TR清0,停止计数。计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,我们发现若其中的该位不为0,一旦满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度不断加大,直到10倍,我们需要重新对待测信号的技术,直到满足测量数据有效位数的要求,达到预期的期望[6]。風撵鲔貓铁频钙蓟纠庙。 等到被测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的P3.4引脚,为单片机测信号频率提供有效的输入信号。单片机通过检测P3.4引脚来判断是否能够启动测周期程序。当该引脚为高电平时则等待,知道该引脚出
南京大学金陵学院 毕业论文(设计)
现低电平时才开始测周期。首先我们要将零赋给TH0、TL0两个寄存器不断的输入,将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0终端,然后再判断P3.4引脚是否还为低电平,这个时候我们要当不是低电平时等待。灭嗳骇諗鋅猎輛觏馊藹。 3.2.2关于终端控制
由于我们在程序设计中用到中断方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。
其实中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。单片机的这一种工作过程称为中断方式。在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才能够暂停执行主程序,转去执行或处理其他的中断服务程序,执行完中断服务程序的过程中,再返回到主程序继续运行。我们在基于资源共享原则上的中断技术,在计算机中得到了广泛的应用。中断技术能实现CPU与外部设备的并行工作,利用提高CPU的利用率的方式以及数据的输入/输出效率;我们的中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:硬件、运错误及程序等方面的故障;中断技术还能使我们通过键盘不断的发出请求命令,随时跟进对运行中的计算机进行干扰,而不用先停机处理,然后再重新开机等方式进行[6]。
铹鸝饷飾镡閌赀诨癱骝。 3.2.3关于控制寄存器
TCON寄存器既参与中断控制又参与定时控制。现对其定时功能加以介绍。其中有关定时的控制位共有4位:
F0和TF1——利用计数溢出标志位当计数器计数溢出(计满)时,该位置显示为“1”;当我们使用查询方式来查询时,此位作状态位供查询,但在选用中断方式的时候,此位作中断标志位,在转向中断服务程序时也应该由硬件自动清“0”。攙閿频嵘陣澇諗谴隴泸。 TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。趕輾雏纨颗锊讨跃满賺。 中断允许控制寄存器(IE)
南京大学金陵学院 毕业论文(设计)
定时器/计数器提供给用户使用的有:8位计数器TH和TL,以及有关的控制位。这些内容只能以软件方法使用。夹覡闾辁駁档驀迁锬減。 我们知道能够产生中断申请的部件被称为中断源。51单片机提供了五个中断源:两个外部中断源和三个内部中断源。每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。一共有六个中断标志位才行。视絀镘鸸鲚鐘脑钧欖粝。 另外定时器/计数器的两个作用是用来精确的确定某一段时间间隔(作定时器用)或累计外部输入的脉冲个数(作计数器用)。偽澀锟攢鴛擋緬铹鈞錠。 当89C51内部的定时器/计数器被选择为定时器工作方式的时候,计数输入信号是内部时钟脉冲,每当机器周期迅速产生一个脉冲使计数器增一个。由此看出,定时器/计数器的输入脉冲周期与机器周期其实是一样的,实际为振荡频率的1/12。所以当我们采用1.2MHz频率的晶体时,实际计数器的频率可为100KHz,当输入时间脉冲的单位周期间隔为1μs。我们知道由于定时的精度决定于脉冲的周期,因此,当单片机系统需要高精度的定时器时,尽量选择频率较高的晶体最为适宜,才能得到比较好的效果[7]。緦徑铫膾龋轿级镗挢廟。
南京大学金陵学院 毕业论文(设计)
第四章 调试测试
4.1软件的编译调试
0错误0警告并生成了gujiazhu.hex的HEX文件
4.2载入单片机后的测试
输入1HZ
0误差。 输入100Hz