




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学单片机原理与应用课程设计说明书 课程设计任务书学生姓名: 王梦 专业班级: 电信1406班 指导教师: 刘运苟 工作单位: 信息工程学院 题 目:具有可变图案的走马灯显示功能的设计初始条件: 具备数字电路的理论知识;具备单片机原理的理论知识和实践能力;熟悉51单片机的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 用定时器设计发光二极管的轮流显示,显示图案和延时时间可按设定的规律变化,要求显示的方式为相向、相反、交替闪烁。延时时间可设置为100ms、200ms、300ms。时间安排: 二十二周一周,其中3天硬件设计,2天硬件调试指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 目录1 走马灯的介绍52.设计走马灯的软硬件介绍52.1 51系列单片机52.2 Keil C51软件63 走马灯的系统设计73.1 设计思路73.2 电路设计74 C语言程序设计85 仿真测试及分析126实物图及结果分析137 心得体会148 参考文献15 摘要 设计要求:用定时器设计发光二极管的轮流显示,显示图案和延时时间可按设定的规律变化,要求显示的方式为相向、相反、交替闪烁。延时时间可设置为100ms、200ms、300ms。 流水灯的设计涉及到了软硬件方面的知识,需要软硬件综合。 软件方面,可以使用C语言或者汇编语言,本课程设计中使用C语言,涉及到其中的循环结构、选择结构以及函数调用的应用,编写程序需要从要求中看出可以简化编写的结构从而加以使用,同时考虑到单片机的输出端的实际情况,使用条件语句进行修正。 硬件方面,选用了51系列单片机,使用了定时/计数器以及并行口,主要使用了中断功能。定时/计数器实质上是一个加1计数器,它可以工作于定时方式,也可以工作于计数方式,两种方式实际都是对脉冲计数,只不过所记脉冲的来源不同,本次课程设计只使用定时器,脉冲来源来自晶振的振荡。在使用定时器的时候,计数的脉冲来自振荡器的12分频后的脉冲,即对系统的机器周期计数。计数为加1计数,记满溢出后清零并产生溢出中断。使用并行口是为了使用矩阵键盘。键盘是计算机系统中不可缺少的输入设备,当键盘少时可以接成线性键盘。键的编码可以用软件的运算完成,称为非编码键盘,也可以由硬件编码器完成,称为编码键盘,本设计使用非编码键盘。中断装置和中断处理程序统称为中断系统。中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。关键字:51单片机、定时计数器、键盘控制中断、走马灯 1 走马灯的介绍在古代,走马灯古称蟠螭灯(秦汉)、仙音烛和转鹭灯(唐)、马骑灯(宋),汉族特色工艺品,亦是传统节日玩具之一,属于灯笼的一种。常见于元夕、元宵、中秋等节日。灯内点上蜡烛,烛产生的热力造成气流,令轮轴转动。轮轴上有剪纸,烛光将剪纸的影投射在屏上,图象便不断走动。因多在灯各个面上绘制古代武将骑马的图画,而灯转动时看起来好像几个人你追我赶一样,故名走马灯。走马灯内的蜡烛需要切成小段,放入走马灯时要放正,切勿斜放。而现如今,现代人用火炭烧起来作气流动力改为电风扇带动马灯运。流动字幕显示屏横向或直向不断移动的字幕,常用于电视新闻镜面,如新闻跑马灯(简称“跑马灯”)是在电视新闻画面上的一个小空间,通常是用来显示头条新闻或是新闻报道中较小的细节。跑马灯有时也指在某些建筑物、网站或室内空间用来表现讯息的显示版。网站跑马灯在电脑上当然也可以弄出新闻跑马灯这个玩意,早在二十一世纪初,新浪网、搜狐网就已经推出网络新闻跑马灯技术。2.设计走马灯的软硬件介绍2.1 51系列单片机51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。51单片机的功能有:8位CPU4kbytes程序存储器(ROM) (52为8K)128bytes的数据存储器(RAM) (52有256bytes的RAM)32条I/O口线111条指令,大部分为单字节指令21个专用寄存器2个可编程定时/计数器5个中断源,2个优先级(52有6个)一个全双工串行通信口外部数据存储器寻址空间为64kB外部程序存储器寻址空间为64kB逻辑操作位寻址功能双列直插40PinDIP封装单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;2.2 Keil C51软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。Keil C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。2.3 Proteus软件Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。3 走马灯的系统设计3.1 设计思路走马灯的显示分为相向、反向、整体闪烁交替三种模式,分别可以用循环左移、循环右移和按位取反来实现,延时的时间可以通过改变中断中的变量的值来实现。三种模式的显示可以通过调用三个不同的显示函数来分开显示,而模式、延时的选择则通过键盘来进行输入。程序在运行的时候则重复扫描键盘和显示的过程即可。3.2 电路设计电路设计主要包括矩阵键盘及其显示功能的设计。矩阵键盘:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 图1 矩阵键盘判断有无按键:将行线P3.0置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与该根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。显示电路:由于要求使用四个发光二极管,所以显示电路由四个发光二极管构成LED灯组,如图2-3所示。这组LED灯共阳极,而阴极分别接入单片机的P1口。由发光二级管的特性知,当P1口为高电平时,二极管截止,发光二级管为暗,当P1口为低电平时,发光二级管亮。控制这组LED灯则通过给P1口上不同的高低电平得到。而显示的频率则通过P1口电平变化的快慢来实现。 图2 显示电路4 C语言程序设计#include #include unsigned char num,temp,led,t,tt,flag;void delay(unsigned int z)(延时去抖动)unsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-);void keyscan()(键盘扫描)P3=0xfe;(第一行扫描)temp=P3;(键盘检测)temp=temp&0xf0;while(temp!=0xf0) delay(5);(延时去抖动) temp=P3;(再次检测)temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xee:num=1;/S6break;case 0xde:num=2;/S7break;case 0xbe:num=3;/S8break;case 0x7e:num=4;/S9break;while(temp!=0xf0)(等待按键释放)temp=P3;temp=temp&0xf0; P3=0xfd;(第二行检测)temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xed:num=5;/S10break;case 0xdd:num=6;/S11break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;void M1()(相向)P1=led;(初始值0xfe)if(tt=t)(计时到t*50ms右移一位)led=_crol_(led,1);/1111 1110-1111 1101if(led=0xef) led=0xfe;(仅仅启用低四位)tt=0;void M2()(反向)P1=led;if(tt=t)led=_cror_(led,1);if(led=0x7f) led=0xf7;tt=0;void M3()(整体交替闪烁)P1=0xfa;/1111 1010while(1)if(tt=t) continue;tt=0;break;P1=0xf5;/1111 0101while(1)if(tt=t) continue;tt=0;break;void main()num=0; led=0xfe;tt=0;flag=1;t=2;TMOD=0x01;TH0=(665536-45872)/256;TL0=(665536-45872)%256;EA=1; ET0=1;TR0=1;while(1)keyscan();switch(num)case 1:flag=1;break;case 2:flag=2;break;case 3:flag=3;break;case 4:t=2;break;/100mscase 5:t=4;break;/200mscase 6:t=6;break;/300msswitch(flag)case 1:M1();break;case 2:M2();break;case 3:M3();void time0() interrupt 1 /50msTH0=(65536-45872)/256;TL0=(65536-45872)%256;tt+;5 仿真测试及分析图3 单向的两种模式的显示设计要求中的相反和相向在图中无法显示出来,但可以仿真。图4 整体闪烁交替模式的显示模式3是LED灯组交替闪烁的模式。而不同时间间隔的选择以及模式混搭虽然也实现了,但是无法在图中表现出来。设计要求中的延时100ms、200ms、300ms、也可以通过矩阵键盘的按键加以实现,由此可知,实验仿真正确,满足设计要求,开始设计实物。6实物图及结果分析 结果分析:四个发光二极管可以轮流相向,相反显示,也可以实现二极管的交替闪烁,同时也完成了100ms、200ms、300ms的延时。总的来说,本次课程设计虽然并各个独立的部分不难,但是关键在于软硬见的结合与合理的设计。 通过小组成员的努力,最终我们完成了仿真以及实物,虽然在设计过程中也有难题,出现仿真结果不正确,延时时间不对,在进行调试过程中,程序烧不进去,虽然遇到很多的困难,但都一一得到解决,同时提高了自己的能力。217 心得体会具有可变图案的走马灯显示功能的课程设计是完成从初期设计到实物的一整套的制作,是一次很好的理论与实际的结合。本次课程设计的关键在于完成软件与硬件的结合。总的来说还是硬件决定了软件的制作,在初期设计阶段,先是构思出了硬件的基本构成结构,再编写相应的软件。而软件对硬件构成具有简化,修正的反作用。在软件编写中产出的一些新的想法,可以临时对硬件进行微
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源行业CCS项目经济性研究及低碳技术创新报告
- 商厅租赁合同(标准版)
- 装配式建筑部品部件2025年智能生产与自动化设计报告
- 食品卫生异物控制与监测方案
- 被动式超低能耗建筑在2025年技术原理与市场推广策略研究报告
- 2026届中考物理热身梯形含解析化学高一第一学期期中检测模拟试题含解析
- 设计公司战略发展规划方案范本
- 医院信息化建设中的电子病历系统优化2025年智能辅助诊断报告
- (2025年标准)工程售后协议书
- (2025年标准)工程联合投资协议书
- 24000 吨-年废旧磷酸铁锂电池回收 利用项目环境影响报告书
- 《新能源乘用车二手车鉴定评估技术规范 第1部分:纯电动》
- 川崎病的临床表现及护理措施
- 登革热诊疗方案(2024年版)
- 垂体瘤患者护理查房
- 2024版标本采集课件
- 专题09 Module 5语法Grammar 特殊疑问句的用法-2021-2022学年七年级下册单元重难点易错题精练(外研版)
- 《工艺管理与改善》课件
- 《交通事故车辆及财物损失价格鉴证评估技术规范》
- 《广东省花生全程机械化栽培技术规程》
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
评论
0/150
提交评论