基于单片机的数字式频率计-毕业设计.docx

上传人:豆**** 文档编号:29908076 上传时间:2022-08-02 格式:DOCX 页数:49 大小:1.05MB
返回 下载 相关 举报
基于单片机的数字式频率计-毕业设计.docx_第1页
第1页 / 共49页
基于单片机的数字式频率计-毕业设计.docx_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《基于单片机的数字式频率计-毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字式频率计-毕业设计.docx(49页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、毕业设计说明书 课题名称: 基于单片机的数字式频率计专业名称: 电子信息技术 学生姓名: 学生学号: 指导老师: I 摘 要通过本次设计,使我们能够掌握单片机应用技术及MCS-51汇编语言程序设计方法,从而真正获得一技之长,以利于今后自身的发展。此书是介绍用AT89S52单片机的I/O口实现数字式频率计功能的过程。其中包括方案的选择,用Protel99软件画电路原理图、PCB印制电路板图,以及复位模块、时钟模块、显示模块、按键模块、驱动模块等功能模块硬件电路的设计。然后根据硬件系统的功能要求进行程序设计,从最基本的P点显示程序设计,自动运行程序设计到最后的调整运行程序的设计。本次设计的数字式频

2、率计能正确测量特定信号频率、周期、脉宽、占空比。电源通电后,单片机最小系统会自动显示提示符“P.”等待功能键按下。分别按下“A、B、C、D键”,系统会分别相对地进入测频率、测周期、测脉宽及测占空比状态。该数字式频率计人机界面友好,系统的控制按钮不多,操作顺序简单明了。本次设计采用汇编语言编写所有程序,同时使用keillC51软件对程序进行了调试。在设计中使用的PROTEL及WORD等软件也发挥了巨大功用。关键字 AT89S52,软件编程,数字式,频率计目 录第 1章 设计方案论证11.1 总体方案11.2 各种参数测量方案1 1.2.1 频率测量1 1.2.2 周期测量2 1.2.3 脉宽测量

3、2 1.2.4 占空比测量21.3 各部分硬件电路设计方案2 1.3.1 键盘、显示接口电路2第 2章 工作原理7第 3章 电路原理图8第 4章 元件清单9第 5章 电路原理介绍115.1 电源电路11 5.1.1 电源总体设计11 5.1.2 电源各部分简介11 5.1.3 电源参数的计算125.2 硬件系统中的电路模块14 5.2.1 键盘/显示接口电路14 5.2.2 时钟电路模块15 5.2.3 键盘接口电路模块15 5.2.4 复位电路模块165.3 下载线电路介绍17第 6章 各参数测量原理186.1 频率测量186.2 周期测量18 6.3 脉宽测量19 6.4 占空比测量19第

4、 7章 主要芯片介绍207.1 AT89S52芯片20 7.2 74LS244芯片21第 8章 硬件分配23第 9章 存储器地址分配249.1 RAM区资源的分配24第10章 流程框图2510.1 显示子程序流程图25 10.2 键控程序流程图26 10.3 测频率程序流程图27 10.4 测周期程序流程图28 10.5 测脉宽程序流程图29 10.6 测占空比程序流程图30 10.7 键扫子程序流程图31第11章 程序清单32第12章 使用说明及注意事项52结束语53参考文献54附图55致谢567 第1章 设计方案论证1.1 总体方案 本次毕业设计的任务是设计一个具有测量特定信号频率、周期、

5、脉宽、占空比功能的数字式频率计。按照要求,我们设计的数字式频率计总体图如图1-1所示:图1-1 AT89S52式频率计方案框图1.2 各种参数测量方案1.2.1 频率测量方案一:电桥法测频是利用交流电桥的平衡条件和电桥电源频率有关这一特性来测频的,在电桥面板上将调节电桥平衡的可变电阻(或电容)的调节旋钮(度盘)按频率刻度,则在电桥指示平衡时,测试者便可从刻度上直接读得被测信号频率。这种电桥测频的精确度约为(0.51)。在高频时,由于寄生参数影响严重,会使测量精确度大大下降,所以这种电桥测频法仅适用于10kHz以下的音频范围。方案二:比较法测频就是用标准频率fc与被测频率fx进行比较,当把标准频

6、率调节到与被测频率相等时指零仪表(零示器)便指零,此时的标准频率值即被测频率值。比较法测频可分为拍频法测频与差频法测频两种。前者是将待测频率信号与标准频率信号在线性元件上叠加产生拍频。后者是将待测频率信号与标准频率信号在非线性元件上进行混频。目前拍频法测量频率的绝对误差约为零点几赫兹,差频法测量频率的误差可优于10-5量级,最低可测信号电平达0.1V1V。拍频法和差频法在常规场合很少采用。方案三: 使用定时器/计数器0和1, 其中定时器1为计数工作方式,定时器0为定时工作方式,并且定时的时间为1秒,在一秒内计算信号的高脉冲次数,得到的高脉冲数值便是被测信号的频率。从编程难易及单片机资源利用情况

7、和测量误差角度考虑,选择方案三。1.2.2 周期测量方案一:可以所求出的频率,利用公式T=1/F,求出周期。方案二:使用定时器0,其中定时器0为定时工作方式,检测信号输入口经过一次高低电平变化后所需的时间,得到的数值便是被测信号的周期。方案一过程冗繁,误差过大,因此选择方案二。1.2.3 脉宽测量方案一:可直接在示波器读出某个高电平时间,及脉宽长度。此种方法所测数据误差较大,不宜采用。方案二:测输入信号的脉冲宽度,同样用定时器0计算输入口经过一次高电平所需的时间,得到的数值便是被测信号的脉宽。此种方法精度较高,可以采用。1.2.4 占空比测量方案一:直接从示波器读出周期及某一高电平时间,利用公

8、式可得占空比,如前所述误差过大。方案二:调用测脉宽和测周期子程序,再对测得的数据进行处理,送入除法子程序,除得的商值便是被测信号的占空比。1.3 各部分硬件电路设计方案单片机(AT89S52)为核心的数字式频率计,完成特定信号频率、周期、脉宽、占空比测量。1.3. 键盘、显示接口电路键盘、显示是单片机应用系统不可缺少的输入和输出设备, 是实现人机对话的纽带。键盘/显示器接口的设计,它应满足1)功能技术要求;2)可靠性高。但系统不同要求就不同,接口设计也就不同。对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。在应用系统设计中,一般都是把键盘和显示器放在一起考虑的,下面主要论证几

