简易频率计单片机课程设计综述Word文档下载推荐.docx
- 文档编号:18446647
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:16
- 大小:410.56KB
简易频率计单片机课程设计综述Word文档下载推荐.docx
《简易频率计单片机课程设计综述Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易频率计单片机课程设计综述Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
由于T0并不与T1同步,并且有可能造成脉冲丢失,所以对计数器T0做一定的延时,以矫正误差。
具体延时时间根据具体实验确定。
2、系统框图
本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。
可分为以下几个模块:
放大整形模块、秒脉冲产生模块、换档模拟转换模块、单片机系统、LCD显示模块。
图2系统框图
3、模块设计
(1)、硬件系统构成:
系统框图如下图2:
(2)、AT89C51单片机及其引脚说明:
89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:
4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。
引脚说明:
·
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。
当对0端口写入1时,可以作为高阻抗输入端使用。
当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。
在这种模式下,P0口具有内部上拉电阻。
在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。
程序校验时需要外接上拉电阻。
P1口:
P1口是一带有内部上拉电阻的8位双向I/O口。
P1口的输出缓冲能接受或输出4个TTL逻辑门电路。
当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。
当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。
P2口:
P2是一带有内部上拉电阻的8位双向的I/O端口。
P2口的输出缓冲能驱动4个TTL逻辑门电路。
当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。
在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。
当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄存器的内容。
当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。
P3口:
P3是一带有内部上拉电阻的8位双向的I/O端口。
P3口的输出缓冲能驱动4个TTL逻辑门电路。
当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
P3口同时具有AT89C51的多种特殊功能,具体如下表1所示:
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0)
P3.5
T1(定时器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器都选通)
表1P3口的第二功能
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。
ALE/
:
当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。
当在Flash编程时还可以作为编程脉冲输出(
)。
一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。
但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。
:
程序存储允许时外部程序存储器的读选通信号。
当AT89C52执行外部程序存储器的指令时,每个机器周期
两次有效,除了当访问外部数据存储器时,
将跳过两个信号。
/VPP:
外部访问允许。
为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,
必须同GND相连接。
需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。
当执行内部编程指令时,
应该接到VCC端。
XTAL1:
振荡器反相放大器以及内部时钟电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
在本次设计中,采用89C51作为CPU处理器,充分利用其硬件资源,结合D触发器CD4013,分频器CD4060,模拟转换开关CD4051,计数器74LS90等数字处理芯片,主要控制两大硬件模块,量程切换以及显示模块。
下面还将详细说明。
(3)、信号调理及放大整形模块:
放大整形系统包括衰减器、跟随器、放大器、施密特触发器。
它将正弦输入信号Vx整形成同频率方波Vo,幅值过大的被测信号经过分压器分压送入后级放大器,以避免波形失真。
由运算放大器构成的射级跟随器起阻抗变换作用,使输入阻抗提高。
同相输入的运算放大器的放大倍数为(R1+R2)/R1,改变R1的大小可以改变放大倍数。
系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计数。
由于输入的信号幅度是不确定、可能很大也有可能很小,这样对于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,所以在设计中采用了这个信号调理电路对输入的波形进行阻抗变换、放大限幅和整形,信号调理部分电路具体实现电路原理图和参数如下图4:
图4信号放大模块电路图
(4)、时基信号产生电路:
CD4013------双上升沿D触发器,引脚及功能见如下图5:
图5D触发器引脚及功能图
CD4013由两个相同的、相互独立的数据型触发器构成。
每个触发器有独立的数据置位复位时钟输入和Q及Q非输出。
此器件可用作移位寄存器,且通过将Q非输出连接到数据输入,可用作计数器和触发器。
在时钟上升沿触发时,加在D输入端的逻辑电平传送到Q输出端。
置位和复位或复位线上的高电平完成。
CD4060------14位二进制串行计数器,引脚及功能见如下图6:
CD4060由一震荡器和14极二进制串行计数器位组成,震荡器的结构可以是RC或晶振电路。
CR为高电平时,计数器清零且振荡器使用无效,所有的计数器位均为主从触发器CP1非(和CP0)的下降沿计数器以二进制进行计数,在时钟脉冲线上使用施密特触发器对时钟上升和下降时间无限制。
图6进制串行计数器引脚及功能图
时基信号的产生原理:
本电路采用32768HZ晶体震荡器,利用CD4060芯片经过14级分频得到2HZ的信号(32768/214),在经过CD4013双D触发器经过二分频得到0.5HZ的方波,即输出秒脉冲信号使单片机进行计数。
(5)、显示模块
1602基本技术:
1)、主要功能
A、40通道点阵LCD驱动;
B、可选择当作行驱动或列驱动;
C、输入/输出信号:
输出,能产生20×
2个LCD驱动波形;
输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6);
D、通过单片机控制将所测的频率信号读数显示出来。
2)、技术参数
2.1)极限参数表2:
名称
符号
标准值
单位
MIN
TYPE
MAX
电路电源
VDD-VSS
-0.3
7.0
V
LCD驱动电压
VDD-VEE
VDD-13.5
VDD+0.3
输入电压
VIN
静电电压
-
100
工作温度
-20
+70
°
C
储存温度
-30
+80
表2极限参数表
2.2)电参数表3:
测试条件
单位
输入高电平
VIH
2.2
VDD
输入低电平
VIL
0.6
输出高电平
VOH
IOH=0.2mA
2.4
输出低电平
VOL
IOL=1.2mA
0.4
工作电流
IDD
VDD=5.0V
2.0
mA
液晶驱动电压
VDD-VEE
Ta=0°
4.9
Ta=25°
4.7
Ta=50°
4.5
表3电参数表
3)、时序特性表4:
项目
测试条件
允许时间周期
TCYCE
5.1a5.1b
1000
ns
允许脉冲宽度,高电平
PWEH
450
--
允许上升和下降时间
tErtEf
25
地址建立时间
tAS
140
数据延迟时间
tDDR
320
数据建立时间
tDSW
195
数据保持时间
tH
10
DATAHOLDTIME
tDHR
20
地址保持时间
tAH
表4时序特性表
4)、引脚和指令功能
4.1)模块引脚功能表5:
引线号
功能
1
Vss
接地
0V
2
5V±
10%
3
VEE
保证VDD-VEE=4.5∽5V电压差
4
RS
寄存器选择信号
H:
数据寄存器L:
指令寄存器
5
R/W
读/写信号
读L:
写
6
E
片选信号
下降沿触发,锁存数据
7
|
14
DB0
DB7
数据线
数据传输
表5模块引脚功能表
4.2)寄存器选择功能表6:
操作
指令寄存器(IR)写入
忙标志和地址计数器读出
数据寄存器(DR)写入
数据寄存器读出
表6寄存器功能选择表
4.3)指令功能
格式:
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
共11种指令:
清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设
置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。
5)、显示位与DDRAM地址的对应关系表7:
显示位序号
12345………………40
DDRAM
地址(HEX)
第一行
0001020304..……………..27
第二行
4041424344…………….....67
表7显示位与DDRAM地址关系表
(6)、软件设计
1)、主程序main流程图
图7主程序流程图
四、总体设计电路仿真图
五、实物图
(1)正面
(2)反面
六、C语言源程序
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeDisp_CODE[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//'
0'
'
1'
2'
3'
4'
5'
6'
7'
8'
9'
uchardisplay_data[]={0,0,0,0};
//定义数组存放显示数据的各位
uchardisplay_bit[]={0x0e,0x0D,0x0B,0x07};
ucharCount=0;
//延时子程序
voiddelay(ucharx)
{
uchari;
while(x--)
for(i=0;
i<
10;
i++);
}
//显示子程序
voiddisplay()
{
4;
i++)
P2=display_bit[i];
P1=Disp_CODE[display_data[i]];
delay
(2);
}
}
//转换子程序
voidconvert()
unsignedintf;
f=TH1*256+TL1;
display_data[i]=f%10;
f=f/10;
}
//主程序
voidmain()
{
IE=0x8a;
TMOD=0x51;
//T1为16为计数器,T0为16位定时器,工作方式均为1
TH0=(65536-50000)/256;
//定时50ms计数初值
TL0=(65536-50000)%256;
TH1=TL1=0;
TR1=TR0=1;
while
(1)
display();
//中断子程序定时1s
voidINT_T1()interrupt1
if(++Count==20)//定时1s
{
TR1=TR0=0;
//关闭T1、T0
Count=0;
convert();
七、实验心得
通过这次课程设计,我熟悉了KeilC51编程与Proteus的使用,对单片机的使用有了更深刻的了解,在焊接与测试过程中也懂得了对任何的细节必须分外注意,不能粗心大意。
实验由两部分组成,仿真和焊板子,仿真过程用运用了keilc51软件和Proteus,通过这次课程设计,我学习了这两种软件的基本使用方法,是此次课程设计比较大的收获。
焊接过程中,由于有过焊接经历,我吸取以前的教训,在这次的焊接过程中在排版,接线上都有了很大的改善,而且焊点基本上没有虚焊,只不过焊接复位电路时没认真看仿真图,导致后面数码管虽有显示,但不对。
总之,课程设计不仅让我们温习了单片机的设计思路与编程语言,而且锻炼了我们实际动手能力,将理论与实践相结合了。
参考资料
[1]张毅坤,陈善久.单片微型计算机原理及应用.西安电子科技大学出版社,2002.
[2]张友德,赵志英,徐时亮.单片微机原理应用与实验.复旦大学出版社,2000.
[3]杨恢先,黄辉先.单片机原理技术与应用湘潭大学出版社,2013
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 频率计 单片机 课程设计 综述