单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
目 录
第1节 引 言„„„„„„„„„„„„„„„„„„„„„„„„„„1
1.1 系统概述 „„„„„„„„„„„„„„„„„„„„„„„„1
1.2 设计任务 „„„„„„„„„„„„„„„„„„„„„„„„1
第2节 系统硬件设计„„„„„„„„„„„„„„„„„„„„„„„2
2.1 系统的硬件构成及功能„„„„„„„„„„„„„„„„„„„2
2.2 AT89C2051单片机及其引脚说明„„„„„„„„„„„„„„„2
2.3 CD4511芯片说明„„„„„„„„„„„„„„„„„„„„„„3
2.4 LED数码管显示说明„„„„„„„„„„„„„„„„„„„„4
2.5 硬件电路„„„„„„„„„„„„„„„„„„„„„„„„„6
第3节 系统软件设计„„„„„„„„„„„„„„„„„„„„„„„7
3.1 系统的主程序设计„„„„„„„„„„„„„„„„„„„„„7
3.2 系统的源程序设计„„„„„„„„„„„„„„„„„„„„„7
第4节 系统调试与测试结果分析„„„„„„„„„„„„„„„„„„9
第5节 结束语„„„„„„„„„„„„„„„„„„„„„„„„„„„10
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11
- 1 -
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
基于单片机的窄带脉冲宽度检测
第1节 引 言
一般单片机能够检测较宽的脉冲,但很难检测窄带脉冲,该系统只要是用于检测
窄带脉冲,并显示其宽度的功能。
1.1 系统概述
本系统使用AT89C2051单片机,利用定时器T1门控GATE的功能,测量引脚
INT1
出现的正脉冲宽度,并用LED数码管显示出来。 上
1.2 设计任务
设计要完成的任务有硬件设计和软件设计。硬件方面,AT89C2051单片机的P3.3
口测试外部脉冲。P1口可以接LED数码管。软件方面,利用单片机的定时完成正脉
冲宽度的读取,然后用到P1口使LED数码管显示。
1
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
第2节 系统硬件设计
硬件电路关系到软件的编程,也要有利用系统的实际应用。
2.1 系统的硬件构成及功能
本系统有以下几个部件组成:单片机AT89C2051,CD4511芯片电源,LED数码管
等。
单片机即单片微型计算机,是集CPU,ROM,RAM,I/O口,内部总线及中断系统
于一体的微控制器,它体积小,重量轻,功能强,广泛应用于智能产品及工业自动控
制上,而51单片机是各单片机最为典型和最有代表性的一种。
电源提供单片机正常工作,单片机只需+5V的电压,可以通过220V的市电通过
变压、整流稳压来得到,维持系统的正常工作。
LED数码管用于显示所检测外部输入脉冲的宽度,直观
2.2 AT89C2051单片机及其引脚说明
AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部
自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel
MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器
结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最
低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开
销,节省了成本,提高了系统的性价比。
AT89C2051单片机是一个有20个引脚的芯片,引脚配置如图1所示。与8051相
比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引
脚下,因而芯片尺寸有所减小。
图1 AT89C2051引脚配置
AT89C2051芯片的20个引脚功能为:
VCC 电源电压。
2
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
GND 接地。
RST 复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位
至“1”。
XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2 来自反向振荡放大器的输出。
P1口 8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当作为输入并被外部
下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部
上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输
出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1” 后,可
用作输入。在闪速编程与编程校验期间,P1口也可接收编码数据。
P3口 引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。P3.6在内部已
与片内比较器输出相连,不能作为通用I/O引脚访问。P3口的输出缓冲器能接收20mA
的灌电流;P3口写入“1”后,内部上拉,可用输入。P3口也可用作特殊功能口,其
功能见表1。P3口同时也可为闪速存储器编程和编程校验接收控制信号。
2.3 CD4511芯片说明
CD4511是BCD锁存—段码译码—共阴LED驱动集成电路,其引脚如图2所示,
各引脚功能如下:
图2 CD4511各引脚配置
V:接正电源;
CC
V:接地;
SS
A, B, C, D:BCD码输入脚(A为最低位,D为最高位);
Qa~Qg:段码输出脚,高电平有效,最大可输出25mA电流;
BI:熄灭,接低电平则Qa~Qg全部输出低电平;
LT:点亮测试,接低电平则Qa~Qg全部输出高电平;
LE:锁存允许,接高电平锁存,则输出不会随BCD码输入改变
2.4 LED数码管显示说明
由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。
3
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
LED有共阴极和共阳极两种。如图所示。
二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳
极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光
二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。当在
某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各
段LED不被损坏,需外加限流电阻。
LED数码管结构原理图:
g f com a b
a
f b
g
e
c
d
dp
e d com c dp
符号和引脚
共阴极 高电平驱动 共阳极 低电平驱动
LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱
动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在
4
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
于比硬件译码有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到显示码
的轮换。从LED数码管结构原理图可知,为了显示字符,要为LED显示数码管提供
显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此
提供给LED数码管的显示段码为1个字节。各段码位与显示段的对应关系如表:
段码位
显示段
D7 D6 D5 D4 D3 D2 D1 D0
dp g f e d c b a
各段码位的对应关系
当用数据口连接LED数码管a~dp引脚时,不同的连接方法,各段码位与显示
段有不同的对应关系。通常数据口的D0位与a段连接,D1位与b段连接,„„D7
位与dp段连接,如上表所示,LED数码管显示的十六制数和空白字符与P的显示段
码。
字型 共阳极段 共阴极段 字型 共阳极段 共阴极段
0 C0H 3FH 9 90H 6FH
1 F9H 06H A 88H 77H
2 A4H 5BH B 83H 7CH
3 B0H 4FH C C6H 39H
4 99H 66H D A1H 5EH
5 92H 6DH E 86H 79H
6 82H 7DH F 84H 71H
7 F8H 07H 空白 FFH 00H
8 80H 7FH P 8CH 73H
LED显示段码
在该系统中,根据由于硬件连线的不同,各段码的关系如下:
段码位
显示段
D7 D6 D5 D4 D3 D2 D1 D0
dp b a f g c d e
因此在该系统中所出现的LED数码管显示的十六进制数和空白字符与P的显示段
码也要根据此修改。
根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,选用共阳数码管。
将AT89C2051的P1.0~P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应
的LED数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出
不同的段码,就可以控制数码管显示不同的字符。例如:当P0口输出的段码为
11000000,数码管显示的字符为0。
数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节省端
口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需要解决多位LED
数码管的“段控”和“位控”问题,本电路的通过P1口实现:而每一位的公共端,
即LED数码管的“位控”,则由P3口控制。这种连接方式由于多位字段线连在一起,
因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中
5
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输
出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。
在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管
处于“开头”状态。
2.5 硬件电路
单片机的P3.3引脚接外部的脉冲源,通过内部的定时器控制计算脉冲个数,这
与单片机的晶振频率有关。通过2片CD4511芯片输出2个4位BCD码,再输出到
LED数码管显示。其具体的系统电路图参见图3所示。
图3 系统电路图
AT89C2051
RSTVCC
P1.7
P1.6
P1.5
P1.4
P3.3
P1.3
P1.2
P1.1
P1.0
GND
+5V
+5V
D
VLT Q
cca
C CD4511 .
B .
A .
Q
V LE
ss
g
+5V
D
VLT Q
cca
C CD4511 .
B .
A .
Q
V LE
ss
g
„
„
„
„
第3节 系统的软件设计
6
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
本系统的软件设计主要是通过定时器计脉冲个数,然后显示在LED数码管上。
3.1 系统主程序设计
通过外部脉冲输入到P3.3口。当 引脚上出现高电平时,定时器T1即开始
INT1
对12分频时钟周期计数,直到 引脚变低电平为止,然后读出T1计数器的值并
INT1
显示。
图4 脉冲源
假设我们使用的脉冲源如图4所示。
3.2 系统源程序设计
ORG 0000H
AJMP START
ORG 1000H
;对定时器初始化 START:MOV TMOD,#90H
MOV TL1,#00H
MOV TH1,#00H
WAIT1:JB P3.3,WAIT1 ;等待 变低
SETB TR1 ;启动T1计数
升高 ;等待 WAIT2:JNB P3.3,WAIT2
变低 ;等待 WAIT3:JB P3.3,WAIT3
CLR TR1 ;停止T1计数
MOV A,TL1 ;读出TL1的计数值
CLR C
SUBB A,#30H
SWAP A
MOV 40H,A ;暂存A的内容
MOV A,TH1
INT1
INT1
INT1
7
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
CLR C
SUBB A,#30H
ANL A,40H
MOV DPTR,#TAB
MOV A,@A+DPTR
MOV P1,A ;输出数字
MOV R7, #200
: MOV R6, #123 ;延时程序 DLY1
: DJNZ R6, DLY2 DLY2
: DLY2
NOP
DJNZ R7,DLY1
TAB:DB C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END
8
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
第4节 系统调试与测试结果分析
9
二○一○年十月二十日
略
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
第4节 结 束 语
初学单片机,对所学知识掌握不够全面,这次的系统设计有点粗糙,正所谓困难
重重,刚好有个电子钟的课程设计,就按照它的设计过程的思想作为参考,本想把所
学知识全应用起来,做一个带创新的思路的系统设计,但是还是没有头绪。结合老师
上课所讲的,就决定做这个窄带脉冲宽度检测,因为这个对我来说比较容易理解,设
计思路比较清晰。
虽然这个设计没有经过实物器件的调试,但是我体会到了,单片机设计的整个过
程。它需要系统整体设计,硬件设计,软件设计,和调试测试等等步骤。软件设计要
和硬件设计相结合,他们是有相互联系的。在本系统中,难免有些错误,希望老师批
评指正。
《单片机》是一门实用型课程,学好这单片机对今后的工作是很有帮助的,虽然
课程已经学完,但不能把所学知识给忘了,而应该继续学习,更深层次的学习,在此
感谢在学习中给予帮助的老师和同学,把单片机学的更好,把创新应用在实践中。
10
二○一○年十月二十日
单片机课程设计————基于单片机的窄带脉冲宽度检测 prince
参考文献
[1] 贾金玲,《单片机原理及应用——理论、实验、课程设计》,电子科技大学出版社,2005年
[2] 徐永龙,《单片机原理及应用》,机械工业出版社,2004年
[3] 韩太林,《单片机原理及应用》,电子工业出版社,2004年
[4] 付晓光,《单片机原理与实用技术》,清华大学出版社,2004年
[5] 胡汉才,《单片机原理及系统设计》,清华大学出版社,2002年1月
[6] 余水宝,《单片机课程设计》,数理与信息学院,2006年6月
[7] 杨西明,朱骐,《单片机编程与应用入门》,机械工业出版社,2004年
11
二○一○年十月二十日
本文发布于:2023-11-03 01:43:48,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/169894702827205.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:基于单片机的窄带脉冲宽度检测_单片机课程设计.doc
本文 PDF 下载地址:基于单片机的窄带脉冲宽度检测_单片机课程设计.pdf
留言与评论(共有 0 条评论) |