单片机方波脉冲计数控制设计方案
单片机方波脉冲计数控制设计方案

单片机方波脉冲计数控制设计方案一、设计题目用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲。
二、设计容与要求设计方波脉冲控制显示系统,用51单片机控制输出方波输出,频率围为1~100Hz,并用数码管显示每分钟计数的脉冲数和当前频率,用两个按键分别控制频率的增减,同时用一个复位键,可以快速回到起始状态。
三、设计目的和意义1、通过方波脉冲控制系统的设计,将单片机原理课上所学的知识融会贯通、加深理解。
培养独立设计、制作和调试单片机应用系统的能力,熟悉单片机应用系统的软硬件调试方法和系统的设计开发过程,为今后的工作实践活动夯实基础。
2、通过方波脉冲计数控制系统的设计,掌握51系列单片机的部定时/计数器的功能和使用方法;掌握单片机外部中断的应用和程序的编程方法;掌握数码管的使用和编程方法。
通过设计方案分析、选择和设计,设计并搭制硬件电路,编写控制程序等一系列工作,掌握单片机应用的基本方法,更重要的是学会一种科学的解决问题的逻辑思维,和完成任务的方法。
3、培养一个解决困难问题的积极心态,为今后在工作上奠定坚实的基础。
四、设计任务分析设计题目要求用单片机控制可测方波脉冲1~100Hz,并显示每分钟计数的脉冲数。
由要求可知道,任务包括方波的产生和方波脉冲数的显示两个部分。
方波由单片机部定时器来产生,通过改变其定时初值来改变方波的频率,在硬件电路中可利用按键来控制频率的增减。
方波的波形利用示波器来观察。
由此,可有几个方案来实现题目的要求。
方案一:51单片机最小系统,外接上一个数码管显示电路用以显示每分钟的脉冲数。
数码管的断码选择端直接与单片机的P0口连接,位码选择端与P2口连接。
利用改变定时初值的方式来改变方波频率。
这个方案的优点是硬件电路简单,节省元器件,程序编写容易。
但是缺点也明显,只用一个数码管,无法显示当前的脉冲频率,而且无法用硬件实现频率的+1,-1的变化。
虽然实现了题目的基本功能,但是功能简单有限,也就达不到课程设计的目的了。
基于STC15单片机的频率计及方波发生器设计

课程设计论文课题:基于STC15单片机的频率计及方波发生器设计目录基于STC15单片机的频率计及方波发生器设计一、设计要求 (2)一)基础部分 (2)二) 发挥部分 (3)二、课程设计的意义与目的 (3)三、方案设计 (4)单片机数字频率计与可调方波发生器程序设计流程图 (4)四、硬件设计原理图: (6)五、硬件设计实物图: (6)六、程序框架: (7)七、功能说明: (7)八、测量: (8)低频测量: (8)高频测量: (8)九、误差分析: (9)第一次误差分析: (9)第二次误差分析: (9)十:实现功能情况表: (10)十一、心得与体会 (11)十二、参考资料 (11)十三、附录: (11)Main主函数: (11)按键扫描函数 (11)数码管显示相关函数: (12)PWM发生器函数: (13)频率计测量功能相关函数: (19)延时函数: (25)基于STC15单片机的频率计及方波发生器设计一、设计要求一)基础部分1. 数字频率计设计要求:1)被测信号为正弦波或方波,频率范围为1Hz~5MHz;2)测量相对误差的绝对值不大于百分之一;3)门限电压2V-5V;4)测量数据刷新时间不大于2s,测量结果稳定。
2. 方波发生器设计要求:1)方波发生器可以分为低频和高频2个端口产生,频率范围1Hz-6MHz;2)通过不同按键实现频率的粗调和微调。
二) 发挥部分1. 频率计范围为大于5MHz;2. 测量相对误差的绝对值不大于千分之一;3. 增加脉冲信号占空比的测量功能。
二、课程设计的意义与目的1.在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
2.在通信技术中,波形的发生和频率的控制是最基本的要求,也是通信技术的基础,因此设计波形的发生与控制器就显得尤为重要。
3.单片机数字频率计与可调方波发生器,具有可靠性高、体积小、价格低、功能全,广泛应用与各种职能仪器中,能使在测量过程的控制中达到自动化,省掉很多繁琐的人工操作,同时也提高了测试精度。
基于单片机的脉冲频率计的设计与实现本科毕业设计论文

