单片机30秒倒计时
CAD
报告书
三、总体
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
本
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现30秒倒计时程序的编写,包括利用中断实现1秒的定时及30秒的倒计时。 具体设计:通过AT89C51型号单片机,由P0 I/O引脚分别控制7SEG–MPX2–CA型号数码管,通过单片机的p2.0和p2.1控制选通数码管控制十位和个位,达到显示30秒倒计时的目的。。30秒倒计时,到0时P1.0 1KHZ 声音报警,P1.1 LED 2 秒闪烁一次。4 秒后声光停
图1 30秒倒计时总体电路设计
3.3.1硬件设计
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
AT89C51的芯片概述
AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 其工作电压在4.5,,V,一般我们选用,5V电压。外形及引脚排列如图2所示 : AT89C51主要特性
第1页,共11页
图2:AT89C51的核心电路框图
LED数码管显示器概述
本设计中采用的是7SEG–MPX2 –CA型号7段共阳数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图3所示:
图3 7SEG–MPX2–CA型号数码管
图5 程序框图
第2页,共11页
3.3.2软件设计方法
定时/计数器初值计算
(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。
(2)12M的晶振每秒可以产生1M个机器周期,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)上电时,显示30,开始倒数计时按下开关实现复位。
四、原理图仿真
4.1软件调试过程
4.1.1 系统调试工具keil C51
Keil C51 仿真器是一款利用KEIL C51 的IDE 集成开发环境作为仿真环境的廉价仿真器,是利用SST公司具有IAP功能的单片机SST89C58制作而成,主要是利用了SST89C58的IAP功能,所谓IAP功能是In application program 的英文缩写,是在应用编程的意思,通俗一点讲就是:它可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进行编程。它之所以具有这种功能,实际上它有两块程序flash区,其中一块flash中运行的程序可以更改另外的一块程序flash区中的程序,正是利用这一特性才用它作成了仿真器,我们把仿真器的监控程序事先烧入SST89C58,监控程序通过SST89C58的串口和PC通讯,当使用KEIL C51的IDE环境仿真时,用户的程序通过串口被监控程序写入flash程序区中,当用户设置断点等操作仿真程序时,flash程序中的用户程序也在相应的更改,从而实现了仿真功能 。
调试的主要方法 :
1. 启动Keil c51
2. 新建一个工程。Project菜单—〉New project ,选择好我们要保存的文件夹后,键入Frist 保存。接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。
3. 在工程中加入文件。新建一个文件,文件菜单File—〉New,我们再选择:文件菜单File—〉Save As? (另存为)弹出 对话框后,我们文件名框中键入First.c(注意文件后缀名是 .ASM)保存.ASM文件建好啦。现在我们把文件加入到工程中去。 点击Target 1前面的+号,右键单击Source Group 1—〉选择Add Files to Group,Source Group 1,选择添加 Add。编译运行,检查程序是否有错误。
第3页,共11页
4.1.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
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
文件,然后新建工程,连接单片机为AT89C51,选择Options for target,选择OUTPUT子菜单,在Create HEX Fi前打钩,DeBug子菜单中,Settings选择ProteusVSM
第4页,共11页
Simulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN文件,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试。
1、启动
2、暂停
第5页,共11页
3、倒计时完成
第6页,共11页
五、元器件清单
序号 元件类型 元件参数 元件个数 备注
1 芯片 AT89C51 1
2 晶振 12M 1
3 电源接口 5V 1
4 电容 100PF 3
5 排阻 10K 1
6 电阻 300 2
7 电阻 10K 1
8 排阻 10K 1
7SEG–MPX2–CA 9 数码管 1 共阳
10 电解电容 2200u 1
11 电解电容 10u 1
12 蜂鸣器 Buzzer 1
13 发光二极管 D1、D2 2 六、PCB版图
图6 仿真图
第7页,共11页
附录2
软件程序
STRT EQU P2.5 STP EQU P2.6 CLRR EQU P2.7 ORG 00H
AJMP MAIN
ORG 0BH
AJMP T0INT
ORG 1BH
AJMP T1INT
ORG 30H
MAIN: MOV SP,#60H MOV DPTR,#TAB MOV TMOD,#11H ;T0、T1定时方式1 SETB EA
SETB ET0
SETB ET1
第8页,共11页
MOV TH0,#3CH ;50ms定时常数 MOV TL0,#0B0H MOV TH1,#0FEH ;0.5ms定时常数 MOV TL1,#0CH MOV R0,#20 ;20x50mS=1S
MOV R1,#4 ;蜂鸣4S
MOV R4,#30 ;倒计时30S
k1: LCALL DISP JB STRT,K2
LCALL DISP
JNB STRT,$-3
AJMP START
k2: JB STP,K3 LCALL DISP
JNB STP,STOP
K3: JB CLRR,K1 LCALL DISP
JNB CLRR,CLEAR AJMP K1
START: SETB TR0 AJMP K1
STOP: CLR TR0 AJMP K2
CLEAR: CLR TR0 MOV R4,#0
AJMP K1
T0INT: MOV TH0,#03CH; ;定时中断子程序。重装定时常数
MOV TL0,#0B0H; DJNZ R0,T0INTR ;50msX20=1S,未满20次,跳出中断子程序
MOV R0,#20
CJNE R4,#0,T0INT1 AJMP T0INT2 ;倒计时间到,跳转 T0INT1: DEC R4 RETI
T0INT2: CPL P1.1 ;LED光报警 DEC R1
CJNE R1,#0,T0INT3 ;报警时间未到,继续 CLR TR1
ACALL DISP
AJMP $-2
T0INT3: ACALL ALARM AJMP T0INTR
第9页,共11页
T0INTR: RETI T1INT: MOV TH1,#0FEH ;P1.0 0.5ms高低电平变换一次,频率即为1KHz
MOV TL1,#0CH CPL P1.0
RETI
ALARM: SETB TR1 RET
DISP: MOV A,R4 MOV B,#10
DIV AB ;当前值除以10 MOV 20H,A ;得出的商送给十位 MOV 21H,B ;得出的余数送给个位 MOV A,20H ;十位显示
MOVC A,@A+DPTR MOV P0,A
SETB P2.1
LCALL DELAY
CLR P2.1
MOV A,21H ;个位显示
MOVC A,@A+DPTR MOV P0,A
SETB P2.0
LCALL DELAY
CLR P2.0
RET ;子程序返回
DELAY: ;误差 0us
MOV R6,#10
DL0:
MOV R5,#50
DJNZ R5,$
DJNZ R6,DL0
RET ;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极0-9显示代码
DB 92H,82H,0F8H,80H,90H
END
第10页,共11页