电子告示板(共23页).doc

上传人:飞****2 文档编号:19312044 上传时间:2022-06-06 格式:DOC 页数:23 大小:1.08MB
返回 下载 相关 举报
电子告示板(共23页).doc_第1页
第1页 / 共23页
电子告示板(共23页).doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《电子告示板(共23页).doc》由会员分享,可在线阅读,更多相关《电子告示板(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上嵌入式方向系统项目实践设计任务书 学 院计算机与信息工程学院专 业网络工程课程名称嵌入式系统项目实践题 目电子告示板的设计完成期限自2013年7月3日至2013年8月29日共8周内容及任务一、项目的目的二、项目任务的主要内容和要求(设计类需写明原始数据、主要技术参数和设计要求等)三、项目设计(研究)思路(包括设计(研究)步骤、设计(研究)要点、工作进度安排及主要技术关键的分析、解决思路、方案比较等方面内容介绍)四、具体成果形式和要求进度安排起止日期工作内容主要参考资料指导教师意见(签字): 年月日系(教研室)主任意见(签字): 年月日专心-专注-专业附件2:设计说明书

2、(或论文)模版 设计说明书(或论文)(封面)学院名称: 班级名称: 学生姓名: 学 号: 题 目: 指导教师姓 名: 起止日期: 第一部分:正文部分1绪论1.1 研究背景电子告示板是一种发布并交换信息的在线服务系统,可以使更多的用户通过电话线以简单的终端形式实现互联,从而得到廉价的丰富信息,并为其会员提供进行网上交谈、发布消息、讨论问题、传送文件、学习交流和游戏等的机会和空间。电子告示板是嵌入式系统的一个非常重要的应用领域,具有广阔的应用前景和经济价值。电子告示板具有方便、灵活、信息更新快捷等特点,大量用于车站、商场、医院等公共场所,此外,还常用于广告宣传。本课题设计一个电子告示板,目的在于掌

3、握嵌入式系统简易项目的设计方法,掌握UART接口通信软件的设计,掌握LCD硬件组成及其驱动程序的设计,掌握GPIO的输入输出使用方法,了解实时时钟的实现方法。1.2 主要工作1. 在Proteus中仿真软件中,根据给出的要求画出所需的原理图。2.画好电路图以后在Keil uVision2仿真软件中按任务要求编写代码,并调试生成HEX文件。3.将生成的HEX文件导入模拟芯片中进行运行,以实现单片机与LCD之间的通信。1.3 本文结构本文第1部分绪论主要说明了本文的研究背景、主要工作和实现方法。第2部分相关知识介绍了单片机的概念、基础结构和相关应用,RS232接口的的基本简介、主要特点和其通信原理

4、,Proteus仿真软件的简介及其模块功能知识,还有Keil软件的简要介绍。第3部分总体设计主要介绍了我们的设计思路。第4部分硬件设计,主要介绍了整体电路设计,还分别介绍单片机串行通信功能、MAX232芯片、LED数码管、数字键盘的具体应用。第5部分软件设计介绍了串行通信软件的实现和程序流程的主要过程。第6部分联合测试主要介绍了键盘的数据传输问题、LED灯闪烁问题以及测试结果的完成。2相关知识2.1 单片机介绍2.1.1 单片机概念单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时

5、/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。以下为大家常用的AT89C51单片机结构图:图2-1 AT89C51单片机2.1.2 单片机的基础结构1.运算器运

6、算器由运算部件算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。运算器有两个功能:(1)执行各种算术运算。(2)执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。运算器所执行全部操作都是由

7、控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。2.控制器控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。(2)对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3)指挥并控制CPU、内存和输入输出设备之间数据流动的方向。微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB

8、、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。3.主要寄存器(1)累加器A累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。(2)数据寄存器DR数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。(3)指令寄存器IR和指令译码器ID指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存

9、器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。(4)程序计数器PCPC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。(5)地址寄存器AR地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显然,当CPU向存储器存

10、数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。2.1.3 单片机的相关应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单

11、片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间

12、的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。2.2 Proteus仿真软件介绍2.2.1 Proteus软件简介Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切

13、换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。2.2.2 Proteus软件功能模块1.智能原理图设计丰富的器件库:超过27000种元器件,可方便地创建新元件。智能的器件搜索:通过模糊搜索可以快速定位所需要的器件。智能化的连线功能:自动

14、连线功能使连接导线简单快捷,大大缩短绘图时间。支持总线结构:使用总线器件和总线布线使电路设计简明清晰。可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。2.完善的电路仿真功能ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真。超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件。多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码