9、种实用的键盘、显示器接口电路的方案。方案一:8279键盘、显示器接口电路8279是专用键盘、显示控制芯片,单个芯片就能完成键盘输入和LED显示控制两种功能。能对显示器自动扫描;能识别键盘上按下键号,可充分提高CPU工作效率。8279与MCS-51接口方便,由它构成的标准键盘、显示接口在单片机应用系统中使用愈来愈广泛。8279键盘配置最大为88,显示器最大配置为16位显示。运用8279编程比较困难,一般用动态显示,抗干扰能力差。原理图如图1-2:AT89S528279驱动器键 盘译码器显示器驱动器译码器图1-2 8279键盘、显示接口原理框图方案二:I/O口直接应用构成键盘、显示接口电路,原理图

10、如图1-3:AT89S52键 盘显 示图1-3 I/O口直接应用构成键盘、显示接口电路(1) 键盘接口电路独立式键盘:独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大。故在按键数量不多时,常用这种键盘。行列式键盘:又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。因此,在按键数量较多时,可以节省I/O口线。(2) 显示接口电路单片机应用系统中,使用的显示器主要有LED数码管显示器和LCD液晶显示器。LED显示器成本低廉,配置灵活,与单片机接口方便。LCD是一种极低功耗的显示器件,在袖珍式仪表或低功耗应用系统中使用较多

11、。故仅讨论由LED构成的显示接口电路。LED显示器有静态显示与动态显示两种方式。 静态显示方式:静态显示时,较小的驱动电流就可以得到较高的显示亮度,而且稳定性好。动态显示方式:在多位LED显示时,为了简化电路,降低成本,一般采用LED动态显示电路。根据设计的要求衡量后,决定采用独立式键盘和动态显示方式接口电路,均以查询方式工作。方案三:利用8155、8255扩展I/O口构成,原理图如图1-4:AT89S52AT89S528155825574LS37374LS244显示键盘显示键盘图1-4 扩展I/O口键盘、显示接口原理图其键盘与显示电路接口方式在第二方案中已详细分析,在此不再赘述。此方案运用芯

