毕业设计(论文)-摇摇棒课程设计论文程序
吉林建工学院城建学院电气信息
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
系自动化专业课程设计论文纸
摘 要 ?
?
? 随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求
?
已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳?
? 目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将?
? 会给人们带来一种新的方便的文化传递方式。 ?
? “摇动显示装置”,俗称“摇摇棒”,是基于人的视觉暂留原理的,通过分时刷新
? 16个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通?
? 过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂装
? 留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不
?
同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 ?
? 本文以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇?
订 动传感器和显示设计的基本结构和基本原理。
?
【关键词】 单片机 发光二极管 传感器 ?
? ?
? 线
?
?
?
? ?
?
?
?
? ?
? ?
?
共 26 页 第 1 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
?
? Abstract
?
? As people material standard of living rise, people pursuit to cultural life ?
? also becomes strong, the desire of information have become the people of the ?
? essential needs, more forthright and novel the information transfer mode will
? undoubtedly bring people to find everything new and fresh feeling. And modern ?
? tools to the simple, portable, therefore, shaking the display device, the 装
? arrival of will give people brings a kind of new convenient cultural transfer
?
mode. ?
? "Shake display device," called "to shake the great", it is to be based on visual ?
订 temporarily leave the principle, through the timeshare refresh 16 leds to
?
display text or design output information display device. The output signal ?
? frequency control through the single-chip microcomputer to realize, with ?
? shaking sensor test current moved state. When shaken, as the men's vision for 线
? a principle, will be in the light emitting diode shaking area produce a visual
?
plane, the plane within the vision of different frequency refresh diode ?
? through, will produce an image in shaking area, so as to achieve the vision ?
? in the plane of conveying information function. ?
Based on the sensor and MCU application for background, introduces the ?
? single-chip microcomputer and sensor as the core system moved sensor and ?
? display design the basic structure and the basic principle. ?
? Key words :microcontroller leds sensor
共 26 页 第 2 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
? ?
?
?
? 引 言 ?
?
? 单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时? /计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早?
? 期的含义称为单片微型计算机(single chipmicrocomputer).它拥有优异的性价比、装
? 集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用?
于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机?
? 应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。?
订 这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出?
控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电?
? 源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,?
? 复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.(2)最小功耗应线
? 用系统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完?
成工业测控功能所必须的硬件结构系统。 ?
? 本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、?
? 图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出?
信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光?
? 二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进?
? 行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在?
? 视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该
视觉平面上传达信息的作用。LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制
作的“高科技”玩具。可以用“静如处子,动如脱兔”来形容它,即当静止时,它只
是几个LED发光二极管(后简称LED) ,而一旦按照一定的频率去摇晃它,它就会
随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
共 26 页 第 3 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
? ?
?
?
?
? ?
?
? 目 录
?
? 一(引言???????????????????????????????????????????????????????????????3 装
? 二(系统
设计方案
关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
???????????????????????????????????????????????????????5 ?
1. 设计目的???????????????????????????????????????????????????????????5 ?
? 2. 设计要求???????????????????????????????????????????????????????????5 ?
订 3. 设计思路???????????????????????????????????????????????????????????5 ?
三(系统硬件设计???????????????????????????????????????????????????????7 ?
? 1. 基本原理及各部分功能???????????????????????????????????????????????7 ?
? 2. 系统硬件???????????????????????????????????????????????????????????8 线
? 四(系统软件设计???????????????????????????????????????????????????????10 ?
1. 软件设计思路???????????????????????????????????????????????????????10 ?
? 2. 主程序
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图???????????????????????????????????????????????????????10 ?
? 3. 软件实现功能的完善?????????????????????????????????????????????????18 ?
五(系统的硬件调试及软件调试???????????????????????????????????????????19 ?
? 六(总结???????????????????????????????????????????????????????????????22 ?
? 七(致谢???????????????????????????????????????????????????????????????23 ?
? 八(参考文献???????????????????????????????????????????????????????????24
共 26 页 第 4 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
? ?
? ?
?
? ?
? ?
? ?
装 二(系统设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
?
?
1.设计目的 ?
? 本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系?
订 统板简化设计。 通过本次设计,加强学生对MCS-51单片机的深刻理解,提高学生的
?
设计能力和动手能力。 ?
? 2.设计要求 ?
? 设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左线
? 右摇晃就可呈现一幅完整的画面,可以显示字符、图片。
?
3.设计思路 ?
? 本系统要求设计一个LED显示棒且需要有按键进行内容切换,它主要是由中央控制?
? 部分,LED驱动部分,LED显示部分以及电源部分组成,如图所示
?
?
?
?
?
?
?
共 26 页 第 5 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模?
代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆?
? 动的显示屏中。 ?
? 1.LED灯的选择:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下?
使用它更为经济。 ?
? 2.外部中断信号产生方式:通过外部中断可以控制数据开始传输的时刻。选择好外部?
? 中断来源是本次制作的难点及重点。使用惯性开关。通过摇晃使得惯性开关的摆杆与?
? 焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制?
显示,制作简单,使用方便。 装
? 3.抗重影方案的选择:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产?
? 生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接?
口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,?
订 从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。?
? 不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。 ?
?
? 线
?
?
?
? ?
?
?
?
? ?
?
?
?
共 26 页 第 6 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
? ? ? ?
?
? ? ? ? ? ?
?
装 ? ? ?
? ? 三(系统硬件设计 订 ?
1.基本原理图为: ? ? ? ? 线 ? ? ? ? ? ? ? ? ? ? ? ? ?
共 26 页 第 7 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
?
?
?
?
?
?
?
?
?
?
?
装
?
?
?
?
?
订
?
?
?
?
?
线
?
? 基本原理与硬件电路设计: ?
? 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉
?
暂留现象看到的是一幅完整的画面。与LED点阵的显示有几分相仿。 ?
? 其硬件电路如上图中所示: ?
? 系统电源VCC为5V,下载程序和调试时一定要保证5V电压,MCS-51单片机作为控制
?
器,在它的P1,P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电?
? 平点亮。P1口,P2口的上拉电阻不能少。串在LED公共端的二极管D1会产生一定的?
压降,用来保护LED,经试验测试LED点亮时两端电压为3V左右,在LED的安全承受
范围之内。
各部分功能
(,)按键模块
使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。
,,:水银开关 功能为棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜
共 26 页 第 8 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
像字或镜像画面,所以通过接一支水银开关来控制,使摇摇棒从左向右摇动时将内容?
显示出来。 ?
? ,,:画面切换开关 功能为用于切换显示不同内容。 ?
? ,,:手动复位开关 功能为可以控制系统的启停
?
(,)LED显示模块 ?
? 首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,?
? 列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行?
? 扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其?
读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读装
? 取,然后行再次送数据,列再次读取„„依次循环下去,一幅完整的图案就显示在了?
? 显示屏上。
?
而本次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看?
订 成是LED点阵屏中的一列。为了使显示的图案清晰,我们使用了16个LED管将它们?
? 排成一列,整个屏在静止时也就相当于16行×1列。数据传输时我们同样使用行送?
数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,?
? 而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内线
? 容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。 ?
? ,(系统硬件
?
系统功能主要体现在3个部分: ?
? 1.单片机控制(STC12C2051) ?
? 本装置采用了STC12C2051单片机,它支持直接通过串口线下载程序,对于本设计而?
言,显示文字需经常改变,STC12C2051方便许多,因此选择STC12C2051作为本设计?
? 所用的单片机。 ?
? 2. 显示功能。(D1~D16)
信息传递主要由显示来完成,本设计显示功能由16个发光二极管来完成。16个发光
二极管分为4组,以共阳的方式连接,共用P1口和P2口作为输出口。
3. 传感器系统
硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构成。
可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发
共 26 页 第 9 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
生破裂,水银外泄,安全性较差。滚珠开关稳定性稍差,但不容易损坏,安全度很高。
?
考虑到实际应用环境,故选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不?
? 稳定性可以通过软件进行弥补。 ?
? 经过分析论证,我们决定了系统各模块的最终方案,流程图如下:
?
?
?
?
?
?
?
?
装
?
?
?
?
? 订 整套系统以STC12C2051单片机为核心控制系统,使用16只LED灯作为显示屏,其?
? 中16只直接与单片机I/O口相连。当惯性开关触发中断T1时,单片机向16只LED
?
传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会?
? 立刻消失而是随着摆动逐渐显示在了形成的扇形区域。 线
? 系统的元器件明细表:
?
1、单片机STC12C2051 1片; ?
? 2、发光二极管 16只; ?
? 3、12M晶振 1个 ?
? 4、电阻、电容 若干
?
5、USB接口 1个 ?
? 6、按钮及开关 若干 ?
?
共 26 页 第 10 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
? ? 四(系统软件设计 ? ?
1.软件设计思路 ? ? 在摇动LED棒的时候单片机必须单程传送数据否则显示的图形会产生重影,影响视? ? 觉效果。因此当系统开始工作后通过惯性开关的位置来使单片机实现单程传送数据给? ? LED。如果惯性开关位于右边,则进入外部中断1并将一变量置1,。在变量为1期间
? 让单片机以一定的频率将数据传送给LED。如果惯性开关位于左边,则进入外部中断? ? 0并将变量置0,。在这期间单片机不会传送数据给LED。在送数据时,数据送完后应装 ? 延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED并开始重新
?
判断惯性开关的位置。 ? ? 2.主程序流程图 ? 订 通过软件设计思路分析,得到该系统的主程序流程图如下:
? ? ? ? ? 线 ? ? ? ? ? ? ? ? ? ? ? ? ?
系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开
共 26 页 第 11 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
关出触发外部中断,再经过一段时间延时后开始显示。显示完成返回主程序,等待下
?
一个摇动周期的到来。 ?
? 经过文字取模后,系统的源程序编制如下: ?
? #include
?
#define uchar unsigned char ?
? #define uint unsigned int //宏定义 ?
? #define KEY P3_0 //定义画面切换按键 ?
? uchar KY; //KY作用在后面说明 ?
uchar disp; //显示汉字指针 装
? uchar pic=0,num=0; //pic为按键次数;num为中断次数 ?
? uchar code love[] = { ?
/*-- 文字: 刘 --*/ ?
订 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ ?
? 0x08,0x28,0x48,0x89,0x0E,0x88,0x78,0x08,0x08,0x00,0xF8,0x00,0x00,0xFF,0x0
?
0,0x00, ?
? 0x40,0x20,0x10,0x09,0x06,0x19,0x60,0x00,0x00,0x00,0x0F,0x40,0x80,0x7F,0x0线
? 0,0x00, ?
? /*-- 文字: 琛 --*/
?
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ ?
? 0x84,0x84,0xFC,0x84,0x84,0x0E,0x22,0x12,0x0A,0xC2,0x0A,0x12,0x22,0x0E,0x0?
? 0,0x00,
?
0x10,0x30,0x1F,0x08,0x28,0x21,0x11,0x09,0x05,0xFF,0x05,0x09,0x11,0x21,0x2?
? 0,0x00,}; ?
? uchar code loveyou[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
共 26 页 第 12 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
0,0x00,
?
0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xF?
? C,0x3F, ?
? 0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xF?
C,0x00, ?
? 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0?
? 0,0x00, ?
? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0?
0,0x00, 装
? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0?
? 0,0x00,/*心形图案*/
?
}; ?
订 uchar code hehe[] = { ?
? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0?
0,0x00, ?
? 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0线
? 0,0x00, ?
? 0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0?
4,0x00, ?
? 0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x0?
? 0,0x20,
?
0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0?
? 4,0x00, ?
? 0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x0
8,0x10,
0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0
0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
0,0x00,/*呵呵o(?_?)o图案*/
共 26 页 第 13 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
};
?
unsigned char code hanzi[] = { ?
? //-- 欢 -- ?
? 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01, ?
0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, ?
? 0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10, ?
? 0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00, ?
? //-- 迎 --
?
0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F, 装
? 0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41, ?
? 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42, ?
0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00, ?
订 //-- 使 -- ?
? 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, ?
0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29, ?
? 0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21, 线
? 0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00, ?
? //-- 用 --
?
0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, ?
? 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, ?
? 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, ?
0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00, ?
? //-- 神 -- ?
? 0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF,
0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F,
0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08,
0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,
//-- 奇 --
0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E,
共 26 页 第 14 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, ?
0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, ?
? 0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00, ?
? //-- 魔 --
?
0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, ?
? 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A, ?
? 0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA, ?
? 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00, ?
//-- 幻 -- 装
? 0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, ?
? 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60, ?
0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80, ?
订 0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00, ?
? //-- 摇 --
?
0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, ?
? 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 线
? 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, ?
? 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, ?
//-- 摇 -- ?
? 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, ?
? 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, ?
0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, ?
? 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, ?
? //-- 棒 --
0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF,
0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15,
0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15,
0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,
//-- ~ --
共 26 页 第 15 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
?
0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, ?
? 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, ?
? 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
?
}; ?
? /*****函数声明*****/ ?
? void display1(void); ?
? void display2(void);
?
void display3(void); 装
? void display4(void); ?
? /*****n(us)延时子程序*****/
?
void DelayUs(uint N) ?
订 { ?
? uint x;
?
for(x=0; x<=N;x++); ?
? } 线
? /*****中断服务程序*****/ ?
? void intersvr0(void) interrupt 0 using 1
?
{ ?
? KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取?
? 其中一次(从左向右摇才显示)
?
if(KY==0) ?
? { ?
? num++; //计算中断次数
switch(pic) //选择画面
{
case 0:{display1();}break;
case 1:{display2();}break;
case 2:{display3();}break;
共 26 页 第 16 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
case 3:{display4();}break;
?
default:{display1();} ?
? } ?
? }
?
} ?
? /*****显示子程序1(汉字)*****/ ?
? void display1(void) ?
? {
?
uchar i; 装
? if(num>10){disp++;num=0;} //12个汉字分为3次显示完(每次显示4个),?
? 每中断10次切换 ?
if(disp>2)disp=0; ?
订 DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显?
? 示内容居中即可 ?
for(i=0;i<64;i++) ?
? { 线
? P0=~hanzi[disp*128+i*2]; ?
? P2=~hanzi[disp*128+i*2+1];
?
DelayUs(100); ?
? } ?
? }
?
/*****显示子程序2(LOVE)*****/ ?
? void display2(void) ?
? {
uchar i;
DelayUs(4000);
for(i=0;i<64;i++)
{
P0=~love[i*2];
共 26 页 第 17 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
P2=~love[i*2+1]; ?
DelayUs(120); ?
? } ?
? }
?
/*****显示子程序3(心形图案)*****/ ?
? void display3(void) ?
? { ?
? uchar i;
?
DelayUs(4000); 装
? for(i=0;i<64;i++) ?
? {
?
P0=~loveyou[i*2]; ?
订 P2=~loveyou[i*2+1]; ?
? DelayUs(120); ?
} ?
? } 线
? /*****显示子程序4(呵呵o(?_?)o图案)*****/ ?
? void display4(void) ?
{ ?
? uchar i; ?
? DelayUs(4000); ?
for(i=0;i<64;i++) ?
? { ?
? P0=~hehe[i*2];
P2=~hehe[i*2+1];
DelayUs(120);
}
}
/*****主函数*****/
共 26 页 第 18 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
void main(void) ?
{ ?
? IT0=1; ?
? EX0=1;
?
EA=1; //开中断,下降沿中断 ?
? KY=0; ?
? while(1) //主程序中只检测按键 ?
? {
?
if(KEY==0) //画面切换键按下 装
? { ?
? DelayUs(10000); //按键去抖 ?
if(KEY==0); ?
订 pic++;} ?
? if(pic>3)pic=0;
?
} ?
? } 线
? /*****END*****/ ?
? 3. 软件实现功能的完善 ?
本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传?
? 输。 ?
? 第二个难点是当显示较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反
?
复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,?
? 传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出?
? 现没有间断的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。
综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的
显示方法。
共 26 页 第 19 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
?
?
? ?
?
?
?
? ?
? ?
?
?
装
? ?
?
?
?
订 ?
?
?
?
? 线
?
? 五(系统的硬件调试及软件调试 ?
? 单片机应用系统的硬件调试和软件调试是分不可的,许多硬件故障是在调试软件时?
? 才发现的。但通常是先排除系统中明显的硬件故障后才和软件结合起来调试的。其一?
般的调试过程如下: ?
? 1.常见的硬件故障 ?
? (1)逻辑错误 ?
? 样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误
包括:错线,开路,短路等几种,其中短路时最常见的故障。在印刷电路板布线密度
高的情况下,极易因工艺原因造成短路。
(2)器件失效
元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组
装错误而造成的元器件失效,如电解电容,二极管的极性错误,集成块安装方向错误
共 26 页 第 20 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
等。
?
(3)可靠性差 ?
? 引起系统不可靠的因素很多,如金属化孔,接插件接触不良会造成系统时好时坏;内?
? 部和外部的干扰,电源纹波系数过大,器件负载过大等造成逻辑电平不稳定;另外,?
走线和布局的不合理等也会引起系统可靠性差。 ?
? (4)电源故障 ?
? 若样机中存在电源故障,则加电后将造成器件损坏。电源的故障包括:电压值不符合?
? 设计要求,电源引出线和插座不对应,电源功率不足,负载能力差。 ?
2.硬件调试方法 装
? (1)脱机调试 ?
? 脱机调试是在电路板加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔?
细检查样机线路的正确性,并核对元器件的型号,规格和安装是否符合要求。应特别?
订 注意电源的走线,防止电源之间的短路和极性错误,并重点检查拓展系统总线是否存?
? 在相互间的短路或其他信号线的短路。
?
对于样机所用的电源事先必须单独调试,调试好后,检查其电压值,负载能力,极性?
? 等均符合要求,才能加到系统的各个部件上。在不插片子的情况下,加电检查各插件线
? 上引脚的电位,仔细检查各地点电位是否正常,尤其应注意单片机插座上的各点电位?
? 是否正常,若有高压,联机时将会损坏开发机。
?
(2)联机调试 ?
? 通过脱机调试可排除一些明显的硬件故障。有些硬件故障还是要通过联机调试才能?
? 发现和排除。
?
联机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机?
? 与样机之间的电源、接地是否良好。一切正常,即可打开电源。 ?
? 通电后执行开发机读写指令,对用户机的存储器、I/O端口进行读写操作、逻辑检查,
若有故障,可用示波器观察波形。通过对波形的观察分析,寻找故障原因,并进一步
排除故障。可能的故障有:线路连接上的逻辑错误、有断线或短路现象、集成电路失
效等。
3.软件调试方法
软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,
共 26 页 第 21 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
则逐个模块调试好以后,再进行系统程序总调试。如果采用实时多任务操作系统,一?
般是逐个任务,下面进一步予以说明。 ?
? 对于模块结构程序,要一个个子程序分别调试。调试子程序时,一定要符合现场环境,?
? 即入口条件和出口条件。调试的手段可采用单步运行方式和断点运行方式,通过检查?
用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计?
? 要求。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址的错误,同?
? 时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断?
? 调整用户系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过后,可以把?
各功能块联系起来一起进行整体程序综合调试。在这阶段若发生故障,可以考虑各子装
? 程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建立和清除在设计上有?
? 否失误,堆栈区域有否溢出,输入设备的状态是否正常,等等。若用户系统是在开发?
系统的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲?
订 突。 ?
? 单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与?
否,而不能确定定时精度、CPU的实时响应等问题。待全部完成后,应反复运行多次,?
? 除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户线
? 操作是否合理等,必要时还要做适当修正。对于实时多任务操作系统的应用程序是由?
? 若干个任务程序组成,一般是逐个任务进行调试,在调试某一个任务时,同时也调试?
相关的子程序、中断服务程序和一些操作系统的程序。逐个任务调试好以后,再使各?
? 个任务同时运行,如果操作系统中没有错误,一般情况下系统就能正常运转。 ?
? 在全部调试修改完成后,将用户软件固化于EPROM中,插入用户样机后,用户系统即?
能离开发机独立工作,至此系统研制完成。 ?
? 4.本次设计中,具体调试过程为: ?
? 在开始实验设计前,根据实验要求,分析实验所涉及的相关知识点,查阅身边的资
料,并根据自己以前所学的理论知识,有了大概设计框图后,在PROTEL中画出原理
图,然后根据原理图分析模块焊出电路板,并对模块进行测试。
第一步,测试LED显示电路和C51单片机最小系统。首先测试LED,输入一个简单
程序(#includemain(){p1=0*00;p2=0*00;}),发现有一个LED不亮,于是
检查该LED的引脚,发现线路断了,接好后LED亮了。于是输入摇摇棒程序,但LED
共 26 页 第 22 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
灯不闪,猜测是数码管芯片与插槽接触不良的问题,就把插槽重新焊接,之后,再次?
检测时,发现有时闪烁有时灯不亮。说明不是插槽的问题,于是反复检查最小系统模?
? 块,通过用电压表最数码管的每个引脚进行高低电平测试,最总发现原来是接线问题,?
? 即是一根线忘了连接。使得硬件与软件的设置不匹配,从而导致了LED显示不正常。?
改正后重新测试。手动摇晃可呈现图像。 ?
? 第二步,测试驱动电路,该模块完好。 ?
? 第三步,软件测试。在软件方面,改部分主要调延时函数,调试过程简单但费时。?
? 于是,多次耐心尝试后软件调试才成功,能够完整并较为清晰地完整图像。 ?
最终,实现摇摇棒功能 装
? ?
?
?
?
订 ?
?
?
?
? 线
? ?
?
?
?
? ?
?
?
?
?
? 总 结
?
在曲娜老师的指导下,通过一周的时间完成了摇摇棒的设计,本次设计以传感器和
单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设
计的基本结构和基本原理。
本次将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、
图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出
信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光
共 26 页 第 23 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进
?
行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在?
? 视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该?
? 视觉平面上传达信息的作用。 ?
设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活?
? 提供便利,通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手?
? 能力,为以后打下了坚实的基础~ ?
?
?
装
? ?
?
?
?
订 ?
?
?
?
? 线
? ?
?
?
?
? ?
?
?
?
? ?
?
致 谢
本设计的完成是在我们的导师老师曲娜的细心指导下进行的。在每次设计遇到问题
时老师不辞辛苦的讲解才使得我的设计顺利的进行。从设计的选题到资料的搜集直至
最后设计的修改的整个过程中,花费曲老师很多的宝贵时间和精力,在此向老师表示
共 26 页 第 24 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
衷心地感谢~老师严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益
?
终生~ ?
? 还要感谢和我同一班级的同学,是你们在我平时设计中和我一起探讨问题,并指出?
? 我设计上的误区,使我能及时的发现问题把设计顺利的进行下去,没有你们的帮助我
?
不可能这样顺利地结稿,在此表示深深的谢意。 ?
? 再次感谢曲老师长期以来悉心的指导和在设计过程提供的大量资料、修改意见及多?
? 次的参观和试验的机会,让我对单片机有了较全面了解,为日后的工作和更进一步的?
? 学习打下了坚实的基础,也积累了许多宝贵的设计经验。
?
装
? ?
?
?
?
订 ?
?
?
?
? 线
? ?
?
?
?
? ?
?
?
?
? ?
?
参考文献
[1] 张淑清,姜万录等,单片微型计算机接口技术及应用,国防工业出版社,2003
共 26 页 第 25 页
吉林建工学院城建学院电气信息工程系自动化专业课程设计论文纸
[2] 吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用,清华大学出版社,2001
?
[3] 冯博琴,微型计算机原理与接口技术,清华大学出版社,2004 ? ? [4] 张毅刚,MCS-51单片机应用设计,哈尔滨工业大学出版社,2004 ? ? ?
? ? ? ? ? ? ? 装 ? ? ? ? ? 订 ? ? ? ? ? 线 ? ? ? ? ? ? ? ? ? ? ? ? ?
共 26 页 第 26 页