资源描述
基于单片机60秒倒计时系统控制设计
目录
摘要 1
第1章、单片机概述` 2
第2章、设计任务及规定 2
2.1.设计任务 2
2.2.设计规定 2
第3章、设计办法和内容 3
3.1.硬件设计 3
3.2.软件设计 6
3.3.软件程序 7
第4章、软件调试 8
4.1 系统调试工具keil C51 8
4.2 系统调试工具PROTEUS 8
4.3仿真 9
第5章、设计总结与道谢 10
参照文献 10
基于单片机60秒倒计时系统
摘要
单片机就是微控制器,它是嵌入式系统中重要且发展迅速构成某些。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色应用系统中,它就成为众多产品、设备智能化核心。因此,生产公司称单片机为“微电脑”。
单片机应用有助于产品小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改进劳动环境,减少能源和材料消耗,保证安全等。
核心字:单片机 微电脑 智能化
第1章、单片机概述`
单片机就是微控制器,它是嵌入式系统中重要且发展迅速构成某些。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色应用系统中,它就成为众多产品、设备智能化核心。因此,生产公司称单片机为“微电脑”。
单片机应用有助于产品小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改进劳动环境,减少能源和材料消耗,保证安全等。 但是,单片机应用意义绝不但限于它辽阔范畴以及所带来经济效益上,更重要意义还在于:单片机应用正从主线上变化着老式控制系统设计思想和设计办法。从前必要有模仿电路或数字电路实现大某些功能,当前已能使用单片机通过软件(编程序)办法实现了。这种以软件取代硬件并提高系统性能控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新概念,是对老式控制技术一次革命。随着单片机应用推广普及,微控制技术必将不断发展、日益完善和更加充实。
本篇论文讨论了简朴倒计时器设计与制作 ,对于倒计时器中LED数码显示屏来说,我为了简化线路、减少成本,采用以软件为主接口办法,即不使用专门硬件译码器,而采用软件程序进行译码。
第2章、设计任务及规定
2.1.设计任务
课程设计是提高学生单片机技术应用能力以及文字总结能力综合训练环节,是配合单片机课程内容掌握、应用得专门性实践类课程。通过典型实际问题实际,训练学生软硬件综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式训练,同步对教学内容做一定扩充。使自己深刻理解并掌握基本概念,掌握单片机基本应用程序设计及综程序设计办法。通过做一种综合性训练题目,达到对内容消化、理解并提高解决问题能力目。
2.2.设计规定
对于单片机控制60s倒计时规定如下:
(1)用单片机AT89C51定期器实现60s倒计时。本例中用两位数码管静态显示倒计时秒值。
(2)用PROTEUS软件设计,仿真基于AT89c51单片机60s倒计时。
(3)实现计时暂停。
第3章、设计办法和内容
本设计由硬件设计和软件设计两某些构成,硬件设计重要涉及单片机芯片选取,数码管选取及晶振,电容,电阻等元器件选取及其参数拟定;软件设计重要是实现60秒倒计时程序编写,涉及运用中断实现1秒定期及60秒倒计时。
详细设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时目。通过复位电路,在仿真过程中点击开关实现60复位。
3.1.硬件设计
AT89C51芯片概述
AT89C51是一种低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)可重复擦写1000次Flash只读程序存储器,器件采用ATMEL公司高密度、非易失性存储技术制造,兼容原则MCS-51指令系统及80C51引脚构造,芯片内集成了通用8位中央解决器和ISP Flash存储单元,功能强大微型计算机AT89C51可为许多嵌入式控制应用系统提供高性价比解决方案。AT89C单片机为诸多嵌入式控制系统提供了一种灵活性高且价廉方案。 其工作电压在4.5-5V,普通咱们选用+5V电压。外形及引脚排列如图1所示 :
AT89C51重要特性
图1:89C51核心电路框图
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保存时间:
·全静态工作:0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定期器/计数器
·5个中断源
·可编程串行通道
·低功耗闲置和掉电模式
·片内振荡器和时钟电路
AT89C51管脚阐明
(1)电源及时钟引脚(4个)
Vcc:电源接入引脚
Vss:接地引脚
XTAL1:晶振震荡器接入一种引脚(采用外部振荡器时,此引脚接地);
XTAL2:晶体振荡器另一种引脚(采用外部振荡器时,此引脚作为外部振荡器信号输入端)。
(2)控制线引脚(4个)
RST/Vpd:复位信号输入引脚/备用电源输入引脚;
ALE:地址锁存容许信号输出引脚/编程脉冲输入引脚:
EA:内外存储器选取引脚/片外EPROM编程电压输入引脚;
PSEN:外部程序存储器选通信号输出引脚。
(3)并行I/O引脚
P0.0-P0.7:普通I/O口引脚或数据/低位地址总线复用引脚;
P1.0-P1.7:普通I/O口引脚;
P2.0-P2.7:普通I/O口引脚或高位地址总线引脚;
P3.0-P3.7:普通I/O口引脚或第二功能引脚
所需器件如下表所列:
序号
元件类型
元件参数
元件个数
备注
1
芯片
AT89C51
1
2
晶振
12M
1
3
电源电容
10UF
1
4
电容
30PF
2
5
电阻
10K
1
6
电阻
470
14
7
数码管
8段
2
共阳
LED数码管显示屏概述
本设计中采用是7SEG–COM –ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图2所示:
图2 7SEG–COM –ANODE型号数码管
数码管分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一种发光二极管单元(多一种小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管阳极接到一起形成公共阳极(COM)数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管阴极为低电平时,相应字段就点亮。当某一字段阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管阴极接到一起形成公共阴极(COM)数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管阳极为高电平时,相应字段就点亮。当某一字段阳极为低电平时,相应字段就不亮。
LED数码管有两种连接办法如下:
共阳极接法。把发光二极管阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管阴极通过电阻与输入端相连。
图3LED数码管有两种连接办法
共阴极接法。把发光二极管阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管阳极通过电阻与输入端相连。
测量数码管引脚,分共阴和共阳两类:
找公共共阴和公共共阳:一方面,咱们找个电源(3到5伏)和1个1K(几百欧也行)电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有诸多,但总有一种LED会发光,找到一种就够了,然后GND不动,VCC(串电阻)逐个碰剩余脚,如果有各种LED(普通是8个),那它就是共阴了。相反用VCC不动,GND逐个碰剩余脚,如果有各种LED(普通是8个),那它就是共阳。也可以直接用数字万用表,红表笔是电源正极,黑表笔是电源负极。
3.2.软件设计
图4程序框图
定期/计数器初值计算
(1)本电路应用TIMER0 MODE 16位计数器计时中断法。
(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因而需输入100000个计时脉冲,方可达到1秒时间。本设计中,设定中断每次溢出时间50ms。
(3)由上式得知,循环20次即可达到1秒定期,即:
N=t/Tcy=0.05s/0.000001=5000
X=65536-5000=15536=3CB0H
(4)由上式得知5000个脉冲,一方面需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定期1秒。
(5)上电时,显示60,开始倒数计时按下开关实现复位。
3.3.软件程序
KEY EQU P3.0
ORG 00H
SJMP STAR
ORG 1BH
SJMP T1S
ORG 30H
STAR: MOV R2,#60
MOV R4,#20
MOV IE,#88H
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#OBOH
SETB TR1
ACALL DIS
SJMP $
TIS: MOV TH1,#3CH
MOV TL1,#0B0H
DJNZ R4,T1S1
MOV R4,#20
DJNZ R2,T1S0
CLR TR1
T1S0: ACALL DIS
T1S1: RETI
SEG7: INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
LOOP:CLR TR1
DIS:MOV A,R2
MOV B,#10
DIV AB
ACALL SEG7
MOV P1,A
MOV A,B
ACALL SEG7
MOV P2,A
JNB KEY,LOOP
RET
END
第4章、软件调试
4.1 系统调试工具keil C51
Keil C51 仿真器是一款运用KEIL C51 IDE 集成开发环境作为仿真环境便宜仿真器,是运用SST公司具备IAP功能单片机SST89C58制作而成,重要是运用了SST89C58IAP功能,所谓IAP功能是In application program 英文缩写,是在应用编程意思,通俗一点讲就是:它可以通过串口将顾客程序下载到单片机中,可以通过串口对单片机进行编程。它之因此具备这种功能,事实上它有两块程序flash区,其中一块flash中运营程序可以更改此外一块程序flash区中程序,正是运用这一特性才用它作成了仿真器,咱们把仿真器监控程序事先烧入SST89C58,监控程序通过SST89C58串口和PC通讯,当使用KEIL C51IDE环境仿真时,顾客程序通过串口被监控程序写入flash程序区中,当顾客设立断点等操作仿真程序时,flash程序中顾客程序也在相应更改,从而实现了仿真功能 。
调试重要办法 :
1. 启动Keil c51
2. 新建一种工程。Project菜单—〉New project ,选取好咱们要保存文献夹后,键入Frist 保存。接着弹出CPU类型选取框,咱们选取最惯用AT89C51,按拟定。
3. 在工程中加入文献。新建一种文献,文献菜单File—〉New,咱们再选取:文献菜单File—〉Save As?(另存为)弹出 对话框后,咱们文献名框中键入First.c(注意文献后缀名是 .c)保存。C文献建好啦。当前咱们把文献加入到工程中去。 点击Target 1前面+号,右键单击Source Group 1—〉选取Add Files to Group,Source Group 1,选取添加 Add。编译运营,检查程序与否有错误
。
4.2 系统调试工具PROTEUS
Proteus是一款EDA软件,该软件具备模仿电路仿真,数字电路仿真,单片机以及外围电路构成系统仿真,RS-232动态仿真,I2C调试器,SPI调试器,键盘和LCD系统仿真,以及各种虚拟仪器,如示波器,逻辑分析仪,信号发生器等。该软件当前支持单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM以及各种外围芯片。该软件还支持大量存储器和外围芯片,因此,该软件是一款集单片机和SPICE分析于一身仿真软件。
调试办法:一方面用Keil软件将C编译成HEX文献,打开Keil软件,新建一种文档,输入C程序,保存成C格式文献,然后新建工程,连接单片机为AT89C51,选取Options for target,选取OUTPUT子菜单,在Create HEX Fi前打钩,DeBug子菜单中,Settings选取ProteusVSM Simulator,USE前打钩,再次运营文献,成功后在目录下会生成HEX文献,打开Proteus软件,或直接点击DSN文献,双击单片机模板,点击文献夹式样图标选取相应HEX驱动文献,然后点击开始,进行调试。
4.3仿真
第5章、设计总结与道谢
通过本次单片机课程设计,使我明白了自己在学习这门学时在办法上存在局限性,让我对 单片机芯片,指令表,外部接线图有了更好理解,也让我理解了关于单片机设计原理,有诸多设计理念来源于实际,从中找到对的设计办法。
在这次设计实践之后,我学会了单片机基本编程办法,对单片机工作原理和用法也有了更深刻理解。在读理论运用中,提高了咱们工程素质,在没有做实践设计此前,咱们对懂得掌握都是思想上,对某些细节不加注重。在课程设计过程中我理解到,单片机并不是一门单一编程技术,它是一门系统专业课程。单片机可以广义以为是一台背嵌入操作系统高可靠性微机。一方面需要精深单片机自身编程语言、语句表语言。然后依照程序在实验室进行调试,使其达到预期限度。最后,依照调试成果写论文。不断地锻炼自己动手和思维能力。最后,依照调试成果写论文。不断地锻炼自己动手和思维能力。最后也要感谢向根祥教师悉心指引,才干使咱们设计得以顺利完毕。
参照文献
[1]张俊谟.《单片机中级教程-原理与应用》 北京航天航空出版社。.
[2] 李朝清.单片机原理及口技术.北京航空航天大学出版社..
[3] 高卫东.51单片机原理与实践. 北京航空航天大学出版社..
[4] 徐建民.汇编语言程序设计.电子工业出版社..
展开阅读全文