一个基于单片机精确计时的电源开关程序的设计与实现,各位大哥,我的论文如题0.988304039923616
请问你想问的是什么
0.214271564136386 哇 你的答案好精确哦 我的技术达不到 建议你换一个名字发 不要说是毕业设计
一个基于单片机精确计时的电源开关控制程序的设计与实现
摘要
由于精确计时在当前工业控制,日常生活等领域有广泛应用,本设计采用MCS-51系列单片机为核心器件,辅以相应的外围电路,设计制作出了基于单片机的精确计时控制硬件系统,并通过继电器外接被控制端,可以实现用较小的电流去控制较大电流的目的。在硬件系统的基础之上进行软件的设计,以进行精确延时。在硬件方面,除了单片机外,使用四个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS14芯片进行驱动。软件方面采用汇编语言编程,使用SLISP软件进行的程序烧写,涉及了单片机的定时和中断的使用。
关键词:单片机;精确计时;继电器;电路
TheDesignandImplementationofaPowerSwitchControlProcedureBasedonaPreciseTimeControlofMCU
Abstract
Precisetimecontroliswidelyappliedintheindustrialcontrol,andsomeotherareasofourdailylifeatpresent.ThisdesignutilizestheMCS-51microcontrollerasthecorecomponents,andsomeexternalperipheralcircuits.Themicrocontrollerhasbeendesignedbasedontheprecisetimecontrolhardwaresystem,andcontactedthecontrolleddevicewithaRelay.Itcanbeachievedthatrelativelysmallcurrentcouldcontrolalargercurrent.Thesoftwareisdesignedbasedonthehardwaresystemtoimplementprecisedelay,andfourLEDdigitaltubeseachofwhichhassevensectionsareusedtodisplaytimeinformation.TheLEDequipmentisprogrammedbydynamicscanningandusesthe74LS14ICchipasthedriver.Thesystemisdevelopedintheassemblelanguage;theprocedureisprogrammedwiththeSLISPsoftwareandisconcernedwiththetimingfunctionofMCUandtheuseofinterrupt.
Keywords:MCU;precisetimecontrol;Relay;circuit
目录
论文总页数:22页
1.引言1
1.1.课题背景1
1.1.1.单片机概述1
1.1.2.单片机的产生和发展历史1
1.1.3.单片机的发展趋势1
1.1.4.单片机的主要特点1
1.1.5.单片机的应用1
1.1.6.单片机的主要生产厂家和机型3
1.2.MCS-51系列单片机介绍3
1.2.1.基本特性3
1.2.2.引角功能5
1.2.3.汇编语言简介7
2.系统硬件设计8
2.1.设计方案8
2.2.硬件设计电路框图8
2.3.机型及器件选择9
2.3.1单片机的选择9
2.3.2时钟电路的设计9
2.3.3复位电路的设计10
2.3.4LED显示电路设计与器件选择10
2.3.5按键电路设计与器件选择12
2.3.6蜂鸣器电路的设计13
2.3.7继电器电路的设计14
2.4.硬件设计电路原理图14
2.5.硬件的调试15
3.软件设计15
3.1.程序流程图15
3.2.程序设计具体实现16
3.3.编译软件的使用和编译过程18
3.4.烧片18
3.5.系统测试19
结论19
参考文献20
致谢21
声明22
图14程序流程图
3.2.程序设计具体实现
程序的内容包括:主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等。
1.程序的起始地址
MCS-51系列单片机复位后,=0000H,而0003H为外部中断0的入口地址,000BH为计数器0中断服务程序入口地址,001BH为计数器1中断服务程序入口地址,0023H为串行中断服务程序入口地址。所以编程时应在0000H处写一跳转指令。
当CPU接收到中断请求信号并予以响应后,CPU会把当前的PC内容压入堆栈进行保护,然后转入相应的中断服务程序入口处执行。一般应在相应的中断服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程。
2.主程序的初始化内容
所谓初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作状态设定。MCS-51系列单片机复位后,非凡功能寄存器IE,IP的内容均为00H,所以应对IE,IP进行初始化编程,以开放CPU中断,答应某些中断源中断和设置中断优先级等。
在本程序中,使用了定时器1的中断,中断服务程序入口地址为001BH,用来产生40ms的单位时间。同时还要对一些存储单元进行初始化。
3.T1中断服务子程序的实现
本设计中所用晶振为12MHz,计时器1的计时初值为63C0H,计时为40ms。本设计的软件中设定为40ms的255倍。
程序如下所示:
TIMER40ms:;计时中断程序
CLREA;关中断
PUSHACC;将A累加器和缓存器库存入堆栈内
PUSHPSW
MOVPSW,设定缓存器库为第二个,以免改变原来的R~R7值
MOVTH1,设定定时时间40000us
MOVTL1,清除计时溢出位标志,以进行下一次的计时中断
MOVR0,判定定时时间倍数是否为零
JZLAB3
DEC@R0;不是,将定时时间倍数减1
LAB3:POPPSW;恢复原来年A累加器和缓存器库
POPACC
RETI;中断指令返回
求基于单片机的可逆计数器程序 可以从一个数计数到另一个数,在这个区间...
举个例子吧:比如用51单片机(如图)实现这个计数器,采用中断计数模式,使用51单片机的外部中断源的话(P3.2外部中断0),设置好中断模式,作为加1或减1的输入,可设置P1口为预置数数据输入口(可采用拨码开关的形式,虽然不是很直观,但可以输入二进制数据;也可以采用4*4矩阵键盘输入,要设计键盘的...
基于单片机的出租车计价器的优点
基于单片机的出租车计价器的优点是精确性。因为基于单片机的出租车计价器系统通过GPS等多种手段自动获取车程距离、时间、速度等信息,保证了计费的精确性。所以基于单片机的出租车计价器的优点是精确性。
单片机怎么精确延时?
几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响。500ms延时子程序程序:(晶振12MHz,一个机器周期1us。)void delay500ms(void){ unsigned char i,j,k;for(i=15;i>0;i--)for(j=202;j>0;j--)for(...
求一个基于单片机的用汇编语言写的倒计时程序
刚写的程序,可以通过S0(功能键),S1(加键),S2(减键)设定初值,倒数为00-00-00时蜂鸣器响,通过八位LED显示;include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};\/\/八位位选...
基于AT89C51单片机和DS18B20温度传感器、LCD1602液晶显示的高精度数字温...
DS18B20温度传感器、LCD1602液晶显示的代码 ;XRF多功能51单片机开发板 ;DS18B20测温程序(液晶显示,可测量0-99度);;TEMPER_L EQU 36H ;从DS18B20中读回高位,低位暂存区 TEMPER_H EQU 35H ;TEMPER_NUM EQU 60H;温度值存储 TEMPER_GE EQU 61H TEMPER_SHI EQU 62H TEMPER_SAVE EQU 63H FLAG1 ...
基于单片机的数字温度计设计好做么
这种设计相对来说比较好做。首先选择用什么系列的单片机。目前常用的有51单片机,AVR单片机,MSP430单片机等等。接下来选择用什么传感器。采用有温敏电阻,通过对直流电压分压,测量其直流电压的变化,也就是AD检测,再把电压值转换成温度值;(这种方式要求单片机具有AD检测功能,否则需要外接AD转换芯片。)...
用C语言制作基于单片机的数字温度计设计的原理图好程序 51单片机
DQ = 0; \/\/单片机将DQ拉低 delay_18B20(80); \/\/精确延时 大于 480us DQ = 1; \/\/拉高总线 delay_18B20(4);x=DQ; \/\/稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20);} \/***ds18b20读一个字节***\/ unsigned char ReadOneChar(void){unsigned char i=0...
做用51单片机做一个频率计,测量范围为0.1Hz~10kHz
实际上我们在测量信号的时候,低频一般会采用测周期,高频用测频才能提高测量的准确性。至于高低频的临界点,跟你的计数频率有关,感兴趣的话可以去看《电子测量原理》。下面我来讲下测周实现的方法,可以使用边沿触发的D触发器输出作为单片机的外部定时控制,测量信号作为触发时钟,计数值作为该信号的周期...
...的一个用计时器计时(精确到0.1s),但是载入单片机后开发板上却没有...
肯定不是1L说的#的问题,他已经说了能下载到板上了,说明编译通过了。如果#没有,编译直接报错的。应该是复制的时候没复制到第一个字符而已。“开发板上没有任何显示”什么意思呢?有LED灯接在IO口上吗?能描述的清楚点吗?
用AT89C51单片机和温度传感器DS18B20S设计数字式温度计
本设计采用的主控芯片是ATMEL公司的AT89S52单片机,数字温度传感器是DALLAS公司的DS18B20。本设计用数字传感器DS18B20测量温度,测量精度高,传感器体积小,使用方便。所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技术。51单片机是最常用的...
迪唯新亚: 可以用单片机设计一个定时开关电路.只要在程序设计里,设置等待n个脉冲以后,单片机输出开关机信号即可.即单片机是用数脉冲的方式来计时的.n的设置方法为:n=定时时间/单个脉冲长度.单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用.
秀峰区19160429708: 求一个 单片机控制电源定时开启、关闭的程序 时间是早上6点 晚上12点 - ?
迪唯新亚: 你这个就是一个时钟的问题吗.很简单的啊.只要设计好初始值就可以了.就是一个定时器的问题的.比如说你设计是100MS一次中断的.那么中断10次就是1S的.那么你就可以设计一些参数值的,用来计算当前的时间的,当参数值到达6点或12点的时候就可以通断开关的.就这样简单的.
秀峰区19160429708: 设计一个单片机控制的开关电路 - ?
迪唯新亚: 74HC245芯片,当改变1号引脚上的输入电平时就可以把输入端和输出端互相改变,引脚19控制芯片的工作.
秀峰区19160429708: 基于单片机的定时开关插座怎样实现 - ?
迪唯新亚: 我整过,很简单,其本质就是一个电子钟程序,可以不用时钟芯片,主程序不断显示时间,定时器中断程序中更新时分秒等变量,然后在主程序或中断程序中加入比较语句,如果小时和分钟都和设定开启时间相等,则吸合继电器 如果小时和分钟都和设定关闭时间相等,则断开继电器
秀峰区19160429708: 利用51单片机设计一个定时系统,通过三个开关(S1~S3)选择不同的定时时长,开关用普通I/O口,S1按下定时15S,S2按下定时20S,S3按下定时35S.同时在P1口设计一个跑马灯.?
迪唯新亚: #include<reg51.h> #include<intrins.h> unsigned int count; unsigned int i; unsigned int sec; unsigned int lsd_point; unsigned char LSD1[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,};//LED样式表,共阳接法 sbit s1=P3^1; sbit s2=P3^2; sbit s3=...
秀峰区19160429708: 基于51单片机的定时器设计(定时插座) - ?
迪唯新亚: 单片机电源、晶振电路就不画了.我这里用的是拨码开关设定时间,你也可用一般按钮,也可用拨码盘开关.
秀峰区19160429708: 如何用51单片机设计一个定时关闭电源的程序和电路 - ?
迪唯新亚: 利用单片机内部计时器,控制继电器应该可以的.
秀峰区19160429708: 用单片机做简易家电定时控制器 - ?
迪唯新亚: 还可以使用现成的TPC4-4TD型定时程序控制器,可以控制4路负载,还有4路输入开关的控制,输出定时0——200小时,一共60行设置程序,每行程序有一个延时定时器和一个输出定时器.采用表格设置,无需编程.不仅可以实现定时控制,还...
秀峰区19160429708: 单片机电子秒表课程设计 - ?
迪唯新亚:ORG 0000HLJMP MAINORG 0003H ;外部中断INT0中断入口LJMP KAISHIORG 000BH ;定时器T0中断入口LJMP UPDATEORG 0013H ;外部中断INT1中断入口LJMP TINGZHI MAIN: MOV DPTR, #TAB ;存入表头地址MOV TMOD, ...
秀峰区19160429708: 求一个基于单片机的用汇编语言写的倒计时程序 - ?
迪唯新亚: 刚写的程序,可以通过S0(功能键),S1(加键),S2(减键)设定初值,倒数为00-00-00时蜂鸣器响,通过八位LED显示;#include#include#define uchar unsigned char #define uint unsigned int uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,...