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