ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:148.95KB ,
资源ID:1735709      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1735709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告.docx

1、 单片机课程设计报告单片机课程设计报告 一、课程设计目的:1、单片机是一门技术性,应用性、实践性很强的技术。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。2、单片机课程设计内容包括硬件设计、制作及软件编写、调试,学生在熟练掌握焊接技术的基础上,能

2、熟练使用单片机软件开发环境 Keil C51 编程调试,并使用 STC ISP 调试工具采用串口下载方式联调制作的单片机最小系统。3、单片机课程设计题目包含基本部分及扩展部分,基本部分即单片机最小系统部分,扩展部分是对单片机内部资源及外部 IO 口的功能扩展,使制作的单片机系统具有一定的功能。二、课程设计要求:1.设计任务:用单片机设计一个简易安防声光报警器。2.控制要求 自制一个单片机最小系统,包括串口下载、复位电路,采用两路外部中断输入探测两路信号(采用两个小按键模拟),中断信号输入后能将报警信息在四位一体数码管上显示,并输出声光报警信号。三、课程设计的主要内容:1、51单片机简介 51单

3、片机是对目前所有兼容 Intel 8031指令系统的单片机的统称。该系列单片机的始祖是 Intel 的 8031单片机,后来随着 Flash rom 技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的 8位单片机之一,其代表型号是 ATMEL公司的 AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有 51 系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51 单片机即是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是 52 系列的单片机一般不具备自编程能力。当前常用的 51系列单片机主要产品有:Intel 的:80C31、80C51、87C51

4、,80C32、80C52、87C52等;ATMEL的:89C51、89C52、89C2051 等;Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品 本次设计中所采用的是 STC 公司生产的 89c54 系列产品,能够兼容 51单片机语言,同时又具有良好的性能。2、keil 简介 Keil C51 是美国 Keil Software公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功

5、能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。因此,本次课程设计的程序都采用 keil uvision2 调试,编译。3、设计过程和有关说明:(1)警情探测:在该设计中,需采用两路外部中断输入门禁报警和红外报警,分别采用两个小按键模拟。其中一个按键模拟门禁报警,对应外部中断 0;另一个按键模拟红外报警,对应外部中断 1。(2)报警设计:正常状态下,数码管不显示,当发生门禁报警时,系统发出声光报警信息并在数

6、码管显示 1;,当发生红外报警时系统发出声光报警信息并在数码管显示 2。只有由主人按下报警接触按钮或系统复位后,才能解除声光报警并将数码管的数字重置为 0。4、硬件电路设计:本系统是基于 51系列单片机的简易安防声光报警系统,主要包括的硬件电路模块有:单片机最小系统、七段数码管显示模块、安防报警器(点触开关模拟)、声光报警。1、单片机最小系统简介 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对 51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。结构图如右图所示:各部分的功能介绍如下:复位电路:由电容串联电阻构成,由图并结合电容电压不能突

7、变的性质,可以知道,当系统一上电,RST 脚将会出现高电平,并且,这个高电平持续的时间由电路的 RC 值来决定.典型的 51单片机当 RST 脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC 的取值就可以保证可靠的复位.晶振电路:典型的晶振取 11.0592MHz(因为可以准确地得到 9600波特率和 19200波特率,用于有串口通讯的场合)/12MHz(产生精确的 uS 级时歇,方便定时操作)单片机:一片 AT89S51/52 或其他 51 系列兼容单片机。特别注意:对于 31 脚(EA/Vpp),当接高电平时,单片机在复位后从内部 ROM 的 0000H开始执行;当接低电平时,复

8、位后直接从外部 ROM 的 0000H开始执行.其电路系统框图如下:图 1 系统原理框图 特别说明:由于实验条件有限,本课程设计中所涉及到的报警器装置采用点触开关模拟,具体电路图如图 2所示。当有报警事件发生时,即开关被按下,报警器输出低电平,单片机由此产生一个中断事件,并对其作出相应的处理,图中 C53 是用于消除点触开关动作时产生的干扰,防止单片机发生误动作。图 2 报警器模拟电路 整体的硬件电路图如图 3所示。图 3 系统硬件电路图 5、程序设计 基于 STC89C51 单片机的功能特点,并根据系统的要求编写出基于 keil C51 的程序,首先单片机上电复位,并进行初始化包括寄存器和数