12、片多,成本高,本设计的系统较小,没必要用8155、8255扩展。此方案同样是用动态显示,不适合设计要求。 方案四:采用74LS164构成键盘、显示接口电路,如图1-5:MCS-51单片机应用系统中,当用于键盘、显示器接口时,使用串行输入、并行输出移位寄存器74LS164,每接一片74LS164可扩展一个8位并行输出口,AT89S52独立式键盘74LS164静态显示74LS164图1.3.5 74LS164构成键盘、显示接口原理图1-5 74LS164构成键盘、显示接口原理用以连接一个LED段选口作静态显示或作键盘中的8根列线使用。采用这种方案电路接线复杂,用到的芯片较多,而且不易编程。综合以上

13、方案,决定选择第二种方案。我们充分论证,对各种方案进行了多次比较和实验,采用准确适当的算法,力求减小系统误差、提高测量精度,根据设计任务的要求,从各元器件的配置和利用率,电路的稳定性,器件的成本等各方面的考虑,从而选择适合本次设计的最佳方案。第2章 工作原理根据数字频率计所选方案可知,在AT89S52的P0口和P2口外接由六个LED数码管(LED5LED0)构成的动态显示器,用P0口作LED的段码输出口(P0.0P0.7对应于LED的adp),P2.5P2.0作LED的位控输出线(P2.5P2.0对应于LED5LED0),由两块74lS244芯片做驱动电路。P1口外接四个按键A、B、C、D(对

14、应于P1.0P1.3)。系统晶振采用6MHz,定时采用定时器与软件循环相结合的方法。A键按下测频率,再次按下A键,恢复显示程序;B键按下测周期,再次按下B键,恢复显示程序;C键按下测脉宽,再次按下C键,恢复显示程序;D键按下测占空比,再次按下D键,恢复显示程序;测输入信号的频率,使用定时器/计数器0和1, 其中定时器1为计数工作方式,定时器0为定时工作方式,并且定时的时间为50毫秒,定时次数20次,在一秒内计算信号的高脉冲次数,得到的高脉冲数值便是被测信号的频率,测信号周期,使用定时器0, 其中定时器0为定时工作方式,检测P3.2口经过一次变高变低电平变化后所需的时间,得到的数值便是被测信号的

15、周期,测输入信号的脉冲宽度,同样用定时器0计算P3.2口经过一次高电平所需的时间,得到的数值便是被测信号的脉宽。系统显示电路采用LED动态扫描显示原理,能及时刷新显示内容并且在规定的时间内调一次显示子程序,以保证显示器不灭。第3章 电路原理图图3-1 基于单片机数字式频率计原理图9第4章 元件清单表4-1:元件清单元器件名称数量(个)型 号封装形式单片机1AT89S52DIP40四位一体数码管2共阳极LED按键5SW-PB1晶振16MHzXTAL1驱动芯片274LS244DIP20瓷片电容233pFRAD0.2电解电容122FRB.2/.4插针2(排)SIP40插座2(排)SIP40接口插座1

16、DIP10电阻10.2KXAIAL0.411KXAIAL0.4上拉电阻410KXAIAL0.4限流电阻80.2KXAIAL0.4单面敷铜板13040导线若干 表4-2:电源电路元件清单元器件名称数量(个)型 号封装形式变压器1开关1DIP6整流二极管4IN4001DIODE0.4保护二极管1IN4001DIODE0.4稳压三极管1L7805CV2SK213散热片1电解电容2470FRB.3/.6瓷片电容20.01RAD0.2限流电阻10.3KXAIAL0.4电源指示灯1LEDLED-0输入输出接口2DIP2表4-3:下载线电路元件清单元器件名称数量(个)型 号封装形式DB25并行插头(俗称公头

17、)1DB25DB25RA/M接口盒套件1套驱动芯片174HC373DIP20数据线(8根并行)1L=50cm下载线接头1DIP1015第5章 电路工作原理介绍5.1 电源电路5.1.1 电源总体设计电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等。根据调整元件与连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成,设计框图5-1:输出电压U2输入电压U1电源变压器整 流滤 波电 路稳压电路图5-1 电源设计框图5.1.2

18、电源各部分简介1) 电源变压器电源变压器作用是将电网220V的交流电压V1变换成整流滤波电路所需的交流电压V2。变压器副边与原边的功率比P2/P1=,式中为变压器的效率。2) 整流滤波电路整流电路将交流电压变成单向脉动的直流电压。滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压。常用的整流电路有全波整流电路、半波整流电路、桥式整流电路及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流电路克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,与半波整流电路相比较,其输出电压提高,脉动