苏州大学电子信息学院本科毕业设计论文毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文《基于单片机的脉冲频率计的设计与实现》是本人在指导老师下独立研究、写作的结果,论文中引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢词中加以说明并深致谢意。
本论文和资料若有不实之处,本人承担一切相关责任。
论文作者:(签字)时间:2013 年月日指导老师已阅:(签字)时间: 2013 年月日苏州大学电子信息学院毕业设计(论文)任务书学生姓名王如顺学号指导教师马强职称学院电子信息工程学院专业电子信息工程题目名称基于单片机的脉冲频率计的设计与实现任务与要求:任务:1.掌握电子元器件的特性及其工作环境,学会查阅相关资料文献。
2.学会应用keil、Proteus、Protel等软件。
3.能够完成基本的硬件设计。
4. 学会调试系统软件、硬件,具备基本的故障排除能力。
要求:设计一个基于单片机控制的脉冲频率计,要求该频率计能够测得方波、三角波等多种波形的频率。
要求该频率计测量数值稳定,精度较高且安全经济。
要较强的实际应用意义。
开始日期2013年月日完成日期2013 年月日院长(签字)2013 年月日苏州大学电子信息学院毕业设计(论文)工作计划学生姓名王如顺学号指导教师王如顺职称学院电子信息学院专业电子信息工程题目名称基于单片机的脉冲频率计的设计与实现一、毕业设计(论文)进度起止时间工作内容2013.9.10-2013.10.10 查阅相关文献资料,学习有关电子元器件知识2013.10.11-2013.10.15 确立方案,检索相关技术资料,熟悉相关仿真软件,设计整体电路图原理和仿真PCB板,完成开题报告2013.10.16-2013.10.24 软件仿真设计,开始撰写论文2013.10.25—2012.10.30 进行系统软件和硬件调试2013.11.01—2012.11.24 整理资料,撰写毕业论文、论文答辩二、主要参考书目(资料)[1] 江晓安,董秀峰,杨颂华。
单片机脉冲计数word文档良心出品

单片机实验报告0903 班级:自动姓名:一.软件实验实验题目:脉冲计数(定时/计数器实验)1,实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。
2,实验内容:把外部中断0输入的脉冲进行计数,并送数码管显示。
仿真电路图如下所示:设定频率发生器为50Hz程序如下:#include <reg51.h>sbit P2_0=P2^0; //数码管选定位sbit P2_1=P2^1;sbit P2_2=P2^2;sbit P2_3=P2^3;unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned int motorspeed;unsigned char GE,SHI,BAI,QIAN;unsigned int counter=0; //脉冲数unsigned int calsp; //设定多长时间计算一次void display(); //数码管显示void delay(); //延迟函数void calspeed();void main(){EA=1; //开启总中断EX0=1; //开启外部中断0IT0=1; //设置成下降沿触发方式TMOD=0x01; //设置定时器0为模式1,即16位计数模式TH0=(65536-10000)/256; //计数时间为10msTL0=(65536-10000)%6;ET0=1; //开启定时器0中断TR0=1; //启动定时器0P2=P2&0xf0;while(1){display();calspeed();}}void calspeed(){if(calsp>=100) //100*10ms=1s计算一次{motorspeed=counter;counter=0; //清零脉冲数calsp=0; //清零标志}}void _TIMER0() interrupt 1{TH0=(65536-10000)/256; //重新装入初值,计数时间为10ms TL0=(65536-10000)%6;calsp++;}void _INT0() interrupt 0{counter++;}void display() //数码管显示函数{GE=motorspeed_x0010_;SHI=motorspeed/10_x0010_;BAI=motorspeed/100_x0010_;QIAN=motorspeed/1000_x0010_;P2_0=1;P0=table[QIAN];delay();P2_0=0;P2_1=1;P0=table[BAI];delay();P2_1=0;P2_2=1;P0=table[SHI];delay();P2_2=0;P2_3=1;P0=table[GE];delay();P2_3=0;}void delay() //延迟函数{unsigned char i=10;while(i--);}二.硬件实验实验题目:用单片机控制二极管1,实验目的:熟悉用单片机控制二极管及其编程方法2,实验内容:跑马灯显示二极管仿真电路图如下所示:程序如下:#include <reg51.h>#include <intrins.h>void delay();//延时子函数void main(void){unsigned char temp;temp=0xfe;while(1){P2=temp;delay();temp=_crol_(temp,1); }}void delay(){unsigned int y;y=10000;while(y--);}。
用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲资料

桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:学号:桂林电子科技大学机电工程系目录一、实验课题及要求 (2)二、实验目的 (2)三、系统硬件电路 (2)3.1硬件电路说明 (3)3.3最小系统控制部分 (6)3.3.1晶振电路 (6)3.3.2复位电路 (7)四、软件设计 (10)4.1程序流程图 (10)4.2程序源代码 (11)五、设计总结 (14)六、参考文献 (14)一、实验课题及要求用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲二、实验目的1、加深外部中断指令的基本使用方法;2、熟悉外部中断处理程序的编程方法;3、进一步熟悉8051内部定时/计数器的初始化、使用方法及编程方法;4、进一步掌握8051中断处理程序的编程方法和应用;5、掌握I/O接口的基本方法;6、学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。
三、系统硬件电路整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。
具体的电路图如下图1所示3.1硬件电路说明本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。
3.2 AT89C51单片机简介AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL 公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图2 AT89S51引脚图AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
51单片机频率计课设

