基于单片机中断控制的闪烁灯(四种速度)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中南民族大学计算机科学学院单片机课程设计总结报告课程单片机课程设计设计题目中断控制的闪烁节日彩灯控制器年级专业学号学生姓名指导教师2016年11月5日课程设计量化评分标准指标最高分评分要素评分方案设计35方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。调试15过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。结果20电路及程序运行结果正确,达到预期效果。设计报告20报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。工作态度10工作态度认真,按时完成设计任务,是否独立完成。总评成绩中断控制的闪烁节日彩灯控制器一、要求中断控制的闪烁节日彩灯控制器要求:能够实现至少4种速度的闪烁显示方式。二、分析要实现中断控制闪烁节日彩灯必须得读取到外部中断,然后在调用不同的闪烁子程序,且下载之后可以连续切换闪烁速度。三、设计1、硬件设计(包括设计方案及说明、完整的硬件连接图等)2.1设计方案及说明外部中断采用的是实验箱上的中断开关,故在主程序中不断调用矩阵键盘的扫描程序,又由于至少四种速度,故读取四个不同的按键分别对应一种速度。闪烁只需要在一个无限循环体内先全部点亮LED灯,延时一段时间后,再把LED灯全部熄灭。这里速度的含义其实是延时的时间不同。当单片机读到某个按键按下时,就执行不同的闪烁子程序,这样就可以实现不同速度的闪烁灯控制。图1整体框图单片机的内部结构典型的51单片机芯片集成了以下几个基本组成部分。1一个8位的CPU2128B或256B单元内数据存储器(RAM)34KB或8KB片内程序存储器(ROM或EPROM)44个8位并行I/O接口P0~P3。5两个定时/计数器。65个中断源的中断管理控制系统。7一个全双工串行I/O口UART(通用异步接收、发送器)8一个片内振荡器和时钟产生电路。STC89C58RD+外部中断开关8位LED图2单片机引脚图CPU结构CPU是单片机的核心部件。它由运算器和控制器等部件组成。1.运算器运算器以完成二进制的算术/逻辑运算部件ALU为核心。2.程序计数器PCPC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。3.指令寄存器指令寄存器用于存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送如指令寄存器,经指令译码器译码后由定时有控制电路发出相应的控制信号,完成指令功能。存储器和特殊功能寄存器1.存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。2.特殊功能寄存器特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。P0-P3口结构P0口功能:第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU的输入/输出数据。输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。第二,P0.7—P0.0在CPU访问片外存储器时用于传送片外存储器de低8位地址,然后传送CPU对片外存储器的读写P1口功能:P1口的功能和P0口de第一功能相同,仅用于传递I/O输入/输出数据。P2口的功能:2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。P3口功能:P3口有两个功能:第一功能与其余三个端口的第一功能相同;第二功能作控制用,每个引脚都不同。P3.0—RXD串行数据接收口P3.1—TXD串行数据发送口P3.2—INT0外中断0输入P3.3—INT1外中断1输入P3.4—T0计数器0计数输入P3.5—T1计数器1计数输入P3.6—WR外部RAM写选通信号P3.7—RD外部RAM读选通信号时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。图3时钟部分电路图在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ、或24MHZ。单片机的时序单位单片机的复位状态当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。图4复位电路2.1硬件连接P0口全部连接LED灯,跳冒将P3.2JMP短接到INT0图5实物连接图2、软件编程2.1软件流程图否是图6软件流程图2.2C51源程序及其注释#includereg52.h#includeabsacc.hvoiddelay_ms(intn);//延时Nmsvoidled_blink(void);//闪烁函数unsignedcharn=0;//记录外部中断次数voidmain(void){IT0=1;//电平触发外部中断0EX0=1;//允许中断0EA=1;//开总中断while(1);}voidint0_isr(void)interrupt0//外部中断0中断服务函数{led_blink();//调用闪烁子程序n++;if(n==4)n=1;}voidled_blink(void)//闪烁函数{等待中断开外部中断判断中断次数是否为4调用LED闪烁程序中断记录值n=1unsignedcharflag;switch(n)//不同的中断值对应不同的闪烁程序{case0x1:flag=1;break;//速度1case0x2:flag=2;break;//速度2case0x3:flag=3;break;//速度3case0x4:flag=4;break;//速度4default:break;}if(flag==1){P1=0x00;//点亮小灯delay_ms(500);//延时0.5sP1=0xff;//熄灭小灯delay_ms(500);//延时0.5s}if(flag==2){P1=0x00;//点亮小灯delay_ms(500);//延时0.5sP1=0xff;//熄灭小灯delay_ms(500);//延时0.5s}if(flag==3){P1=0x00;//点亮小灯delay_ms(1000);//延时1sP1=0xff;//熄灭小灯delay_ms(1000);//延时1s}if(flag==4){P1=0x00;//点亮小灯delay_ms(2000);//延时2sP1=0xff;//熄灭小灯delay_ms(2000);//延时2s}}voiddelay_ms(intn)//延时Nms{unsignedchari;while(n--)//对于11.0592M时钟,约延时1ms{for(i=0;i250;i++);}}3、调试说明先用KEIL软件编译产生HEX文件,再用STCISP软件将HEX文件通过USB下载进入单片机。第一次按下中断开关,LED灯闪烁频率为0.5Hz;第一次按下中断开关,LED灯闪烁频率为1Hz;第一次按下中断开关,LED灯闪烁频率为2Hz;第一次按下中断开关,LED灯闪烁频率为20Hz。即每按下中断开关一次的可以控制LED灯的闪烁速度,达到了预定要求。4、设计结果及错误分析外部中断的记录值不能实时读取,分析原因是弄错了变亮的作用域的返回值,原来记录的变量是定义在中断服务函数里面的,为局部变量,只在这个函数体内起作用。重新定义为全局变量后,这个变量的作用域为整个文件就可以在闪烁程序中读到外部中断记录值。不能连续循环切换闪烁速度,原来是外部中断的记录值没有清零。实现四种闪烁速度,故当外部中断发生四次后要使记录值为零,重新记录。四、总结通过这次单片机课程设计,加强了我动手、思考和解决问题的能力,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。电路原理和连接,和芯片上的选择等方面作了学习。对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立设计单片机应用系统的开发设计工作打下一定的基础。更重要的是如何将逻辑电路灵活运用于实际生活的重要性。我沉得做课程设计同时也是对课本知识的巩固和加强。参考文献[1]李朝青,刘艳玲.单片机原理及接口技术电子技术第四版北京:北京航空航天大学出版社,2013.[2]吴银琴,陈琨.51单片机实践教程第1版北京:科学出版社2012.

1 / 10
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功