19、成分减少了。整流电路将交流电变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路的后面加接滤波电路,以滤去交流成分。滤波电路常见的有电容滤波电路、电感滤波电路及型滤波电路。本设计采用电容滤波电路。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压U0=0.9V,接上电容滤波后,空载时的输出直流电压U0=UC=U2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数RLC有关,RLC越大,U0越大。3) 稳压电路稳压电路的作用是当输入交流电源电

20、压波动、负载和温度变化时,维持输出直流电压的稳定。由于三端式稳压器只有三个引出端子,具有应用时外接元件少、使用方便、性能稳定、价格低廉等优点,因而广泛应用。三端式稳压器有两种,一种称为固定输出三端稳压器,另一种称为可调输出三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。三端固定输出集成稳压器通用产品有CW7800T系列和CW7900系列。正压系列:CW7800系列,该系列稳压块有过流、过热和调整管工作保护,以防过载而损坏。一般不需要接元件即可工作,有时为改善性能也加少量元件。负压系列:CW7900系列与CW7800系列相比,除了输出电压极性、引脚定义不同外,其它特点都相同。稳

21、压电源的技术指标分为两种:一是特性指标:包括允许的输入电压、输出电压、输出电流及输出电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数(或电压调整流器率)、输出电阻(或电流调整率)、温度系数及纹波电压等。5.1.3 电源参数的计算直流稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。在设计过程中所用到的电源有+5V,+5V的电源所用到的集成稳压器为CW7805、CW7812、CW7912.下面以CW7805为例进行计算。根据要求V0=+5V,稳压系数为0.2%,故可用集成稳压(W7805)。CW7805的稳压差为U1U22

22、V,所以根据公式U1=(23)+U2,现在为了留有余量,取3V,其输入电压为U1=5+3=8V。稳压器的输入电流即为整流滤波电路的负载电流,故I1=I0(max)+ID=300+8=308mA。由变压器副边电压: 令取U2=7V 式(5-1)整流二极管和滤波参数确定:正向平均电流: 最大反向电压: URMUR(max)=2U2=10V 式(5-2) 所以整流二极管选用其耐压值为50V,最大电流为1A的整流器二极管IN4004。滤波电容的参数计算: 因此,取C=1000 F电容的耐压: 式(5-3)取UCM25V,故滤波电容参数为C:1000 F/25V副边电流有效值:IZ=(1.52)IL=(

23、1.52)308=462616mA取IZ为500 mA副边容量:P2=U2I2=70.5=3.5VA 式(5-4) 原边的容量: 取T=0.6 ; 式(5-5)故平均容量为:因此取P=10V 5.2 硬件系统中的电路模块5.2.1 键盘/显示接口电路本课程设计的按盘采用独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图5-2:图5-2 独立式键盘按键原理图按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路不可接上拉电阻。

24、独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。具体编程见程序清单。LED显示器由七段数码管组成。数码管外型结构图如图5-3:图5-3 LED外型结构 图5-4 共阳极接法共阳/共阴数码管的8个发光二极管阳极/阴极连接在一起,如图5-4和图5-5。通常,公共阳极接高电平(一般接电源),公共阴极接低电平(一般接地),其它管脚接驱动电路输出端。当某段驱动电路的输出端为低/高电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电

25、路能吸收额定段导通电流来确定相应的限流电阻。图5-5 共阴极接法本课程设计的显示采用动态显示。动态显示是一位一位的轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。各位数码管的段选线相应并联在一起,由P0口8位的I/O口控制,各位选线由P2口的6位的I/O控制。显示时,先给各数码管送字型代码,再逐位循环扫描,由于扫描时间以微秒级计算和人眼的视觉待留效应,给人的感觉是六位数码管同时显示。5.2.2 时钟电路模块图5-6 时钟电路AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而图在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微

26、调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图5-6所示。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.234MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也快。MCS-51D 在通常情况下,使用振荡频率为6 MHz和12MHz。本设计方案中采用晶振为6 MHz。5.2.3 键盘接口电路模块又若干个按键组成的键盘,其电路结构可分为独立式键盘和矩阵式键盘由若干个按键组成的键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。简图5-7 独立式按键电路易电子钟系统中,只需几个功