《单片机课程设计》设计报告设计题目:简易数字频率计系别:控制工程学院专业:自动化班级学号:姓名:指导教师:设计时间:简易数字频率计设计设计任务:采用A T89S52单片机测量实验室产生的方波脉冲频率,将待测频率接至T0引脚,测量方波频率并显示。
1.总体方案设计(1).设计思路本次课程设计是基于51单片机的频率计设计。
该课程设计是能实现精确测量频率。
由于计数器最大能计数的频率为f/24=460.8KHz。
本设计为了便于编程将最大测量频率限制在65536*7=458.752KHz。
如果超出最大频率数码管将显示------。
该设计通过定时器1定时1S,待测频率通过计数器0在1S内的计数值得出。
每1S显示一次待测频率值。
由于最大频率可达458.752KHz,而每次计数值最大只能达到65536,所以计数器0每产生一次中断,需要将计数值加65536,并给计数初值赋0重新计数,直到1S定时时间到。
计数值计算公式为(最后一次计数值+计数器0溢出次数*65536)。
将得到的计数值经处理后转换成BCD码分别在6个数码管上显示。
本次设计,利用了定时器,计数器,中断,查表,8255扩展端口等,设计出硬件电路。
最后在PROTEUS上进行仿真。
(2).系统总体结构(2).芯片选择本设计主要采用A T89S52,8255A,74LS373,等构成测量系统。
74LS373芯片为了实现P0口的复用,应在P0口连上74LS373,通过锁存器输出A0,A1(连接到8255A)。
74LS373芯片为三态输出的锁存器。
当三态允许控制端OE为低电平的时候,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存器允许端LE为高电平时,Q随数据D而变化。
当LE为低电平时,Q被锁存在已经建立的数据电平。
74LS245芯片74LS245是8路同相三态双向总线收发器,可双向传输数据。
单片机方波脉冲计数控制

桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:张亚鲁学号:082011224桂林电子科技大学机电工程系目录一、实验课题及要求 (3)二、实验目的 (3)三、系统硬件电路 (3)3.1硬件电路说明 (4)3.3最小系统控制部分 (6)3.3.1晶振电路 (6)3.3.2复位电路 (8)四、软件设计 (11)4.1程序流程图 (11)4.2程序源代码 (12)五、设计总结 (14)六、参考文献 (15)一、实验课题及要求用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲二、实验目的1、加深外部中断指令的基本使用方法;2、熟悉外部中断处理程序的编程方法;3、进一步熟悉8051内部定时/计数器的初始化、使用方法及编程方法;4、进一步掌握8051中断处理程序的编程方法和应用;5、掌握I/O接口的基本方法;6、学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。
三、系统硬件电路整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。
具体的电路图如下图1所示图1系统设计总电路图3.1硬件电路说明本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。
3.2 AT89C51单片机简介AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL 公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图2 AT89S51引脚图AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
课题设计(脉冲计数器设计)

脉冲计数器程序设计
专业
班级:
姓名:
学号:
完成时间:
目录
1、课题设计的任务与要求: (3)
1.1课题设计的任务: (3)
1.2设计要求: (3)
2、设计思路与步骤: (3)
2.1 设计思路: (3)
2.2 设计步骤: (3)
3、参考资料 (5)
4、总结 (5)
1、课题设计的任务与要求:
1.1课题设计的任务:
在8051单片机的INTO引脚外接脉冲信号,要求每送来一个脉冲,把30H单元值加1,若30H单元记满则进位31H单元。
试利用中断结构,编制一个脉冲计数程序。
1.2设计要求:
1)用汇编语言编程;请在过程中加入必要的解释。
2)思路清晰、结构合理、层次清晰,设计简洁但又要能体现设计过程。
2、设计思路与步骤:
2.1 设计思路:
1)外部中断的设定;
2)当有中断产生,需要保护ACC寄存器。
在中断程序内,做加一动作。
2.2 设计步骤:
3、参考资料
3.1 <<MCS-51学习>>
4、总结
(整个课程设计过程中,你觉得学习到了什么,课设过程中自己做的不足的地方有哪些?对自己的学习有何启示?)。
基于单片机的两相脉冲方波电路设计

郑州航空工业管理学院毕业论文(设计)2012 届电气工程及其自动化专业 0806072 班级题目基于单片机两相脉冲方波输出电路硬件开发姓名乱世达人学号080607224指导教师粉红佳人职称教授2012 年5月20日内容摘要本文设计的是一个方波发生器,两相输出相位差π/2,可用于模拟增量式旋转编码器的A、B两相脉冲。
用BCD码拨盘来设定和显示方波的周期,主控制模块是兼容于51系列的微处理器模块AT89C52,此单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点。
在此自动控制设备中,采用光电耦合器实现弱电系统与强电系统的通道之间的隔离;同时运用了继电器方式的开关量输出,解决了从低压直流到高压直流的过度,从而保证了电子电路和人身的安全。
关键词相位差;方波; AT89C52;光耦隔离The hardware development of two-phase pulse square wave output circuit based on SCMAbstractIn this paper , the design is a square wave generator , and it uses BCD dial with panel to control and display frequency of square wave , and the m aster control module is based on 51 series of microprocessor module A T89C52 devices , and the single-chip microcomputer has high level of integration and powerful function, high reliability, small volume, low power consumption, easy to use, cheap and so on a series of advantages.In the automatic control equipment , the optical coupler solves the problem i nvolving the channel isolation technology , and at the same time , using the way of relay switching output has solved the transition from low voltage DC to high voltage DC , so as to ensure the safety of the electronic circuit and personal .Key wordsphase difference ;square wave; A T89C52; light coupling isolation目录内容摘要 (Ⅱ)Abstract (Ⅲ)第一章概述 (1)第二章系统硬件设计 (3)2.1设计方案 (3)2.2器件选择 (4)2.2.1单片机芯片内部结构简介 (4)2.2.2 BCD拨码盘介绍 (9)2.2.3光耦合器的介绍 (14)第三章硬件实现及单元电路设计 (16)3.1单片机最小系统的设计 (16)3.1.1 电源电路 (17)3.1.2 复位电路 (18)3.1.3 晶振电路 (19)3.1.4 输入电路 (20)3.1.5 显示电路 (20)3.2 系统电路总原理图 (21)3.3 PCB板的制作 (22)致谢 (25)参考文献 (26)附录Ⅰ (27)附录Ⅱ (28)第一章概述单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉冲调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
用80c51单片机产生方波的程序设计