15、流,还支持文件形式的信号输入。丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等。生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动。高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。3.单片机协同仿真功能支持主流的CPU类型:如ARM7、805

16、1/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器。支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信。实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、A

17、DC仿真、CCP/ECCP仿真。编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。4.实用的PCB设计平台原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计。先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理。完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,

18、自动设计规则检查,3D 可视化预览。多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。2.3 Keil uVision2软件简介Keil uVision2是Keil Software公司出品的51系列兼容C语言软件开发系统,使用接近于传统的语法来开发,与相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C为8051微控制器的提供了C语言环境,同

19、时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的中,这个集成开发环境包含:编译器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。3需求分析与概要设计3.1 需求分析3.1.1功能需求1.通过宿主机的终端向电子告示板系统输入所需要显示的信息;2.信息在电子告示板系统的LCD上显示出来;3.能向用户提供实时时钟;4.电子告示板具有在数码管显示游字的功能。3.1.2性能需求1.时间特性要求响应事件:在输入控制信号时,能很好的显示所要求的时间和文字,达到只能控制。2.灵活性操作方式:

20、使用LCD模块显示当前信息情况,利用RTC模块控制实时时钟的转换来达到所给的效果,根据各个模块之间的连接,可以随意的显示出滚动显示功能。3.2 概要设计 LCD显示文字RTC软件控制函数调用滚动模式矩形框架时钟图3.2 系统整体架构图4硬件电路设计4.1 UARTUART-通用异步串行通信接口的总称,UART允许在串行链路上进行全双工的通信,输出/输入的电平为TTL电平。一般来说,全双工UART定义了一个串行发送引脚(TXD)和一个串行接收引脚(RXD),可以在同一时刻发送和接收数据;RS232标准采用负逻辑方式,标准逻辑“1”对应5V15V电平,标准逻辑“0”对应+5V+15V电平。因此UA

21、RT的TTL电平需要进行RS232电平转换后,才能与RS232接口连接并通讯,可以使用SP3232E或SP3243ECA芯片进行电平转换;如下图所示:图4.1.1 UART数据通讯字符格式(8位数据位,无奇偶校验位,1位停止位)。如下图所示:图4.1.24.2 RTCS3C2410A具有实时时钟(RTC)功能,能够提供时、分、秒,年、月、日的计时功能,还具备定时报警功能。RTC单元采用独立的后备电池供电,独立是时钟源(采用32.768KHz晶振),即使系统电源关闭,RTC还可以正常工作;图4.2 RTC功能框图4.3 GPIO5软件模块设计5.1 串行通信软件实现(1)串行口工作于方式1;用定

22、时器1产生9600bit/s的波特率,工作于方式2。(2)功能:将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。(3)通信协议:主机首先发送连络信号(AAH),从机接收到之后返回一个连络信号(BBH)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。5.2 程序流程5.2.1 甲机程序1. 甲机程序流程图甲机主

23、要使用键盘通过P2口,使用基于RS-232串口通信向乙机的P0口数码管发送数据,使得乙机的数码管显示甲机所按键盘的数字。5-1 甲机程序流程图2. 具体流程代码(1)数码管代码的定义uchar code KEY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00;uchar Pre_KeyNo=16,KeyNo=16;(2)LED灯延时void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i40x0f;/按键后f0 变成XXX

24、X0000,X 中有1 个为0,三个仍为1;高4 位转移到低4 位switch(Tmp) /对03 行分别附加起始值0,4,8,12case 1: KeyNo+=0;break;case 2: KeyNo+=4;break;case 4: KeyNo+=8;break;case 8: KeyNo+=12;(4)向串口发送字符void Putc_to_SerialPort(uchar c)SBUF=c;while(TI=0);TI=0;(5)主程序void main()uchar a;LED1=1;P0=0xff;SCON=0x50; /串口模式1,允许接收TMOD=0x20; /T1 工作模式

25、2PCON=0x00; /波特率不倍增TH1=0xfd;TL1=0xfd;TI=RI=0;TR1=1;IE=0x90; /允许串口中断 /扫描按键并发送数据while(1) P2=0xf0;if(P2!=0xf0) Keys_Scan(); /获取键序号LED1=0;DelayMS(200); LED1=1; Putc_to_SerialPort(KeyNo);(6)串口接收中断函数void Serial_INT() interrupt 4uchar a; if(RI) RI=0; P0=KEY_CODESBUF;5.2.2 乙机程序1. 乙机程序流程图甲机主要使用键盘通过P2口,使用基于RS