27、能键,因此采用独立式按键结构。 独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个铵键单独占用一根I/O口线,每根I/O口线,每个按键的工作不会影响其他I/O口线上的状态,如图5-7所示。独立式按键电路配置灵活,软件结构简,如图所示中按键输入均采用低电平有效,此外,上拉电阻保证了按键 断开时,I/O口线有确定的高电平。独立式按时按键的软件采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的提案键已按下,然后,再转向该键的功能处理程序。5.2.4 复位电路模块图5-8 按键复位电路复位操作有两种基本形式:一种是上电复位,另一种

28、是按键复位。上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。而按键复位具有上电复位功能外,若要复位,只需按图中的RST键,电源VCC经电阻R1、R2分压(R1、R2分别为图中的200、1K电阻),在RST端产生一个复位高电平 。按键复位电路原理图如图5-8所示。单片机复位期间不产生ALE和/PSEN信号,即ALE=1和/PSEN=1。这表明单片机复位期间不会有任何取指操作。复位后:PC值为0000H,表明复位后程序从0000H开始执行;S

29、P值为07H值,表明堆栈底部在07H,需重新设置SP值;单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。所以本设计采用第二种方案,即上电复位与按键复位均有效的复位电路。5.3 下载线电路介绍下载线电路以一块74HC373芯片为主,电路原理图如图5-9所示。由于电路中只用了一片74HC373所以完全可以把电路装在DB25插针式并口插头内部,这个可以做到很小巧,可以很方便的使用。为了稳定也可以芯片外围加一些电阻、电容等元件,具体电路网上有提供下载。光是做好下载线是不行的,S51系统的ISP下载方式还要求要下载程序单片机运行在最小化系统中。只要把的相应引脚连接起来就可

30、以对S51进行ISP下载了。要接的引线是S51的6,7,8,9,20,40引脚。晶振可以在3M24M间选用,当然是看你的目标板而选择。为了方便使用我们需要做一个下载头,电路简单接线正确的话一般无需要调整就可以正常使用,如有问题可以用软件中的IspTest.exe(下载线调试程序)检查你的74HC373芯片是否正常和你的电脑并口是否正常,检查的方法是按程序的中按键再用万用表看看相关的引脚电平是否正常。注意:软件只支持LPT1(378H)图5-9 下载线电路原理图 45第6章 各参数测量原理6.1 频率测量测输入信号的频率,使用定时器/计数器0和1, 其中定时器1为计数工作方式,定时器0为定时工作

31、方式,并且定时的时间为50毫秒,定时次数20次,在一秒内计算信号的高脉冲次数,得到的高脉冲数值便是被测信号的频率,如图6-1:6.2 周期测量测信号周期,使用定时器0, 其中定时器0为定时工作方式,检测P3.2口经过一次变高变低电平变化后所需的时间,得到的数值便是被测信号的周期,如图6-2:6.3 脉宽测量测输入信号的脉冲宽度,同样用定时器0计算P3.2口经过一次高电平所需的时间,得到的数值便是被测信号的脉宽。6.4 占空比测量调用测脉宽和测周期子程序,再对测得的数据进行处理,送入除法子程序,除得的商值便是被测信号的占空比。第7章 主要芯片介绍7.1 AT89S52芯片AT89S52芯片不仅提

32、供了4K字节Flash ,128字节RAM,而且还有32线I/O口,2个16位定时器/计数器,5向量两极中断,一个双工串行口,片内根据振荡器和始终电路等标准功能。此外,AT89S52设有静态逻辑,用与运行到零频率,并支持软件选择的两种节电运行方式、空闲方式使CPU停止工作,而允许RAM、定时器/计数器、串行口和中断系统继续工作。AT89S52芯片是标准的40引脚双列直插式集成电路芯片,引脚排列如图7-1所示。图7-1 AT89S52引脚信号引脚介绍如下:P0.0P0.7:P0口8位双向口线。P1.0P1.7:P0口8位双向口线。P2.0P2.7:P0口8位双向口线。 P3.0P3.7:P0口8

33、位双向口线。 (1)VCC:电源。 (2)GND:地线。(3)RST:复位端。当振荡器工作时,此引脚上出现两个机器周期的高电平将系统复位。(4)ALE/:当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低8位字节的书粗脉冲。在Flash 编程期间,此引脚也可用于输入编程脉冲(PROG)。(5):外部程序存储器读选取通信号。在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。(6)/Vpp:访问外部程序存储器控制信号。当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器:当/EA信号为高电平时,对ROMR 读操作是从内部程序存储器开始,并可延至外部程序

