MCS-51系列单片机程序的设计论文一
毕业设计论文_基于51单片机
南京信息职业技术学院毕业设计论文作者薛亮学号*****T32 系部电子信息学院专业无线电技术题目基于单片机的家用电器远程遥控装置的设计与制作指导教师李光明评阅教师完成时间:2010年2月11日目录第1章绪论 (5)1.1 概述 (5)1.2 设计要求及主要功能介绍 (5)1.3 MCS-51系列单片机简介 (7)第2章系统总体设计 (9)2.1 系统功能模块的划分 (9)2.2 系统原理框图 (9)2.3 系统软件主要特色 (10)第3章各模块详细设计 (12)3.1 振铃检测模块的设计 (12)3.2 双音多频模块的设计 (13)3.3 自动摘机及超时挂机模块的设计 (16)3.4 语音提示模块的设计 (17)3.5 密码设置模块的设计 (21)3.6 EEPROM及看门狗模块的设计 (23)3.7 继电器驱动模块的设计 (27)3.8 系统总程序的设计 (28)第4章系统的组装、调试和测试 (30)4.1 系统的组装、调试 (30)4.2 振铃检测及自动摘机功能的测试 (30)4.3 语音及双音多频功能的测试 (30)4.4 密码设置功能的测试 (30)4.5 EEPROM密码存储功能的测试 (31)4.6 继电器驱动、电器状态显示及语音提示功能的测试 (31)4.7 超时自动挂机功能的测试 (31)第5章系统方案总评 (32)结论 (33)致谢 (33)参考文献 (33)附录A 家用电器远程遥控装置的功能及使用 (35)1 家用电器远程遥控装置的功能 (35)2 家用电器远程遥控装置的使用方法 (36)图1 家用电器远程遥控装置原理图 (38)图2 家用电器远程遥控装置印制板图 (39)图3 家用电器远程遥控装置CPLD内部电气图 (40)表1 家用电器远程遥控装置元器件清单 (41)第1章绪论1.1 概述单片机以其强大的控制能力已经被广泛应用于诸多领域,从最初的8位控制器到现在的16位、32位控制器都还有很大的发展和应用空间。
MCS-51单片机程序设计
+1
,当X>0
Y= 0
,当X=0
开始
-1
,当X<0
X=0
N
程序流程框图如图4.1所示。 Y
Y←0
X>0 Y
Y←1
N Y←-1
结束
程序如下: ORG
MOV CJNE MOV AJMP MP1: JB MOV LJMP MP2: MOV HERE: SJMP
1000H A,R0 A,#00H,MP1 R1,#00H HERE ACC.7 MP2 R1,#01H HERE R1,#0FFH HERE
1000H DPTR,#2000H DPL DPH DPTR,#3000H R2,DPL R3,DPH
;源数据区首地址 ;源首址暂存堆栈
;目的数据区首地址 ;目的首址暂存寄存器
LOOP:
POP POP MOVX INC PUSH PUSH MOV MOV MOVX MOV MOV DJNZ SJMP
;源数据区首地址 ;目的数据区首地址 ;循环次数 ;取数据 ;数据传送 ;源地址加1 ;目的地址加1 ;循环控制 ;结束
例4.8 外部RAM之间的数据传送程序。
把外部RAM 2000H开始单元中的数据传送到外部RAM 3000H开始的单 元中,数据个数在内部RAM的35H单元中。
START:
ORG MOV PUSH PUSH MOV MOV MOV
K=?
K=0
K=1
转向 0 分支 转向 1 分支
K= n-1
K=n
转向 n-1 分支 转向 n 分支
例4.5 设内部RAM的30H单元有一个数,根据该数值的不同 转移到不同的程序段进行处理,设数值的范围为0~10的 无符号数。
毕业设计(论文)-基于51单片机控制的电子密码锁设计
基于51单片机控制的电子密码锁设计摘要:本设计以单片机以AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构,实现要是信息在主机的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便对于密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统可扩展性和运行的稳定性。
测试结果表明,本系统各功能已达到本设计的所有要求。
关键词:AT89C51;密码锁;单片机设计;电子锁目录摘要 (1)关键词 (1)第一章密码锁的简介及现况 (1)1.1引言 (1)1.2电子密码锁的简介 (1)1.3电子密码锁发展趋势 (2)1.4本设计所要实现的目标 (2)1.5设计的密码锁的功能 (2)第二章设计方案的选择 (3)2.1方案的论证与比较 (3)第三章单片机的组成 (4)3.1AT89C51单片机的简介 (4)3.2电路图的绘制 (7)第四章单片机硬件资源 (7)4.1开锁机构 (7)4.2按键电路设计 (8)4.3显示电路设计 (10)4.4AT89C51单片机复位方式 (11)4.5密码锁的电源电路设计 (12)第五章程序调试 (13)5.1程序调试用到的软件及工具 (13)5.2KEIL C51简介 (14)5.3调试过程 (14)5.4调试、仿真与实现 (15)第六章软件设计 (16)6.1系统软件设计的总统思想 (16)6.2各子程序设计 (17)1 键盘扫描子程序 (17)2 LED显示子程序 (18)3 密码比较和报警程序 (19)设计总结与展望 (21)致谢 (22)附录:总原理图 (22)参考文献 (24)第一章密码锁的简介及现况1.1引言在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
(完整版)基于单片机的计算器毕业设计论文
摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。
计算机在人们的日常生活中是比较常见的电子产品之一。
可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。
利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个IO 端口的功能和基本用途的了解。
掌握Microsoft Visual C++ 6.0应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。
关键字:AT89S51 LCD 控制按键目录第一章绪论 (4)1.1 课题简介 (4)1.2 设计目的 (4)1.3 设计任务 (5)第二章课题背景 (6)2.1 单片机发展现状 (6)2.2 计算器系统现状 (8)2.3 MCS-51系列单片机简介 (9)2.4 矩阵按键 (14)2.5 计算器设计总体思想 (14)第三章硬件系统设计 (16)3.1 键盘接口电路 (17)3.2 LCD显示模块 (17)3.3 运算模块 (19)第四章软件设计 (20)4.1 汇编语言和C语言的特点及选择 (20)4.2 键扫程序设计 (20)4.3 算术运算程序设计 (21)4.4 显示程序设计 (22)第五章系统调试与存在的问题 (24)5.1 硬件调试 (24)5.2 软件调试 (24)总结 (26)参考文献 (27)附录一 (28)附录二 (29)附录三 (30)第一章绪论1.1 课题简介当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。
毕业设计(论文)任务书(范文,仅供参考格式)【范本模板】
梧州学院毕业设计(论文)任务书课题名称教学楼智能灯光控制系统设计系部电子信息工程系专业电子信息工程班级05电本1班学号0500604143姓名容慧钧指导教师(签名) 年月日教研室主任(签名) 年月日一、课题的内容和要求:设计并制作一个以MCS-51系列单片机为核心,由主机单元和从机单元组成,通过指令的方式实现教学楼照明的一套智能教学灯光控制系统.其中从机单元包括控制器、光线采集电路、人数采集电路、显示模块、通信接口模块,主机单元包括液晶显示模块、键盘模模块、实时时钟模块等模块.二、设计的技术要求与数据(或论文主要内容):论文的主要内容:设计一套关于教学楼灯光控制的系统,可实现对教学楼灯光的总体控制,不需要人工职守,能根据教室的光线情况、使用情况和设定的要求,自动分析各种状态给出照明控制信号,对教学楼的灯光进行自动控制.并能根据需要将每个教室的光线、当前教室人数、灯光使用情况反馈到中央控制单元,经过中央控制单元再反馈到学校的后勤管理灯光控制中心。
三、设计(论文)工作起始日期:自2009 年1月20日起,至2009 年 4 月20 日止。
四、进度计划与应完成的工作:1.2009年1月23日至2009年1月31日:查阅资料,做出设计方案;2.2009年2月1日至2009年2月15日:模块电路的设计与实践,完成电路设计;3.2009年2月16日至2009年3月10日:完成作品设计、制作与调试;4.2009年3月11日至2009年3月31日:完成毕业设计论文初稿;5.2009年4月1日至2009年4月20日:完成毕业设计的全部工作五、主要参考文献、资料:[1]赵广林.Protel DXP电路设计与制作[M].电子工业出版社,2005.8,15-342[2] 冯耀辉等.PowerPCB 5.0入门与提高[M].人民邮电出版社,2004。
6,17—48[3] 康华光等.电子技术基础(模拟部分第五版)[M].高等教育出版社,2006。
(完整版)基于51单片机的硬件加密锁毕业论文
本科学生主题论文论文题目:基于51单片机的硬件加密锁的设计与实现学院:电子工程学院年级:2011专业:电子信息工程姓名:陈丽君学号:指导教师:王英丽2014年4月23日摘要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。
单片机即单片微型计算机(Single-Chip Microcomputer),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域。
本课题选择MCS-51单片机为核心控制元件,设计了一个日常生活中用到的硬件加密锁系统。
该系统是由单片机系统及MAX232组成。
使用单片机汇编语言进行编程,实现了硬件加密锁的功能本论文主要介绍了硬件加密锁的软、硬件部分的设计,以及在设计、调试过程中遇到的问题及解决方案。
经过实践证明,本课题设计的该系统结构简单,稳定,造价成本低,功能完全,具有很强的实用性。
关键词8051单片机;硬件加密锁系统;MAX232AbstractThe single slice machine is the microcomputer which all integrates main calculator function parts on a piece of chip single slice machine namely single slice microcomputer(the Microcomputer of the Single-Chip), gather CPU, RAM, ROM, count to connect in the tiny controller of integral whole with variety in fixed time Among them 51 single slice machines is various single slice machine in is a typical model most and each realm.This topic choice MCS-51 single slice machine is a core control component, designed a daily life convenient arrive of the weaving a distance, the function which carries out of the design, adjust try the process of the problem and the solution pass by to practice a certificate, the system's structure of[with] this topic design simple, stabilize, build price cost low, function complete, .Key wordsSingle Chip Computer 805151 The )结构。
1_5011722_毕业设计(论文)-基于51单片机的智能LED照明控制系统设计1
基于51单片机的智能LED照明控制系统设计摘要随着社会的发展人们对生活质量的要求越来越高,照明在能耗中所占的比例日益增加,因而照明节能也日显重要。
现在国内外普及使用的节能开关基本有声控型、触摸型、感光型等。
这几种开关各有自己的弊端,如声控型不适合环境嘈杂场所、感光型开关在无人期间不能自动关闭。
本设计通过AT89C51单片机结合LED照明技术、红外传感技术、光感技术、延时技术、处理等技术来实现对照明设备的智能控制。
单片机通过继电器控制照明设备的打开或者关闭、通过光照检测电路对照明设备周边亮度进行检测,如果亮度不够则单片机同时检测BIS0001芯片是否采集到了人体热释电传感信号,根据有无人体热释电传感信号单片机立刻控制照明设备打开或关闭。
关键词:单片机;传感器;BIS0001;照明控制;节能AbstractWith the development of society people of the quality of life in demand is higher and higher, lighting in the proportion of energy consumption, thus increasing illumination energy conservation also more and more importantly. Now universal use energy-saving switch at home and abroad have sonic basic type, touch type, photographic type and so on. This several switch have their own disadvantages, such as sonic type is not suitable for environmental noisy places, photographic switch in one period can't shut automatically. This design combined by A T89C51 LED lighting technology, infrared sensing technology, light sensor technology, the delay technique and processing technology to realize the intelligent control of lighting equipment. Microcomputer controls lighting equipment open or closed, by the relay ,through the light detection circuit for lighting equipment testing, if surrounding brightness is not enough then microcomputer detect the BIS0001 chip whether collected to human pyroelectric sensing signals, according to whether have pyroelectric sensing signals microcontroller redirected immediately control lighting equipment open or closed.Keywords: microcontroller;sensor;BIS0001;lighting control;energy-saving目录摘要 (I)ABSTRACT (III)前言 (1)1 概述 (2)1.1 课题研究背景 (2)1.2 课题研究的目的与意义 (2)1.2.1 良好的节能效果和延长灯具寿命 (2)1.2.2 改善工作环境,提高工作效率 (2)1.2.3 提高管理水平 (3)1.2.4 较好的投资收益效果 (3)2 系统设计方案 (4)2.1 单片机的选择 (4)2.2光照检测方式 (5)2.3 人体感应方式 (5)2.4 延时参数设置电路 (6)2.5 照明设备驱动电路 (6)3 硬件电路设计与实现 (7)3.1 系统硬件总述 (7)3.2 CPU性能介绍 (7)3.3 主控制机电路设计 (7)3.4 菲涅尔透镜 (8)3.5 热释电传感器及处理电路 (9)3.5.1 热释电红外线传感器 (9)3.5.2 信号处理电路 (10)3.6 光照检测电路 (11)3.7 控制电路 (11)3.7.1 延时时间选择电路 (11)3.7.2 输出控制电路 (12)3.8 时钟电路 (12)4 系统软件设计及实现 (13)4.1 系统软件流程图 (13)4.2 仿真环境介绍 (14)4.2.1 Keil介绍 (14)4.2.2 Proteus介绍 (14)5 系统可靠性技术 (15)5.1干扰产生的后果 (15)5.2 单片机应用系统的硬件抗干扰设计 (16)5.3 软件抗干扰技术 (17)毕业设计总结......................................... 错误!未定义书签。
单片机程序设计范文
单片机程序设计范文单片机程序设计是指利用单片机进行程序编程开发,实现各种功能或控制操作的过程。
单片机是一种微型计算机系统,它具有CPU、内存、输入输出接口等基本组成部分,并且集成在一个芯片上。
单片机程序设计是利用这种芯片进行软件开发,从而实现各种应用需求。
在进行单片机程序设计时,需要掌握一些基本的知识和技巧。
首先,需要了解硬件系统的基本结构和功能,包括CPU、存储器、输入输出接口等。
其次,需要熟悉单片机的指令集和编程语言,如汇编语言或C语言等。
此外,还需要了解各种外设的接口和控制方法,如LED灯、数码管、按键等。
单片机程序设计的流程主要包括以下几个步骤:分析需求、设计框架、编写代码、调试测试和优化改进。
首先,要对需求进行分析,明确所需实现的功能和控制要求。
然后,根据需求设计单片机系统的框架,包括硬件连接和软件模块划分。
接着,根据设计完成编程工作,编写相应的代码。
编写代码时,需要考虑到系统的实时性、稳定性和可扩展性等方面。
编写完成后,需要进行调试测试,确保系统正常运行和实现预期功能。
最后,还需要对系统进行优化改进,提高性能和稳定性。
在实际的单片机程序设计中,有很多经典的案例和实践经验可以借鉴。
例如,LED灯的闪烁控制、数码管的显示操作、按键的响应等。
通过学习这些案例,可以更好地理解和掌握单片机程序设计的基本思路和方法。
此外,还可以通过参加单片机比赛、实践项目等方式提升编程能力和设计水平。
单片机程序设计具有很广泛的应用领域。
例如,工业控制领域中,可以利用单片机实现各种自动化控制系统。
在家电领域中,可以运用单片机实现智能化、联网化的产品功能。
在通信领域中,可以使用单片机实现各种数据处理和通信控制功能。
此外,还可以利用单片机设计各种嵌入式系统、物联网设备等。
总之,单片机程序设计是一项重要的技术和领域,对于电子工程师和计算机科学家来说具有重要的意义和价值。
通过系统学习和实践,可以掌握单片机程序设计的基本理论和实践技巧,进而应用到实际项目中,为社会和经济发展做出贡献。
第4章 MCS-51单片机汇编语言程序设计(2)
XCH A,R3 INC A MOVC A,@A+DPTR MOV DPL,A MOV DPH,R3 CLR A JMP @A+DPTR TAB DW DW A0 A1
…………. DW AN
INC
DPTR
MOVX A,@DPTR SUBB A,R7 JNC XCH BIG1 A,R7
BIG0:INC DPTR
实现程序如下: 实现程序如下
START:CLR C : MOV DPTR,#ST1 , MOVX A,@DPTR , MOV R7,A
MOVX @DPTR,A RET BIG1:MOVX A,@DPTR SJMP BIG0
实现程序如下: 实现程序如下 MOV 30H, 20H ANL 30H,#00011111B MOV A,21H SWAP A RL A ANL A,#11100000B ORL 30H,A
第4章 MCS-51单片机汇编语言程序设计
实现程序如下: 实现程序如下 例 A,@R1 ADDC4.3 做3个字节的 无符号的加法. 无符号的加法.设一个加 MOV R0,#52H , MOV @R0,A 数存放在内部RAM 50H、 RAM的 数存放在内部RAM的50H、 MOV R1,#55H , DEC R0 51H、52H单元中 单元中, 51H、52H单元中,另一 DEC R1 RAM的53H、 MOV A,@R0 个加数存放在RAM 个加数存放在RAM的53H、 MOV A,@R0 54H、55H单元中 单元中, 54H、55H单元中,相加 ADD A,@R1 结果存内部RAM的50H、 结果存内部RAM的50H、 RAM ADDC A,@R1 51H、52H单元 单元, 51H、52H单元,均从高 MOV @R0,A 字节开始存放, 字节开始存放,进位存放 MOV 00H,C 在位寻址区的00H位中。 00H位中 在位寻址区的00H位中。 MOV @R0,A DEC DEC R0 R1
MCS-51系列单片机的指令系统
51系列单片机指令系统包含5种功能类型的指令,7 种寻址方式,共有111条指令。
addr16 16位目标地址,片外数据存储器或程序存储器以及外 部芯片的地址,用于LCALL和LJMP指令中;
addr11 11位目标地址,片内数据存储器或程序存储器的地址, 用于ACALL和AJMP指令中;
rel 相关地址,8位带符号偏移量,一般是程序存储器字节地址, 通常在跳转类指令中使用,其对应的十进制范围为-128~+127;
立即寻址就是直接给出操作数。
取指令时,即可由程序存储器中直接取得操作数据。51单 片机中除了一条指令(MOV DPTR,#data16)是16位长 的立即数外,其余都是8位的立即数。
例如:MOV A,#30H;无论执行之前A中的内容是多少, 则执行后A=30H。
值得注意的一点是:在立即数寻址中立即数前面必须要加 上一个“#”号,“#”表示其后面内容为立即数而不是一个 字节单元地址。
bit 位地址,针对片内数据存储器中的可位寻址的位使用; DPTR 数据指针,可用做16位的地址寄存器; (X) X指寄存器或十六进制数,则(X)为指向以X寄存器中的内
容为目标地址的单元或以十六进制数据为目标地址的单元; ← 数据传送的方向,将左边的内容送入右边; A 累加器; ACC 直接寻址方式的累加器; B 寄存器B; C 进位标志位,是布尔处理机的累加器,也称为位累加器。
任何一种处理器都必须经过设计人员对
51单片机毕业论文
基于MCS-51单片机的步进电机系统摘要本文通过MCS-C51单片机对步进电机进行控制,主要介绍了步进电机控制系统,驱动电路和LED显示电路的设计,包括硬件系统设计和系统软件设计,来实现步进电机的控制,系统为一自动控制系统,通过按键向单片机输送控制信号,控制步进电机的转速和正反转,在步进电机控制系统的设计中,重点阐述了脉冲产生电路以及对速度的控制,该系统具有成本低,控制方便的特点。
采用MCS-C51单片机指令系统进行编程来实现软件部分测试,系统能实现上述功能。
关键词:MCS-C51 步进电机控制系统AbstractIn this paper, MCS-51 microcontroller to control the stepper motor, stepper motor control are introduced system, drive circuit and LED display circuit design, including hardware, system design and system software design, to achieve the stepper motor control system an automatic control system, key to the microcontroller through the delivery control signal to control the stepper motor speed and reversing, the stepper motor control system design, focuses on the pulse generator circuit and the speed control, the system is low cost and convenient control features. With MCS-C51 microcontroller instruction to implement software programming some of the test, the system can achieve these functions.Keywords: MCS-51 Stepping Motor Control system目录摘要-----------------------------------------------------------1 Abstract-------------------------------------------------------1目录-----------------------------------------------------------2前言-----------------------------------------------------------41单片机发展概述1.1单片机的基本概念----------------------------------------41.2MS-51单片机内部结构-------------------------------------41.3MS-51单片机引脚及功能-----------------------------------52步进电机发展概述2.1步进电机简介-----------------------------------------62.2步进电机分类-----------------------------------------62.2反应式步进电机原理及结构2.2.1步进电机基本原理--------------------------------7 2.2.2步进电机转速控制原理----------------------------8 2.3步进电机驱动控制系统----------------------------------83硬件电路设计3.1单片机外围电路---------------------------------------------9 3.2步进电机及驱动电路-----------------------------------------9 3.3数码管及驱动电路-------------------------------------------10 3.4按键电路设计-----------------------------------------------104软件电路设计4.1数码管显示设计4.1.1数码管流程图------------------------------------------11 4.1.2数码管程序--------------------------------------------11 4.2步进电机流程图-----------------------------------------------12总结-------------------------------------------------------------13致谢-------------------------------------------------------------14参考文献---------------------------------------------------------15前言步进电机最早是在19世纪20年代由英国人开发的,50年代后期晶体管的发明也逐渐应用于步进电机上,对于数字化的控制变得更为容易。
单片机毕业论文
专科毕业设计(论文)题目基于51单片机的可调数码日历钟的设计与制作院(系部)电子与信息工程系专业名称电子信息技术年级班级学生姓名指导教师摘要单片机以其体积小、编程灵活、控制功能强大、价格低廉等特点被广泛应用在各种电子电器产品中。
单片机技术的出现和发展带来了电子技术和控制领域的一场革命。
单片机课程作为职业院校电子信息类专业一门重要的基础课程,它既是一门很有实用价值、实践性很强且很有趣味性的课程,同时它又是一门集硬件电路设计与软件编程于一体的学科,既要求我们有较好的电工电子技术基础知识,又要求有一定的逻辑思维和软件开发(编程)能力。
通过近几年对单片机的学习,我已掌握单片机的基本知识,并具备了单片机应用系统的初步开发能力。
即将毕业之际,我运用我所掌握的单片机知识设计和制作了一个基于51单片机的可调数码日历钟,这既是对我所学知识的总结与高度概括,同时也将自己所掌握的知识与实际应用结合起来,进一步提高工程实践能力。
数码日历钟是实际生活中应用较多的一个电子计时装置,可供人们查询日期、星期及掌握时间。
本文首先从数码日历钟的功能要求入手,对设计任务进行了分析,并将任务分解为若干个模块,提出在设计与制作过程中要用到的相关知识点,给出了本设计的硬件电路及软件流程,还给出了部分模块的源程序代码。
本设计经过多次调试运行无误,最终提交出一个完整的应用系统产品。
本次毕业设计的数码日历钟能在12864液晶屏上显示出年月日时分秒以及星期几,还能显示当前环境温度,并能通过按键调整日期和时间,在调整日期的同时通过相应算法自动实现星期几的调整,而且无论是否闰年、任何月份,当日期调整时都保证不会出现非法日期。
数码日历钟是一个非常实用的设计与制作,成本低廉,如能进一步完善,具有一定的推广使用价值。
本设计任务比较复杂,要考虑的问题很多,C语言的模块化程序设计思想较好地解决了这个问题,故本设计任务采用C语言编程。
关键词:51单片机,C语言,数码日历钟,毕业设计,制作I河南理工大学毕业设计论文目录摘要 (Ⅰ)1概述 (1)1.1 毕业设计的选题背景及制作意义 (1)1.1.1毕业设计的选题背景 (1)1.1.2毕业设计的制作意义 (1)1.2 数码日历钟的功能要求 (1)1.3 本设计制作的主要内容 (2)2数码日历钟的设计与制作任务分析 (3)2.1数码日历钟的设计与制作任务分析与分解 (3)2.2设计方案的论证及选择 (3)3 相关知识链接 (6)3.1 51单片机简介 (6)3.1.1 51单片机简介 (6)3.1.2 51单片机引脚功能介绍 (8)3.2由已知日期推算星期几 (11)3.2.1如何判断一个年份是否闰年 (11)3.2.2由已知日期如何推算星期几 (11)3.3 12864图形液晶的使用 (13)3.3.1 液晶概述 (13)3.3.2 LCM引脚功能介绍 (14)3.3.3 LCD12864图形液晶显示模块指令集 (15)3.3.4 LCD12864图形液晶显示模块与单片机的接口 (17)3.3.5 LCD12864图形液晶显示模块的基础函数 (17)3.4 51单片机中的中断与定时 (19)3.4.1 51单片机中的中断 (19)3.4.2 51单片机中的定时/计数器 (22)3.5数字温度传感器DS18B20的使用 (28)3.5.1 DS18B20概述 (28)3.5.2 DS18B20的内部结构 (29)3.5.3 DS18B20与单片机的接口电路 (32)3.5.4 DS18B20的操作命令 (32)-1-3.5.5 DS18B20的时序 (33)3.6 矩阵式按键的检测 (36)4系统设计与调试 (44)4.1 硬件系统设计与调试 (44)4.1.1硬件系统设计原理图 (44)4.1.2硬件系统元器件清单 (44)4.1.3硬件系统组装与调试 (45)4.2 软件系统设计与调试 (45)4.2.1软件系统设计 (45)4.2.2软件系统调试与仿真 (47)5结束语 (49)参考文献 (50)致谢 (51)-2-河南理工大学毕业设计论文 1 概述1、概述1.1 毕业设计的选题背景及制作意义1.1.1毕业设计的选题背景单片机以其体积小、编程灵活、控制功能强大、价格低廉等特点被广泛地应用在各种电子电器产品中。
毕业设计51单片机开发版设计
目录第一章引言 (3)第二章硬件设计 (4)2.1设计原则 (4)2.2 AT89S51单片机主控制模块 (5)2.3 键盘模块 (5)2.4 ADC模块 (6)2.5 DAC模块 (7)2.6温度采集模块 (7)2.7显示模块 (8)2.8其他模块 (9)第三章软件设计 (10)3.1 键盘模块程序设计 (11)3.2 ADC模块程序设计 (12)3.3 DAC模块程序设计 (12)3.4温度采集模块程序设计 (13)3.5数码管显示模块程序设计 (14)致谢 (16)参考文献 (17)附录 (18)附录1 键盘模块部分程序 (18)附录2 AD模块部分程序 (19)附录3 DA模块部分程序 (21)附录4 测温模块部分程序 (22)摘要:设计一种基于AT89S51单片机的开发板,该开发板具有成本低、体积小、可靠性高、功能齐全、低功耗设计、操作方便等特点。
本论文详细介绍了该开发板的开发过程及相关硬件结构和软件设计。
开发板以ATMEL公司的AT89S51单片机为核心控制器。
开发板可以作为主控制模块安装于控制系统中执行控制任务,也可以用作实验板,完成单片机各类通用实验,操作简单,控制结果可见,性价比高,可以应用于高校、科研院所的实验室等场合,具有一定的实用价值和现实意义。
关键词:AT89S51;液晶显示;键盘2基于单片机的最小系统设计第一章引言单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。
因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。
但是单片机学习效果的优劣直接取决于单片机的选择,C51系列单片机内部具有128字节RAM、5个中断源、32条I/O口线、2个16位定时器、4KB的程序存储器、一个全双工异步串行口。
本开发板选择具有ISP在线编程功能的AT89S51单片机,该单片机不需要烧写器,可在开发板上ISP在线编程,具有广泛的应用前景。
基于51单片机的电子钟设计及实现毕业论文---精品模板
南阳理工学院本科生毕业设计(论文)学院(系):计算机与信息工程学院专业:通信工程学生:谢国锋指导教师:张芳完成日期 2014 年 5 月南阳理工学院本科生毕业设计(论文)基于51单片机的数字电子钟设计及实现Digital Electronic Clock Design and Implementation Based on 51Single Chip Microcomputer总计:毕业设计(论文)22页表格:1个插图:11幅南阳理工学院本科毕业设计(论文)基于51单片机的数字电子钟设计及实现Digital Electronic Clock Design and Implementation Based on 51Single Chip Microcomputer学院: 计算机与信息工程学院专业:通信工程学生姓名:谢国锋学号: 1206644044指导教师(职称):张芳(讲师)评阅教师:完成日期:2014年5月南阳理工学院Nanyang Institute of Technology基于51单片机的数字电子钟设计及实现通信工程专业谢国锋[摘要]20世纪末,电子技术获得了快速的发展,在其推动下,现代电子产品几乎渗透了所有领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用液晶显示时、分、秒,以24小时计时方式,根据液晶显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整.[关键词]数字电子钟;单片机;定时器;液晶显示器Digital Electronic Clock Design and Implementation Based on 51Single Chip MicrocomputerCommunication Engineering Major Xie GuofengAbstract:The late 20th century,electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost Fields, a strong impetus to the development of social productive forces and social improvement in the level of information,while also further improve the performance of modern electronic products,replacement products have become increasingly fast pace。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51系列单片机程序的设计论文程序设计是单片机开发最重要的工作,程序设计就是利用单片机的指令系统,根据应用系统(即目标产品)的要求编写单片机的应用程序,其实我们前面已经开始这样做过了,这一课我们不是讲如何来设计具体的程序,而是教您设计单片机程序的基本方法。
不过在讲解程序设计是单片机开发最重要的工作,程序设计就是利用单片机的指令系统,根据应用系统(即目标产品)的要求编写单片机的应用程序,其实我们前面已经开始这样做过了,这一课我们不是讲如何来设计具体的程序,而是教您设计单片机程序的基本方法。
不过在讲解之前还是有必要先了解一下单片机的程序设计语言。
一.程序设计语言这里的语言与我们通常理解的语言是有区别的,它指的是为开发单片机而设计的程序语言,如果您没有学过程序设计可能不太明白,我给大家简单解释一下,您知道微软的VB,VC 吗?VB,VC 就是为某些工程应用而设计的计算机程序语言,通俗地讲,它是一种设计工具,只不过这种工具是用来设计计算机程序的。
要想设计单片机的程序当然也要有这样一种工具(说设计语言更确切些),单片机的设计语言基本上有三类:1.完全面向机器的机器语言机器语言就是能被单片机直接识别和执行的语言,计算机能识别什么?以前我们讲过--是数字“0”或“1”,所以机器语言就是用一连串的“0”或“1”来表示的数字。
比如:MOV A,40H;用机器语言来表示就是11100101 0100000,很显然,用机器语言来编写单片机的程序不太方便,也不好记忆,我们必须想办法用更好的语言来编写单片机的程序,于是就有了专门为单片机开发而设计的语言:2.汇编语言汇编语言也叫符号化语言,它使用助记符来代替二进制的“0”和“1”,比如:刚才的MOV A,40H 就是汇编语言指令,显然用汇编语言写成的程序比机器语言好学也好记,所以单片机的指令普遍采用汇编指令来编写,用汇编语言写成的程序我们就叫它源程序或源代码。
可是计算机不能识别和执行用汇编语言写成的程序啊?怎么办?当然有办法,我们可以通过“翻译”把源代码译成机器语言,这个过程就叫做汇编,汇编工作现在都是由计算机借助汇编程序自动完成的,不过在以前,都是靠手工来做的。
值得注意的是,汇编语言也是面向机器的,它仍是一种低级语言。
每一类计算机都有它自己的汇编语言,比如:51 系列有它的汇编语言,PIC 系列也有它的汇编语言,微机也有它自己的汇编语言,它们的指令系统是各不相同的,也就是说,不同的单片机有不同的指令系统,它们之间是不通用的,这就是为什么世界上有很多单片机类型的缘故。
为了解决这个问题,人们想了很多的办法,设计了许多的高级计算机语言,而其中最适合单片机编程的要数C 语言。
3.C 语言—高级单片机语言C 语言是一种通用的计算机程序设计语言,它既可以用来编写通用计算机的系统程序,也可以用来编写一般的应用程序,由于它具有直接操作计算机硬件的功能,所以非常适合用来编写单片机程序,与其他的计算机高级程序设计语言相比,它具有以下的特点:。
语言规模小,使用简单1)(ANSIC 标准的C 语言一共只有32个关键字,在现有的计算机设计程序中,C 语言的规模是最小的,9 种控制语句,然而它的书写形式却比较灵活,表达方式简洁,使用简单的方法就可以构造出相当复杂的数据类型和程序结构。
(2)。
可以直接操作计算机硬件C 语言能够直接访问单片机的物理空间地址(KEIL C51 软件中的C51 编译器更具有直接操作51单片机内部存储器和I/O 口的能力),亦可直接访问片内或片外存储器,还可以进行各种位操作。
(3)。
表达能力强,表达方式灵活C 语言有丰富的数据结构类型,可以采用整型、实型、字符型、数组类型、指针类型、结构类型、联合类型、枚举类型等多种数据类型来实现各种复杂数据结构的运算。
利用C 语言提供的多种运算符,我们可以组成各种表达式,还可以采用多种方法来获得表达式的值,从而使程序设计具有更大的灵活性。
(4)。
可进行结构化设计结构化程序是单片机程序设计的组成部分,C 语言中的函数相当于汇编语言中的子程序,KEILC51 的编译器提供了一个函数库,其中包含有许多标准函数,如各种数学函数、标准输入输出函数等,此外还可以根据用户需要编制满足某种特殊需要的自定义函数。
C 语言程序就是由许多个函数组成的,一个函数即相当于一个程序模块,所以 C 语言可以很容易地进行结构化程序设计。
(5)。
可移植性前面我们讲过,由于单片机的结构不同,所以不同类型的单片机就要用不同的汇编语言来编写程序,而C 语言则不同,它是通过汇编来得到可执行代码的,所以不同的机器上有80%的代码是公用的,一般只要对程序稍加修改,甚至不加修改就可以方便地把代码移植到另一种单片机中。
这对于已经掌握了一种单片机的编程原理,又想用另一种单片机的人来说,可以大大地缩短学习周期,我们将在教程的下册中专门来讲解C 语言的应用及其编程原理。
不过作为单片机初学者想要学会 C 语言并不是一件容易的事,因此对于大多数人来说,汇编语言仍是编写单片机程序的主要语言。
我们上册的教程将全部以汇编语言来编写单片机的程序。
了解了单片机编程的设计语言,下面我们来看单片机编程的基本过程和步骤。
二.单片机程序设计的步骤单片机的程序设计通常包括根据任务建立数学模型、绘制程序流程图、编写程序及汇编三个步骤。
1.建立数学模型数学实在是太有用了,在单片机的程序设计领域,根据任务建立数学模型是程序设计的关键工作。
比如,在一个测量系统中,从模拟通道输入的温度、压力、流量等信息与该信号的实际值是非线性关系,这就需要我们对其进行线性化处理,此时就要用到指数和函数等数学变量来进行计算;再比如,在直接数字化控制的系统中,常采用PID 控制算法来进行系统的运算,此时又要用到数学中的微分和积分运算等等。
因此,数学模型对于单片机的程序设计是非常重要的。
只不过作为初学者,我们还没有复杂到如此程度,因此,详细的内容就不讲解了。
下面的绘制程序流程图可是初学者的基本功,请大家务必仔细看一下。
2.绘制流程图所谓流程图,就是用各种符号、图形、箭头把程序的流向及过程用图形表示出来。
绘制流程图是单片机程序编写前最重要的工作,通常我们的程序就是根据流程图的指向采用适当的指令来编写的,下面的图形和箭头就是我们绘制流程图用的工具(图中所示)。
图片1绘制流程图时,首先画出简单的功能流程图(粗框图),再对功能流程图进行扩充和具体化,即对存储器、标志位等单元做具体的分配和说明,把功能图上的每一个粗框图转化为具体的存储器或单元,从而绘制出详细的程序流程图,即细框图。
下面举个例子给大家演示一下,请看下面的程序:主程序:LOOP:SETB P1.0 ; LCALL DELAY ;CLR P1.0 ;LCALL DELAY ;LJMP LOOP ;子程序:DELAY:MOV R7,#250;D1:MOV R6,#250;D2:DJNZ R6,D2 ;DJNZ R7,D1 ;RET ;END。
还记得吗,这是我们第四课中做过的LED 灯闪烁的实验,以前我们曾对程序进行过分析,现在让我们用流程图来把这段程序的主程序部分画出来,看上图的右边部分。
这就是程序的流程图,在单片机的编程过程中,绘制流程图能看清楚程序执行的步骤以及程序的流向,事实上,程序的编写就是根据流程图的功能完成的。
下面我们来把第十五课中的那个程序也用流程图画出来。
程序如下:ORG 0000H ;LJMP START ;ORG 30H ;START:MOV SP,#5FH;MOV P1,#0FFH ;MOV P3,#0FFH ;L1:JNB P3.5,L2 ;P3.5 上接有一只按键,它按下时,P3.5=0JNB P3.6,L3 ;P3.6 上接有一只按键,它按下时,P3.6=0LJMP L1 ;L2:CLR P1.0 ;亮LED1LJMP L1 ;L3:SETB P1.0 ;暗LED1LJMP L1 ;END。
图片1先不看图,自己画一下,看是不是同我画的一样。
在实际的程序设计中,根据框图,采用适当的指令编写出实现流程图的源程序就是我们编写程序的最后工作。
3.编写程序和汇编程序编写完之后,我们要把它汇编成机器语言,这种机器语言就是十六进制文件,后缀名为*.HEX文件,以前还要把它转换成二进制文件,后缀名为*.BIN 文件,不过现在的编程器都能直接读入十六进制文件,就不需要转换了,最后用编程器把程序写入单片机。
这些以前都讲过了,这里就不重复了。
下面来讲本课的主题—程序设计的方法。
三.单片机程序设计的方法要想搞清楚程序设计的方法,我们首先要知道单片机到底有哪几类程序?单片机的程序分为结构化程序、子程序和综合程序三个大类,先来看结构化程序。
1.结构化程序的设计方法在单片机的程序中,既有复杂的程序,也有简单的程序,但不论哪种程序,它们都是由一个个基本的程序结构组成的,这些基本结构有顺序结构、分支结构和循环结构。
(1)。
顺序结构程序的设计顺序结构的程序一般用来处理比较简单的算术或逻辑问题,它的执行过程是按照程序存储器 PC自动加1 的顺序执行的,主要用数据传递类指令和数据运算类指令来实现。
比如我们前面第六课中的I/O 口输入实验就是典型的顺序结构的程序。
试试看,把这个程序的流程图写出来。
下面再看一个例子:将内部RAM 中20H 单元和30H单元的无符号数相加,存入R0 (高位)和R1 (低位)中。
先画出流程图:图片1根据流程图编写源代码如下:MOV A,20H ;ADD A,30H ;MOV R0,A ;CLR A ;ADDC A,#00H ;MOV R0,A ;MOV A,30H ; ADD A,R1 ;MOV R1,A ;CLR A ;ADDC A,R0 ;MOV R0,A ;这就是顺序结构程序,程序的原理我就不分析了,我们接着讲分支结构的程序设计。
这里说明一点,最近有朋友提出这一课的有些程序看不懂,的确如此,这一课的有几个程序实例我们从来没有学过,之所以放在这里,原本是为了让大家理解程序设计的方法,举几个示例证明一下,没想到反而增加了大家的难度。
其实这些示例你不需要刻意的去理解它,只要明白它的设计方法就可以了,因为这一张的主要内容是程序设计的方法,而不是程序执行的原理和结果。
如果以后有更好的示例我会修改一下。
(2)。
分支结构程序的设计所谓分支结构就是利用条件转移指令,使程序执行某一指令后,根据所给的条件是否满足来改变程序执行的顺序,也就是本条指令执行完后,并不是象顺序结构那样执行下一条指令,而是看本条指令所给的条件是否满足,如果满足条件就跳转到其他的指令,如果不满足就顺序执行;当然也可以是满足条件顺序执行,而不满足条件跳转执行,看十五课实验程序中的下面两条:L1:JNB P3.5,L2 ;P3.5 上接有一只按键,它按下时,P3.5=0JNB P3.6,L3 ;P3.6 上接有一只按键,它按下时,P3.6=0这就是分支结构的程序,如果P3.5 为“0”,就转移;反之就顺序执行。