26、-232串口通信向乙机的P0口数码管发送数据,使得乙机的数码管显示甲机所按键盘的数字。图5-2 乙机程序流程图2.具体流程代码(由于乙机的运行过程与甲机一样,所以直接参见甲机程序即可)6系统软硬件调试在各种硬件设计好,软件编辑好后,终于开始了最终的联合测试。联合测试是整个开发过程中最为重要的部分,如果测试的结果与预期结果不同,则代表此次的设计以失败告终,因此,测试的重要性可想而知。在这次测试中,也遇到了诸多问题,最终通过组员的努力,最后一一解决。6.1 键盘的数据传输问题本次设计的主要目的是两个单片机之间,通过键盘像另一个单片机发送数据,另一个单片机通过从串口接受的数据显示在自己P0口的数码管

27、上。在此次的初始测试时,键盘输入的数据,只能显示在自己的数码管上,不能显示在另一个单片机的数码管上。经过仔细检查,结果发现是接收中断函数出现问题,后来将主程序中添加函数:while(1) P2=0xf0;if(P2!=0xf0) Keys_Scan(); /获取键序号 Putc_to_SerialPort(KeyNo);/调用向串口发送数据函数再在中断函数里添加函数:uchar a; if(RI) RI=0; P0=KEY_CODESBUF;/将串口接受的数据显示在数码管上添加了以上的代码以后便解决了问题。6.2 LED灯闪烁问题在键盘数据传输问题解决后,又遇到了一个新的问题,LED灯的闪烁问

28、题。理论上设定的是甲机发送数据,乙机接收并显示在数码管上,并且乙机的LED灯闪烁表示接受到数据。实际测试时,并不是理想状态的对方LED灯亮,而是本机的LED灯亮。图6-1 测试LED图后来通过寻求老师帮助,结果发现是中断接收函数出现问题,在老师的帮助下,最终顺利解决了问题。6.3 测试完成在protues上进行仿真实验。首先使用Keil C将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。图6-1 测试结果显示图结束语为期八周的学年设计结束了,关于本次学年设计,大家的感受都很多。总的来说是成功的,

29、富有成效的,尽管其中充满了艰辛与困难。但看到大家共同努力的成果时,所有的艰辛与疲倦都抛到了九霄云外。另外一方面,在实践中,大家都发现了自身存在的一些不足,有待进一步提高与改善。此次学年设计任务是实现单片机之间的串行通信,在实际调试中遇到的种种问题使我们在设计与调试中获得到了更多的知识。整个学年设计过程是对我们这一年所学知识归纳总结和应用,也就是把理论知识用到实践中去,让理论和实践相结合,以此产生实际的成果。而这正是我们学习理论知识的目的之所在。理论和实践相结合的过程,使我们发现了自身一些方面的不足,比如理论知识掌握得不够精深。更为重要的一点是理论和实践之间的差距很大,光有理论知识是不够的,还要

30、有把理论知识灵活应用到实践中去的能力,这一点大家都有待进一步提高。在实践中逐渐培养这种能力,不仅可以为将来的工作积累经验,也可以培养我们自己动手解决问题的能力。另外,关于本次设计感受最深的一点,是学年设计的时间分配问题。实际上大部分时间是花在了编程工作方面了,软件调试是软件设计的主要工作,软件调试过程也就是软件设计过程,软件调试工作的完成也就意味着软件设计工作的完成。设计过程是发现问题,解决问题的过程,进而完善软件程序的过程。对与我们总体设计来讲,还必须考虑硬件系统与软件系统相协同的问题,还有它们之间的接口问题,因为任何一个环节出了问题,整个系统将无法工作,这就要求设计的各个部分互相协同。考虑

31、整体的协调性是否良好。这就要求设计工作时各个设计者之间要相互协调与合作。除此之外,我们要在拥有扎实的专业知识的前提条件下,在整个设计与调试过程中要有信心和耐心,要持之以恒,坚持不懈。要知道设计工作不是一天两天的事情,最需要的就是恒心与耐力,不畏困难的精神。只要你持之以恒,多查资料设计总会成功。在调试中不断发现问题进而解决问题,其本身就是对自己的一次锻炼,培养了自己独立思考,动手解决问题的能力。从而从各个方面得到提高与完善自己,使自己的各个方面提高到一个新的台阶,同时为以后的工作打下基础。第二部分:参考文献(格式如:1.丁东等. 大学冗思录M. 桂林:广西师范大学出版社,2005.;2. 陈国海我国高校学生评教研究综述J高等教育研究学报,2001,24(1):3032)学生签名: 填表日期:年月日第三部分: 指导教师评语(从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。)第四部分:成绩评定指导教师签名: 填表日期:年月日附录附上完整代码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