34、存储器。为了能够从外部程序存储器的0000H至FFFFH单元中取指令,EA必须接地,然而要注意的是,若对加密位1进行编程,则在复位时,EA的状态在内部被锁存,执行内部程序/EA时应接VCC。表7-1:P3口各引脚与第二功能表引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2/INT0外部中断0申请P3.3/INT1外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6/WR外部RAM写选通P3.7/RD外部RAM读选通7.2 74LS244芯片74LS244是一种三态输出的八缓冲器和线驱动器,该芯片的逻辑电路图和引脚图如图7

35、-2所示。从图中可见,该缓冲器有8个输入端,分为两路。图7-2 74LS244缓冲器1A11A4,2A12A4,同时8个输出端,也分为两路1Y11Y4,2Y12Y4,分别由2个门控信号1G和2G控制,当记为低电平时,1Y11Y4的电平与1A11A4的电平相同,即输出反映输入电平的高低;同样,当2G为低电平时,1Y11Y4的电平与2A12A4的电平和同。而当1G(或2G)为高电平时,输出1A11A4(或2A12A4)为高阻态。经74LS244缓冲后,输入信号被驱动,输出信号的驱动能力加大了。74LS244缓冲器主要用于三态输出的存储地址驱动器、时钟驱动器和总线定向接收器和定向发送器等。其功能如表

36、2所示H高电平、L低电平、A高阻、X任意电平。表7-2:74LS244芯片功能表输 入输 出AYLLLLHHHXX第8章 硬件分配表8-1:单片机控制系统与外围接口电路的端口分配表如下:段 控位 选按键设定P0.0 aP2.0 LED0A键(频率)接P1.0P0.1 bP2.1 LED1B键(周期)接P1.1P0.2 cP2.2 LED2C键(脉宽)接P1.2P0.3 dP2.3 LED3D键(占空比)接P1.3P0.4 eP2.4 LED4P0.5 fP2.5 LED5P0.6 gP0.7 dp第9章 存储器地址分配9.1 RAM区资源的分配表9-1:存储器地址分配列表清单如下:fosc-6

37、MHz晶振频率堆栈设定SP-60H堆栈首地址显示缓冲区7AH-7FH频率键标志位20.0H周期键标志位20.1H脉宽键标志位20.2H占空比键标志位20.3H存放频率数据31H(高位)-33H存放周期数据34H(高位)-36H存放脉宽数据37H(高位)-39H存放占空比数据3AH(高位)-3CH存放相位差数据3DH(高位)-3FH频率小数点标志存储单元41H周期小数点标志存储单元42H脉宽小数点标志存储单元43H占空比小数点标志存储单元44H相位差小数点标志存储单元45HBCD码转换存放键号单元47H-49H第10章 流程框图10. 显示子程序流程图图10-1 显示P点流程框图图10-2 频率

38、计显示子程序流程图10. 键控程序流程图图10-3 频率计键控程序流程图10. 测频率程序流程图图10-4 频率计程序流程图10. 测周期程序流程图图10-5 测周期程序流程图10. 测脉宽程序流程图图10-6 测脉宽程序流程图10. 测占空比程序流程图图10- 测占空比程序流程框图图10- 键扫描子程序流程图10. 键扫描子程序流程图第11章 程序清单#include#include#define uchar unsigned char#define uint unsigned int uchar code dispcode14=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0

39、x7d,0x07,0x7f,0x6f,0xbf,0x00,0x86,0xf3; uchar code dispbit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; uchar dispbuf8=13,11,11,11,11,11,11,11; uchar i,j; uchar keycode,T0count=0,timecount=0; unsigned long frequ; float cyc=0.0; bit flag=0; void delay(void); void display(void); void key(void); void freq

40、uency(void); void cal_mul(void); void clear(void); void zhankong(void); void width(void); void cal_divide(void); void main(void) while(1) display(); keycode=P1&0xf0; if(keycode!=0xf0) key(); void display(void) for(i=0;i=7;i+) P2=dispbiti; P0=dispcodedispbufi; delay(); void delay(void) uchar k; for(k=0;k=1;i-)for(j=248;j=1;j-); if(keycode!=0xf0) switch(keycode) case 0xe0:while(P1&0xf0)!=0xf0);clear();display();frequency();cal_divide();break; /*P1.4被按下*/ case 0xd0:while(P1&0xf0)!=0xf0);clear();display();frequency();cal_mul();break; /*P1.5被按下*/ case 0xb0:while(P1&0xf0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com