可编程计数器.docx
- 文档编号:4749530
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:7
- 大小:32.95KB
可编程计数器.docx
《可编程计数器.docx》由会员分享,可在线阅读,更多相关《可编程计数器.docx(7页珍藏版)》请在冰豆网上搜索。
可编程计数器
课程设计报告
学生姓名:
学号:
学院:
电气工程学院
班级:
电自091
题目:
可编程计数器
指导教师:
职称:
1.设计目的及要求..………………………………...………..1
1.1protues的介绍..............................................................1
1.2keil的介绍....................................................................2
2.单片机简介............................................................................3
3.系统硬件及主要模块设计原理............................................3
3.1LED模块和显示原理…………………………...…....4
3.2震荡电路模块和原理…………………………….......6
3.3复位电路模块和原理………………………………...7
3.4按键电路和原理……………………………………...8
3.5设计总电路和原理…………………………………...10
4.设计汇编程序……………………………………………….11
5.心得体会………………………………………………….....13
6.参考文献……………………………………………….........15
1.设计目的及要求
掌握并且能够应用protues及keil软件。
学会一些常用电子器件的使用方法。
利用这两个软件能够设计基本电路并进行仿真。
本次课设得要求是:
利用单片机设计一个闭路系统,编写源程序,使之能够运行。
1.1proteus介绍
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
其功能特点
Protues软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
(1)原理布图
(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点
(1)互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。
1.2 keil介绍
KeilC51开发系统基本知识KeilC51开发系统基本知识 1.系统概述 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
2.KeilC51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编译器编辑C或汇编源文件。
然后分别由C51及C51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
2.单片机简介
单片机它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。
51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。
在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中低端市场。
汇编语言是本设计的程序设计语言,它比低级语言更通俗易懂,设计更为方便,故采用它来设计程序。
单片机全称为单片微型计算机(SingleChipMicrocomputer)。
因为单片机主要用于控制系统中,所以又称微控制(MicrocontrollerUnit,MCU)或嵌入式控制器(EmbeddedController)。
它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。
他把计算机的基本部件都微型化集成到一块芯片上了,通常片内部都含有中央处理部件(CPU),数据存储器(RAM),程序存储器(ROM,EPROM,FlshROM),定时器/计数器和各种输入/输出(I/O)接口他们之间的相互连接结构如图1-1所示。
图1-1单片机结构
89C51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)
89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
·程序存储器(ROM):
89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
·并行输入输出(I/O)口:
89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
·全双工串行口:
89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:
89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
·时钟电路:
89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
本课设使用AT89C51加上少许的外围电路就可做成一个计数器,并在记数到99时自动归零。
本文旨在从硬件和软件上具体分析其设计方法。
系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分。
主机包括秒定时输入电路、按键控制电路、电源电路、LED显示电路等,从机包括LED显示电路、外接芯片等。
其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LED采用7段共阴极数码管,从机LED采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。
3.系统硬件及主要模块设计原理
3.1LED模块和显示原理
LED显示器又称为数码管,LED显示器由8个发光二极管组成。
中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。
LEDD显示器有两种不同的形式:
一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
本次电路设计采用的是共阴极数码管,通过动态扫描方式驱动。
3.2震荡电路模块和原理
本次设计要使用到AT89C52单片机的时钟振荡功能。
AT89C52中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。
这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。
振荡电路如下图所示
图3-6时钟振荡电路
如图所示,外接石英晶体或者陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。
谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,推荐使用30pF,而使用陶瓷谐振器建议选择40pF。
本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用12MHZ与6MHZ均可,这里采用的是12MHZ晶振。
3.3复位电路模块和原理
复位电路虽然简单,但其作用非常重要。
一个单片机系统能复正常运行,首先要检查是否能复位成功,其中手动复位开关比较常用,
图4-3手动开关复位电路
手动开关未按下之前,电容正极处于充电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。
3.4按键电路和原理
采用一一对应式方式输入设计键盘控制电路部分
那么在什么时候使用上拉电阻呢?
总结如下:
(1)、当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
(2)、OC门电路必须加上拉电阻,以提高输出的搞电平值。
(3)、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
(4)、在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。
(5)、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限,增强抗干扰能力。
(6)、提高总线的抗电磁干扰能力。
管脚悬空就比较容易接受外界的电磁干扰。
(7)、长线传输中电阻不匹配容易引起反射波干扰,加上拉电阻使电阻匹配,有效的抑制反射波干扰[10]。
另外,上拉电阻阻值的选择原则包括:
(1)、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
(2)、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
(3)、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑以上三点,上拉电阻阻值通常在1k到10k之间选取。
根据以上原则,本设计所选择的是10K的电阻。
3.5设计总电路和原理
本课设使用AT89C51加上少许的外围电路就可做成一个秒分倒计时器,并在计时结束时发出报警声音。
本文旨在从硬件和软件上具体分析其设计方法。
系统由主单片机和外围电路构成。
系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分
主机包括秒定时输入电路、按键控制电路、电源电路、LED显示电路等,从机包括LED显示电路、扬声器输出电路等。
其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LED采用7段共阴极数码管,从机LED采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。
其功能框图如图:
4.设计汇编程序
ORG00H
JMPMAIN
ORG30H
MAIN:
MOVTMOD,#00H;设置TIMER0工作在MODE0
MOV:
R4,#00H;记数指针初值
START:
MOVP2,R4;将记数指针初值输出至P2
MOVR3,#200;延迟1s
CALLDELAY;
XCHA,R4;将记数指针值与累加器的内容交换
ADDA,#01;累加器加1
DAA;做十进制调整
XCHA,R4;将累加器的内容与记数指针交换
JMPSTART
DELAY:
SETBTR0;启动定时器0开始计数
AGAIN:
MOVTL0,#(8192-5000)MOD32;设置TL0的初值
MOVTH0,#(8192-5000)/32;设置TH0的初值
LOOP2:
JBCTF0,LOOP3;TF0是否为1,是则跳到LOOP3,并清除TF0
JMPLOOP2;不是则跳到LOOP2
LOOP3:
DJNZR3,AGAIN;R3是否为0?
不是则跳到
AGAIN
CLRTR0;是则停止TIMER0计数
RET
END
5.心得体会
通过本次课程设计,我对单片机相关知识得到了进一步的,刚开始看到这个题目的时候,感觉倒计时不是很难,有对应的输入,在控制芯片的作用下,进行递减的控制,就可以达到效果。
所以刚开始的时候,做的还不是很认真,当设计进行到具体环节的时候,问题就体现出来了,并不是像刚开始的那样简单。
首先要想到芯片的对应p口的功能,于是要对所学的单片机的知识进行复习,查找相关资料对那些知识进行扩充,于是就大量的查找相关资料和阅读,了解清楚了相应的功能后,开始了设计。
接着就是具体的模块部分的设计。
我把整体模块分为三个部分进行滴,输入部分,即倒计时的预设置模块,用键盘作为输入模块。
显示部分,由于我把设计的功能扩大到了小时,而且秒、分的设计要显示两位,所以需要用到2个七段数码管。
而控制部分则有AT89c51芯片来完成其功能。
再就是进行相对应的仿真设计。
由于再仿真用到的是Proteus软件,所以要对这个软件的应用进行学习。
也是开始查找一些资料书和上网找一些应用方面的技巧,在做了充分的准备后,开始了仿真绘图。
在绘图的过程中,有时候也是弄错了,导致仿真的结果出不来,在同学的帮助下,仔细查找和修改,还是完成了本设计,感觉集体的智慧还是很强大的。
6.参考文献
[1] 李朝青.单片机原理及接口技术(简明修订版).杭州:
北京航空航天大学出版社,1998
[2] 李广弟.单片机基础[M].北京:
北京航空航天大学出版社,1994
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 计数器
![提示](https://static.bdocx.com/images/bang_tan.gif)