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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/756932.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单片机是对目前所有兼容Intel

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

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

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

6、能解除声光报警并将数码管的数字重置为0。4、硬件电路设计: 本系统是基于51系列单片机的简易安防声光报警系统,主要包括的硬件电路模块有:单片机最小系统、七段数码管显示模块、安防报警器(点触开关模拟)、声光报警。1、 单片机最小系统简介单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。结构图如右图所示:各部分的功能介绍如下:复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单

7、片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)单片机:一片AT89S51/52或其他51系列兼容单片机。特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.其电路系统框图如下:图1 系统原理框图特别说明:由于实验条件有限,本课程设计中所涉及到的报警器装置采用点触开关模拟,具

8、体电路图如图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;/第2位数码管sbit SEG2=P22;/第3位数码管sbit SEG3=P23;/第4位数码管sbit LED1=P34; /报警灯1sbit LED2=P35; /报警灯2void Delay(int s

10、);/函数声明;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; /定义相应的按键端口unsigned char const segment10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示段码值0123456789unsigned c

11、har 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)/如果按钮2按下 Delay(5000);/延时去抖 if(KEY2=0)/如果还是按下; if(KEY3=0)/如果按钮3按下 Delay(5000);/延时去抖 if(KEY3=0)/如果还是按下 alarm1=0; alarm2=0; if(K

12、EY4=0)/如果按钮4按下 Delay(5000);/延时去抖 if(KEY4=0)/如果还是按下 ; void Display(void)/函数定义 SEG0=1;/选通P20 DATAPORT=segmentSeg0;/输出相应显示值 Delay(300); /显示延时 SEG0=0; SEG1=1;/选通P21 DATAPORT=segmentSeg1;/输出相应显示值 Delay(300); /显示延时 SEG1=0; SEG2=1; DATAPORT=segmentSeg2;/输出相应显示值 Delay(300); /显示延时 SEG2=0; SEG3=1; DATAPORT=se

13、gmentSeg3;/输出相应显示值 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; else Seg0=0; Seg1=0; LED1=0; if(alarm2) Seg2=1; Seg3=1; LED2=1; else Seg2=0; Seg3=0; LED2=0; Display()

14、; void Int0_ISR (void) interrupt 0 alarm1=1;void Int1_ISR(void) interrupt 2 alarm2=1;四、Proteus仿真Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPI

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

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