单片机课程设计时钟.docx
《单片机课程设计时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计时钟.docx(13页珍藏版)》请在冰豆网上搜索。
单片机课程设计时钟
第一章绪论
一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发。
开发过程所用的设备即开发工具。
一般用计算机来调试单片机,所用开发工具为仿真器和调试器,两者一起构成硬件平台。
软件平台是指装入通用PC的软件开发调试系统,它的作用是编辑、汇编、编译、仿真与调试,称为WINDOWS下的集成开发环境。
集成开发环境是单片机厂家为用户提供的产品开发环境,包括单片机的硬件平台和软件平台。
20多年来,世界上出现过几种用于51系列单片机的开发软件,下面以伟福6000和Proteus为例。
1.1WAVE6000软件说明
这个软件是南京伟福公司的单片机开发软件,一般就是用在C51单片机,具备双工作模式和真正的集成调试环境。
此软件可不需要购买仿真器,使用软件模拟仿真器即可,使用很方便。
也配有硬件仿真设备,但需购买。
它集成了编辑器、编译器、调试器,源程序编辑、编译、下载、调试全部可以在一个环境中完成。
且伟福的多种仿真器及所支持各种CPU仿真全部集成在一个环境下。
由于此软件风格统一,从而可节省用户的时间和精力。
1.2PROTEUS软件说明
PROTEUS是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。
1.2.1软件的特点
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
1.2.2ISIS智能原理图输入系统
ISIS是Proteus系统的中心,具有控制原理图画图的超强的设计环境。
ISIS有以下特性:
1、出版质量的原理图
ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。
2、良好的用户界面
ISIS有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线。
此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。
3、自动走线
只要单击想要连接的两个引脚,就能简单地实现走线。
在特殊的位置需要布线时,使用者只需在中间的角落单击。
自动走线也能在元件移动的时候操作,自动解决相应连线。
节点能够自动布置和移除。
既节约了时间,又避免了其他可能的错误。
4、层次设计
ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。
5、总线支持
ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。
因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。
6、元件库
ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTL
CMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic和运算放大器。
7、可视封装工具
原理图和PCB库元件的匹配是由封装工具简化的。
在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。
8、复合元件
ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。
9、元件特性
设计中的每个元件都有一定数日的属性或特性。
某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。
一旦库建立,就能提供默认值及特性定义。
特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。
10、报告
ISIS支持许多第三方网表格式,因此能为其他软件所使使用.设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。
ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。
1.3MCS-51单片机系统简介
单片机应用系统由硬件系统和软件系统两部分组成。
硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。
软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。
与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。
在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。
配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。
在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。
显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。
单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管和LCD显示器。
1.3.1定时器\计数器
1、MCS-51系列中51子系列有两个16位的可编程定时\计数器可:
定时\计数器T0和定时\计数器T1。
它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。
方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。
2、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。
3、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式。
通过编程可设定工作于某种方式。
四种工作方式为:
13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)。
4、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。
1.3.2中断系统
1、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。
2、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。
中断允许寄存器IE的字节地址为A8H,可以进行位寻址。
系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。
3、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。
通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址。
如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。
对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。
通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。
4、MCS-51单片机响应中断的条件为:
中断源有请求且中断允许。
1.3.3LED数码管显示器
在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。
LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。
在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。
所谓译码方式是指由显示字符转换得到对应的字段码的方式。
对于LED数码管显示器,通常的译码方式有两种:
硬件译码方式和软件译码方式。
LED数码管在显示时,通常有两种显示方式:
静态显示方式和动态显示方式。
在使用时可以把它们组合起来。
在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。
第二章硬软件设计与分析
像一般的计算机系统一样,单片机的应用系统也是有硬件和软件组成的。
硬件和软件只有紧密配合,协调一致,才能组成高性能的单片机应用系统。
在系统的研制过程中,软、硬件的功能总是在不断的调整,以便相互适应,相互配合,达到最佳性能价格比。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计、在线调试等几个阶段,但他们不是绝对分开的,有时是交叉进行的。
2.1总体设计
该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。
设计的电子时钟通过数码管显示,并能通过按键实现设置初始时间和暂停、复位、启动控制等。
总体步骤如下:
1、在PROTEUS中设计硬件
2、在WAVE6000中编写程序,编译、连接形成HEX文件。
3、在PROTEUS中把HEX文件加载到单片机芯片上。
4、运行仿真看结果。
2.2硬件设计
硬件电路可通过Proteus软件进行设计。
2.2.1硬件设计电路
上图采用8位LED软件译码动态显示程序,使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳接法LED数码管,P1.0为暂停、恢复计时和调时位选择按键,P1.1为加1键,P1.2为减1键,P1.3为复位键。
2.2.2PROTEUS软件使用过程
1)选择元器件
2)放置元器件
3)连线
4)添加程序
5)运行仿真
2.2.3元器件清单如下
单片机:
AT89C51
按键:
BUTTON
电阻:
RES
电容:
CAP
晶振:
CRYSTAL
LED数码管:
7SEG-MPX8-CA-BLUE(CA:
共阳,CC:
共阴)
地:
GROUND
电源:
POWER
2.3软件设计
程序可通过WAVE6000软件来设计。
2.3.1电子时钟设计思想
用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算),形成定时时间为50ms。
用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。
然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。
显示格式为小时十位、小时个位--分十位、分个位--秒十位、秒个位。
在处理过程中加上了按键判断程序,能对按键处理。
2.3.2片内RAM存储分配
1、片内RAM的70H到77H单元为LED数码管的显示缓冲区
2、78H,79H,7AH分别为秒、分、小时计数单元
3、7BH为50ms计数器,7CH为调时按键计数器
2.3.3程序设计
程序设计的流程图如下:
图2-1主程序流程图图2-2定时器/计数器T0中断服务程序流程图
具体程序如下:
主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。
延时子程序,便于调用。
共阳极顺序数码管常用字型表。
本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。
采用软件译码动态显示。
定时器/计数器T0用于时间计时。
选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。
在对各单元计数的同时,把它们的值放到存储单元的指定位置。
第三章调试结果
3.1仿真工具栏
仿真控制按钮
1*运行
2*单步运行
3*暂停
4*停止
3.2仿真结果
按键处理设置为:
如没有按键,则时钟正常走时。
当按下K0按键时,进入调分状态,时钟停止走动即暂停;按K1或K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行;按K3键可进行复位,即计数重新从零开始。
第四章心得体会
1、此次的课程设计使我熟悉了WAVE6000集成环境和PROTEUS仿真软件的使用。
2、用此软件练习电脑时钟的设计,不仅能够掌握此软件的使用方法,而且复习了原来的C51汇编语言,对电脑时钟的原理和电脑时钟的汇编程序有了更进一步的理解。
3、仿真可把抽象的东西具体化,把理论和实际结合起来,更利于对单片机程序的理解与掌握。
要想熟练应用编程指令和相关软件,必须多多实践,找一些有趣的程序来分解、消化、操作甚至重新编程。
4、一个单片机应用程序的完成是个不断修改和仿真的过程,在此过程中,对指令的印象和理解也会更深,对指令的使用也会更加灵活和多变。
参考文献与网站
【1】张迎新等编著.单片机原理及应用.2版.北京:
电子工业出版社,2010.1
【2】XX网
【3】张俊模编著.单片机中级教程.北京:
航空航天大学出版社,2000.8
【4】王幸之等编著.AT89系列单片机原理与接口技术.北京:
航空航天大学出版社,2004.5