9、码管,当发生报警事件时,单片机驱动声光报警装置并且在数码管上显示相应的报警信息,退出中断时,单片机检测报警解除按钮,当报警解除按钮被按下时单片机关闭声光报警并清除数码管上的报警信息,具体的程序流程如图 4所示。图 4 主程序流程图 图 5 中断函数流程图 参考程序如下所示:#include#define uc unsigned char#define DATAPORT P0/此为数码管段码口 如果是 P1口则将 P0修改为 P1 /*下面的是数码管位选端口 对应自己的板子进行修改 如果跟仿真程序里面一样到 就不用改 */sbit SEG0=P20;/第 1位数码管 sbit SEG1=P21;

10、/第 2位数码管 sbit SEG2=P22;/第 3位数码管 sbit SEG3=P23;/第 4位数码管 sbit LED1=P34;/报警灯 1 sbit LED2=P35;/报警灯 2 void Delay(int s);/函数声明;void KeyScan(void);/函数声明 void Display(void);/函数声明 void Init_all(void);void Trans(void);sbit KEY1=P14;/定义相应的按键端口 sbit KEY2=P13;/定义相应的按键端口 sbit KEY3=P16;/定义相应的按键端口 sbit KEY4=P17;/定义

11、相应的按键端口 unsigned char const segment10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/显示段码值0123456789 unsigned char Seg4=0,0,0,0;/存放各个数码管显示数字的变量 uc alarm1,alarm2;void Delay(int s)/短暂延时函数 while(-s);void KeyScan(void)/函数定义 if(KEY1=0)/如果按钮 1按下 Delay(5000);/延时去抖 if(KEY1=0)/如果还是按下 ;if(KEY2=0

12、)/如果按钮 2按下 Delay(5000);/延时去抖 if(KEY2=0)/如果还是按下;if(KEY3=0)/如果按钮 3按下 Delay(5000);/延时去抖 if(KEY3=0)/如果还是按下 alarm1=0;alarm2=0;if(KEY4=0)/如果按钮 4按下 Delay(5000);/延时去抖 if(KEY4=0)/如果还是按下 ;void Display(void)/函数定义 SEG0=1;/选通 P20 DATAPORT=segmentSeg0;/输出相应显示值 Delay(300);/显示延时 SEG0=0;SEG1=1;/选通 P21 DATAPORT=segme

13、ntSeg1;/输出相应显示值 Delay(300);/显示延时 SEG1=0;SEG2=1;DATAPORT=segmentSeg2;/输出相应显示值 Delay(300);/显示延时 SEG2=0;SEG3=1;DATAPORT=segmentSeg3;/输出相应显示值 Delay(300);/显示延时 SEG3=0;void Init_all()EX0=1;EX1=1;IT0=1;IT1=1;EA=1;void main()Init_all();P1=0XFF;LED1=0;LED2=0;while(1)KeyScan();if(alarm1)Seg0=1;Seg1=1;LED1=1;e

14、lse Seg0=0;Seg1=0;LED1=0;if(alarm2)Seg2=1;Seg3=1;LED2=1;else Seg2=0;Seg3=0;LED2=0;Display();void Int0_ISR(void)interrupt 0 alarm1=1;void Int1_ISR(void)interrupt 2 alarm2=1;四、Proteus 仿真 Proteus ISIS 是英国 Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和 SPICE 电路仿真

15、相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SP I调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,

16、如Keil C51 uVision2 等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。本课程设计在做完方案设计和程序编辑后后就是利用 Proteus 进行硬件仿真,先把需要的元器件从元件库里面调出来,再按照接线原理图把线连接好,检查线路准确无误后再把用 KELL生成的 HEX程序文件导入单片机里,一切就绪后开始进行联调,若仿真结果与设计的不同,则先找有无硬件设置错误,再检查程序,不断检查,直至仿真成功。仿真联调过程如下:1、Keil C51 v7.50 软件和 Proteus 7.0 SP 软件,分别进行安装。2、把 Proteus 安装目录下 VDM51.dll(C:ProgramFilesLabcenter ElectronicsProteus 6 ProfessionalMODELS)文件复制到 Keil 安装目录的 C51BIN 目录中。3、编辑 C51 里 tools.ini 文件,加入 TDRV1=BINVDM51.DLL(PROTEUS VSM MONITOR 51 DRIVER)4、Keil 里设置:pro

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1