一、实验目的和要求
1、掌握定时器/计数器计数功能的使用方法。
2、掌握定时器/计数器的中断、查询使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计
数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。
2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计
数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。
三、电路原理图
四、实验程序流程图和程序清单
五、实验结果
六、实验总结
通过本次实验加强了对于定时器与计数器的运用,熟悉了定时器与计数器的中断查询不同方式的工作方法。
七、思考题
利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。
单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生姓名:指导教师:年月日目录设计题目 (3)1 设计要求及主要技术指标: (4)1.1 设计要求 (4)1.2 主要技术指标 (5)2 设计过程 (6)2.1 题目分析 (9)2.2 整体构思 (10)2.3 具体实现 (12)3 元件说明及相关计算 (14)3.1 元件说明 (14)3.2 相关计算 (15)4 调试过程 (16)4.1 调试过程 (16)4.2 遇到问题及解决措施 (20)5 心得体会 (21)参考文献 (22)附录一:电路原理图 (23)附录二:程序清单 (24)设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。
电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。
通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。
电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。
关键词:直流电机调速;定时中断;电动机;PWM波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM 调速控制装置。
1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。
(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。
(3)设计一个4个按键的键盘。
K1:“启动/停止”。
K2:“正转/反转”。
K3:“加速”。
K4:“减速”。
(4)手动控制。
在键盘上设置两个按键----直流电动机加速和直流电动机减速键。
在手动状态下,每按一次键,电动机的转速按照约定的速率改变。
单片机脉冲计数及显示课程设计

目录• 1. 设计思想和设计说明----------------------- • 2. 硬件原理框图-----------------------------3 • 3. 硬件原理图与其软件配合介绍---------------3 • 4. 程序存储器和数据存储器的单元分配---------6 • 5. 程序流程图-------------------------------7 • 6. 源程序清单-------------------------------9 •7. 芯片资料---------------------------------12 •8. 仿真结果(打印仿真图)-------------------17 •9. 参考文献---------------------------------19一设计思想和设计说明设计思想:本次课程设计采用一个可扩展芯片AT89C51,四个7段LED数码管显示器,经过电阻连接而组成,并具有开关复位等功能。
首先在keil软件中输入计数器程序,在生成以hex为后缀名的文件,拷贝添加到芯片AT89C51中以实现其功能。
其中芯片的P0.0到P0.7和P1.0到P1.7分别和四个7段LED数码管显示器相连接,作为0000-9999计数的十位数显示,在练习使用译码器驱动7段LED数码管显示器的同时,芯片AT89C51的由12MHZ的晶振提供脉冲支持芯片工作。
设计说明:在汇编程序中可将十六进制转换变为十进制输出显示,即使得计数器的初始状态为0000,当第1个计数脉冲来到后,其状态为0001,以后来一个脉冲计一次数,依次可计数到9999后清零,计数器是采用数字电路实现的对个,十,百,千位的数字显示技术装置,能广泛应用于实验室,公共场合,以及实际生活中的一些应用,是人们日常生活中不可少的必需品。
由于数字集成电路以及555振荡器的广泛应用,使得计数器的精度大大的提高。
单片机脉冲计数电路设计毕业设计论文

单片机脉冲计数电路设计毕业设计论文设计题目:单片机脉冲计数电路设计摘要:本设计针对单片机脉冲计数电路进行了研究与设计。
首先介绍了单片机的工作原理和脉冲计数的相关知识,然后详细介绍了设计的硬件电路和软件程序。
硬件电路包括信号输入模块、计数器模块和数码管显示模块,软件程序包括脉冲计数、时钟设置和数码管显示控制等功能。
通过实验验证了本设计电路的可行性和性能,达到了预期的设计目标。
关键词:单片机;脉冲计数;电路设计一、引言脉冲计数是电子测量中常用的一种方法,可以对特定事件的发生频率和周期进行测量和计算。
在实际应用中,脉冲计数广泛应用于科学实验、工程测量和工控系统等领域。
本设计旨在设计一种简单而高效的单片机脉冲计数电路,以满足实际应用的需求。
二、单片机的工作原理单片机是一种集成了中央处理器、存储器、输入输出接口和其他辅助设备的微型计算机。
其主要功能是根据程序进行数据处理,实现各种控制和计算任务。
单片机通过输入输出口与外部电路连接,实现信息的输入和输出。
三、脉冲计数原理脉冲计数是通过计数器实现的。
计数器是一种特殊的时序电路,可以根据输入的脉冲信号对计数器的值进行累加或减少。
通过读取计数器的值,可以得到脉冲信号的频率和周期。
计数器的工作原理是将输入的脉冲信号通过触发器进行分频,然后再通过多级触发器进行累加和计数。
四、硬件电路设计本设计的硬件电路包括信号输入模块、计数器模块和数码管显示模块。
信号输入模块负责接收外部脉冲信号并将其转换成适合单片机接口的信号。
计数器模块用于记录输入脉冲信号的数量和周期。
数码管显示模块用于将计数值以数字形式显示出来。
五、软件程序设计本设计的软件程序通过单片机的编程实现。
主要功能包括脉冲计数、时钟设置和数码管显示控制等。
脉冲计数功能通过定时中断实现,每次接收到脉冲信号后进行计数。
时钟设置功能通过设置单片机的时钟频率来确定计数精度。
数码管显示控制功能则通过控制数码管模块的引脚状态来实现。
用单片机控制可测方波100~1000Hz,并显示脉宽

脉宽(Pulse-Width)是脉冲宽度的缩写,脉冲宽度就是高电平持续的时间,常用来作为采样信号或者晶闸管等元件的触发信号。
脉宽由信号的周期和占空比确定,其计算公式是脉宽W=T×P(T:周期,P:占空比)。
4.2.1 AT89S51具有如下特点:
40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构图2。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4......40,其中芯片的1脚顶上有个凹点。在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
计算方法:脉冲宽度=计数值*0.001s,再将表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转为非压缩BCD码用来显示,数码管显示的数据即为要测量的脉宽。
3.4脉冲宽度测量
利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。对定时器T1来讲,,被测脉冲信号从INT1端引入,其上升沿启动T1计数,下降沿停止T1计数。定时器的计数值乘以机器周期即为脉冲宽度。下图中给出了脉冲宽度测量的原理图。
意义:
1、通过单片机的综合设计,能够将所学的知识融会贯通,锻炼独立设计、制作和调试单片机的应用系统能力,领会单片机应用系统的软件、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下一定的基础。
单片机设计实验--脉冲计数器

实验八脉冲计数实验一、实验目的:(1)掌握定时器/计数器的计数工作方式;(2)掌握用定时器/计数器实现脉冲计数的方法;(3)掌握用Keil实现软件调试的方法;(4)掌握用Proteus实现电路设计,程序设计和仿真的方法。
二、实验内容:定时器0外部输入端(P3.4)和定时器1外部输入端(P3.5)作为计数脉冲输入端,利用按钮手控产生单脉冲信号作为计数输入脉冲,编写程序控制,每输入一个(5个)脉冲,工作寄存器R0(R1)的内容加1,同时将R0(R1)的内容送到两位LED数码管中显示出来,晶振频率6MHZ。
三、实验参考电路:P1口接两位数码管显示工作寄存器R0的内容,P2口接两位数码管显示工作寄存器R0的内容,两只按钮分别接P3.2(外部中断0中断输入端)和P3.3(外部中断1中断输入端)。
实验电路如图:四、实验参考程序:ORG 0000HLJMP MAIN 指向主程序;ORG 000BH 定时器/计数器0的入口地址;LJMP T0C 指向中断服务程序;ORG 001BH 定时器/计数器1的入口地址;LJMP T1C 指向中断服务程序;ORG 0030HMAIN: MOV R0,#00H 清零;MOV R1,#00HMOV P1,#00HMOV P2,#00HMOV TMOD,#66H 置计数器0,计数器1为方式2;MOV TH0,#0FFH 置1次计数初值;MOV TL0,#0FFHMOV TH1,#0FBH 置5次计数初值;MOV TL1,#0FBHSETB EA 开中断;SETB ET0SETB ET1SETB TR0 启动计数器0;SETB TR1 启动计数器1;SJMP $ORG 0100HT0C: MOV A,R0 计数器0中断服务程序;ADD A,#01HDA A 十进制调整;MOV R0,A 保存计数器;MOV P1,A 计数值送显示器;RETIORG 0200HT1C: MOV A,R1 计数器1中断服务程序;ADD A,#01HDA A 十进制调整;MOV R1,A 保存计数器;MOV P2,A 计数器送显示器;RETIEND五、实验步骤:(1)建立工程文件,选择单片机型号,生成asm文件,在所生成文件中输入参考程序并调试如下:如图可以看出程序调试无错误,所以可以将其生成HEX文件。
用单片机控制可测方波100~1000Hz,并显示脉宽要点

桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:学号:桂林电子科技大学机电工程学院摘要 (3)一、实验课题及要求 (4)二、实验目的及意义 (4)三、任务系统设计 (5)3.1 分析任务要求,写出系统整体设计思路 (5)3.2 问题的难点在按键连续按下超过2S的计时问题,如何实现计时功能。
(5)3.3 分析软件任务要求,写出程序设计思路,分配单片机内部资源 (5)3.4 脉冲宽度测量 (6)3.5 脉冲频率测量 (7)3.6 扩展测量范围原理 (7)3.7 选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图 (7)四、系统硬件电路 (8)4.1 硬件电路说明 (8)4.2 AT89C51单片机简介 (9)4.2.1 AT89S51具有如下特点: (10)4.2.2 AT89S51的运行模式 (10)4.2.3 MCS-51系列单片机的并行I/O口 (11)4.3最小系统控制部分 (12)4.3.2 复位电路 (14)4.4数码管显示电路 (15)4.5 功率放大电路 (17)4.6 显示部分硬件装备图 (19)五、用DXP绘制电路图 (20)5.1 电路板设计规则 (20)5.1.1 考虑PCB 尺寸大小 (20)5.1.2 确定特殊组件的位置 (20)5.1.3 布局方式 (21)5.1.4 电源和接地线处理的基本原则 (21)5.1.5 导线设计的基本原则 (22)5.2 PCB设计注意事项 (22)六、软件设计 (25)6.1程序流程图 (25)6.1.1 主程序图 (25)6.1.2 这段子程序图 (26)6.2程序源代码 (26)七、设计总结 (30)八、参考文献 (31)单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。
基于单片机的两相脉冲方波电路设计

基于单片机的两相脉冲方波电路设计设计基于单片机的两相脉冲方波电路需要考虑以下几个方面:单片机的选择,输入脉冲信号的条件,输出方波信号的特性,以及其他相关的电路元件。
首先,选择单片机。
在进行电路设计之前,我们需要选择适合的单片机,它应该具有足够的IO接口来实现两个输入信号和一个输出信号。
常见的单片机包括8051系列、AVR系列和PIC系列等。
根据具体需求,可以选择适合的单片机。
其次,输入脉冲信号的条件。
输入脉冲信号应满足一定的条件,如幅值、频率和波形。
对于方波信号,幅值可以选择5V,频率可以选择1kHz,波形应为两相脉冲。
简单起见,我们可以使用两个外部信号源提供输入脉冲信号,或者使用函数发生器产生脉冲信号。
然后,设计输出方波信号的特性。
根据需求,我们可以选择输出方波信号的幅值、频率和波形。
幅值可以选择5V或3.3V,频率可以选择1kHz或者其他合适的频率,波形要求为方波。
然后,我们需要使用单片机的IO口控制输出信号,并使用相应的电路元件进行滤波和保护,确保输出方波信号的稳定性和可靠性。
最后,设计其他相关的电路元件。
在设计过程中,还需要考虑一些额外的电路元件,如滤波电容、限幅电阻、可编程电阻等。
这些元件可以根据具体要求和电路特性进行选择和配置,以确保电路工作正常。
综上所述,设计基于单片机的两相脉冲方波电路需要根据具体需求选择合适的单片机,满足输入信号和输出信号的条件,并考虑其他相关的电路元件的设计。
设计过程中,需要合理布局电路和连接电路,严格按照电路原理和规范进行操作,以确保电路的稳定性和可靠性。
实验五 单片机定时、计数器实验1——方波发生器

实验五单片机定时/计数器实验1——方波发生器一、实验目的1.定时/计数器是单片机的一个重要功能部件,可用来实现定时、计数、频率测量、脉冲宽度测量、产生信号、信号检测等。
用AT89C51单片机定时/计数器0的定时功能可构成一简单的方波发生器,实现为400us的方波输出。
若改变定时/计数器0的初值,可得到不同周期的方波输出。
2.用proteus设计、仿真基于AT89C51单片机的方波发生器。
3.学会使用VSM虚拟示波器观测波形。
二、电路设计1.从PROTEUS库中选取元件①AT89C51:单片机;②RES:电阻;③LED-GREEN:绿发光二极管;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥SW-SPST:带锁存的单刀双掷开关。
2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测7.虚拟检测仪器(1)VSM虚拟示波器单击小工具栏中的按钮,在对象选择器列表中单击OSCILLOSOPE(示波器),再在ISIS编辑区中适当位置单击,虚拟示波器就放置好了。
它以虚拟示波器符号表示,如图所示。
最后将单片机的P3.5、P3.7分别于示波器的A、B信道相连。
(2)电压探针选择电压探针,连接到要实时监测的电路上,以便仿真时观察该处的电压变化。
三、源程序设计、生成目标代码文件1.流程图2.源程序设计通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC32.ASM。
通过菜单“sourc e→DZC35.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。
程序编辑好后,单击按钮存入文件DZC35.ASM。
3.源程序编译汇编、生成目标代码文件通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。
若编译失败,可对程序进行修改调试直至汇编成功。
四、PROTEUS仿真1.加载目标代码文件2.仿真单击按钮,启动仿真。
基于单片机的两相脉冲方波电路设计

题目基于单片机两相脉冲方波输出电路硬件开发内容摘要本文设计的是一个方波发生器,两相输出相位差π/2,可用于模拟增量式旋转编码器的A、B两相脉冲。
用BCD码拨盘来设定和显示方波的周期,主控制模块是兼容于51系列的微处理器模块AT89C52,此单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点。
在此自动控制设备中,采用光电耦合器实现弱电系统与强电系统的通道之间的隔离;同时运用了继电器方式的开关量输出,解决了从低压直流到高压直流的过度,从而保证了电子电路和人身的安全。
关键词相位差;方波; AT89C52;光耦隔离The hardware development of two-phase pulse square wave output circuit based on SCMAbstractIn this paper , the design is a square wave generator , and it uses BCD dial with panel to control and display frequency of square wave , and the m aster control module is based on 51 series of microprocessor module AT89C52 devices , and the single-chip microcomputer has high level of integration and powerful function, high reliability, small volume, low power consumption, easy to use, cheap and so on a series of advantages.In the automatic control equipment , the optical coupler solves the problem i nvolving the channel isolation technology , and at the same time , using the way of relay switching output has solved the transition from low voltage DC to high voltage DC , so as to ensure the safety of the electronic circuit and personal .Key wordsphase difference ;square wave; AT89C52; light coupling isolation目录内容摘要 (Ⅱ)Abstract (Ⅲ)第一章概述 (1)第二章系统硬件设计 (3)2.1设计方案 (3)2.2器件选择 (4)2.2.1单片机芯片内部结构简介 (4)2.2.2 BCD拨码盘介绍 (9)2.2.3光耦合器的介绍 (14)第三章硬件实现及单元电路设计 (16)3.1单片机最小系统的设计 (16)3.1.1 电源电路 (17)3.1.2 复位电路 (17)3.1.3 晶振电路 (18)3.1.4 输入电路 (19)3.1.5 显示电路 (20)3.2 系统电路总原理图 (20)3.3 PCB板的制作 (21)致谢 (24)参考文献 (25)附录Ⅰ (26)附录Ⅱ (27)第一章概述单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉冲调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机方波脉冲计数控制设计方案一、设计题目用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲。
二、设计容与要求设计方波脉冲控制显示系统,用51单片机控制输出方波输出,频率围为1~100Hz,并用数码管显示每分钟计数的脉冲数和当前频率,用两个按键分别控制频率的增减,同时用一个复位键,可以快速回到起始状态。
三、设计目的和意义1、通过方波脉冲控制系统的设计,将单片机原理课上所学的知识融会贯通、加深理解。
培养独立设计、制作和调试单片机应用系统的能力,熟悉单片机应用系统的软硬件调试方法和系统的设计开发过程,为今后的工作实践活动夯实基础。
2、通过方波脉冲计数控制系统的设计,掌握51系列单片机的部定时/计数器的功能和使用方法;掌握单片机外部中断的应用和程序的编程方法;掌握数码管的使用和编程方法。
通过设计方案分析、选择和设计,设计并搭制硬件电路,编写控制程序等一系列工作,掌握单片机应用的基本方法,更重要的是学会一种科学的解决问题的逻辑思维,和完成任务的方法。
3、培养一个解决困难问题的积极心态,为今后在工作上奠定坚实的基础。
四、设计任务分析设计题目要求用单片机控制可测方波脉冲1~100Hz,并显示每分钟计数的脉冲数。
由要求可知道,任务包括方波的产生和方波脉冲数的显示两个部分。
方波由单片机部定时器来产生,通过改变其定时初值来改变方波的频率,在硬件电路中可利用按键来控制频率的增减。
方波的波形利用示波器来观察。
由此,可有几个方案来实现题目的要求。
方案一:51单片机最小系统,外接上一个数码管显示电路用以显示每分钟的脉冲数。
数码管的断码选择端直接与单片机的P0口连接,位码选择端与P2口连接。
利用改变定时初值的方式来改变方波频率。
这个方案的优点是硬件电路简单,节省元器件,程序编写容易。
但是缺点也明显,只用一个数码管,无法显示当前的脉冲频率,而且无法用硬件实现频率的+1,-1的变化。
虽然实现了题目的基本功能,但是功能简单有限,也就达不到课程设计的目的了。
以下是方案一的电路图:图1 方案一原理图方案二:51单片机最小系统,加上两个数码管显示电路,分别显示脉冲数和频率。
此外,每个数码管用74HC573数据锁存器来驱动,增加两个按键用来控制频率的增减。
这个方案的优点是能利用数码管显示当前的频率和脉冲数,并且能用按键控制频率的大小。
数码管利用数据锁存器驱动,驱动能力更强,还可以支持I/O口扩展。
缺点是,数码管电路布线比较困难,跳线多。
综合分析以后,我们决定用方案二,虽然方案二难度相比方案一而言难度加大了,但是功能实现得很彻底。
当然,面对PCB布局布线的困难,我们只能采用双面板的形式。
我们也相信,这个对我们而言将更具挑战性。
下面就对方案二进行详细分析。
五、系统硬件电路硬件电路主要包括51单片机最小系统(晶振电路和复位电路)、数码管显示电路。
原理图如下。
图1 51单片机最小系统原理图图2 51单片机最小系统PCB图图3 数码管显示电路原理图图4 数码管显示电路PCB图图5 元器件清单5.1 电路原理图绘制5.1.1 电路图绘制要点绘制电路原理图要熟悉运用绘制软件(Protel 99 SE或者Altium Designer软件),绘制的最终目的是得到美观、清晰的图。
因而在绘制前根据需要,对绘图环境参数设计;绘制时正确元件载入(特别是元器件的封装形式一定要选着正确)与编辑;元件载入后正确连线,调整得到美观的原理图电路图绘制注意事项:1、元器件之间连线用Wire命令而不是用Line命令,虽然从表面上看,两者都是直线,只是颜色稍有些不同,但用Wire命令放置的导线是具有电气特性的,而用Line命令放置的直线是不具有电气意义的,两者具有根本区别的。
2、注意理解说明文字(Annotation)和网络标号(Net Label)的区别:说明文字是没有电气特性的,只是纯粹的文字解释,而网络标号是有电气特性的,它可以把电路图具有相同网络标号的电气连线是连在一起的,即在两个以上没有相互连接的网络中,把应该连接在一起的电气连接点定义成相同的网络标号,可以使它们在电气含义上属于真正的同一网络。
3、导线的端点与元件引脚的端点相连,而不是把导线和元件的引脚重叠,最常见的错误是当导线与元件引脚重叠时,这时软件会自动在元件引脚的端点加一节点,这时再把节点删除掉,认为就这样就正确了,实际上如果只是为了得到一原理图,这样做并没有什么不妥,但却不能得到正确的网络表。
4、导线与导线之间不要有重叠。
5、不要在同一地方放两个以上相同的元件(如两个电源地符号重叠在一起)。
6、在放置电源地符号时,电源地符号的显示类型(Style)为Power Ground,这时Power Port的属性对话框中网络标号(Net)的容默认是不显示的,因此有些初学者在放置电源地符号时,没有留意网络标号的容,致使有网络标号(Net)的容网络标号为“GND”,有些网络标号的容却为“VCC”,如果纯粹只为得到一原理图,这样做是没有问题的,但是若利用自动布线来设计PCB板时,却会造成电源和地短路,从而使整块PCB板报废。
正确的做法是在放置电源地符号符号,把Power Port的属性对话框中网络标号(Net)的容全部设置为GND。
7、在绘制电路原理图时,通常总线、总线分支线和网络标号是一起存在的,要注意总线和总线分支线不具有电气特性的,而网络标号是具有电气特性的,因此在放置总线时不能用加粗了的导线来替代,也不能用导线来替代总线分支线,总线分支线和元件引脚之间不能直接连在一起,而应通过导线接在一起,网络标号应放在导线上,不能放在元件引脚上,不能用说明文字(Annotation)来替代网络标号(Net Label)。
8、元器件封必需要有合适的封装方式。
没封装会影响后面生产PCB原理图。
封装形式不正确,后面生产PCB原理图时,期间的形式可能跟元器件的真实外形尺寸不相似。
5.1.2 硬件电路制作5.2 硬件电路说明5.2.1 单片机基本知识材料准备元器件测试PCB制作组装和焊接测试图6 单片机的基本组成单片机各部分的组成及功能的说明:(1)处理器单片机的中央处理器(CPU)是单片机的核心,完成运算和控制操作。
中央处理器主要包括运算器和控制器两部分。
单片机CPU和通用微处理器基本相同,只是增加了“面向控制”的处理功能,如位处理、查表、多种跳转等。
(2)运算器运算器主要用来实现算术、逻辑运算和位操作。
其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器。
ALU是运算电路的核心,实质上是一个全加器,完成基本算术和逻辑运算。
算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位和位取反等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。
ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。
累加器是CPU使用最频繁的一个寄存器。
ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。
CPU中的数据传送大多通过累加器实现,因此累加器又是数据的中转站。
如单片机与片外ROM或I/O扩展口进行数据交换必须通过ACC来进行。
B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。
运算结果存于AB寄存器对中。
(3)控制器控制器是识别指令并根据指令性质协调计算机各组成单元进行工作的部件。
控制器只要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等。
其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。
程序计数器PC(Program Counter)是控制器中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出指令代码的地址。
PC的基本工作过程是:读指令时,PC将其容送给地址寄存器,作为所取指令的地址给程序存储器,然后程序存储器按此地址输出指令字节,同时PC自动加1,指向下一条指令的地址。
PC的变化轨迹决定了程序的流程。
PC是不可访问的,顺序执行程序时自动加1;执行转移程序时,自动将其容更改成指向转移目的地址。
程序计数器的计数宽度决定了程序存储器的地址围。
在AT89单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。
复位时PC的容为0000H,说明程序应从程序存储器0000H单元开始执行。
指令寄存器是用来存放指令操作码的专业寄存器。
执行程序时,首先要从程序存储器中取出指令,送给指令寄存器;指令寄存器再将其输出到指令译码器;指令译码器将该指令进行译码,根据指令性质送到定是逻辑和条件转移逻辑电路,产生定时控制信号,完成程序的执行过程。
定时及控制逻辑电路根据指令的性质发出一系列定时和控制信号,控制计算机个组成器件进行相应的操作,执行指令。
(4)存储器单片机部的存储器分为程序存储器和数据存储器。
程序存储器主要用来存储指令代码和一些常数及表格。
程序在开发调试成功之后就永久性地驻留在程序存储器中,在停机断电状态下代码也不会丢失。
程序存储器在操作运行过程中只读不写,因而又被称为只读存储器Rom(Read Only Memory)。
标准型AT89单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电气实现的。
编程和擦除速度快,可以使用通用的编程器脱机编程,也可以在线编程。
Flaash的应用,是AT89系列单片机的显著特点之一。
在单片机中,用随机存储器RAM(Random Access Memory)来存储程序运行期间的工作变量和数据,所以又称为数据存储器。
一定容量的RAM集成在单片机,提高了单片机的运行速度,也降低了功耗。
标准型AT89单片机含有128×8位RAM,采用单字节地址。
实际上片的字节地址空间是256个(00H—FFH),其中高128字节地址(80H—FFH)被特殊功能寄存器SFR占用,用户只能使用低128字节单元(00H—7FH)来存放可读/写的数据。
(5)外围接口电路CPU与外部设备的信息交换都要通过接口电路来进行。
这主要是为了解决CPU的高速处理能力和外部设备的低速运行之间的速度匹配问题,并可以有效地提高CPU的工作效率;同时也提高了CPU对外的驱动能力。
输出接口电路具有锁存器和驱动器,输入接口电路具有三态门控制,成为接口电路的基本特征。
由于受集成度的影响,片存储器和外围接口电路的规模和数量都受到一定的限制。
为了适应外部复杂的控制功能,单片机具有较强的扩展功能,可以方便地扩展外部存储器ROM、RAM和I/O口等。