版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机温湿度检测+电子万年历的设计摘要:温湿度检测是生活生产中的重要的参数。本设计为基于51单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温湿度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52RC进行数据的分析和处理,为显示提供信号,显示部分采用LCD1602液晶显示所测温湿度值。系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。关键字:STC89C52RC SHT10 LCD1602 按键 指示灯 蜂鸣器 电子万年历Based on 51 single chi
2、p microcomputer temperature and humidity detection + electronic calendar design Abstract:Temperature and humidity detection is important parameters in the production of life. This design is based on 51 single chip microcomputer temperature and humidity detection and control system, adopting modular,
3、 hierarchical design. With new type of intelligent temperature and humidity sensor SHT10 main realization about the detection of temperature, humidity, temperature humidity signal acquisition is converted into digital signals through the sensor signal, using SCM STC89C52RC for data analysis and proc
4、essing, provides the signal for display, display part adopts LCD1602 LCD display the measured temperature and humidity values. Simple circuit, high integration, work stability, convenient debugging, high detection precision, has certain practical value. Key words:STC89C52RC SHT10 LCD1602 key indicat
5、or light buzzer The electronic calendar 目 录第1章 绪论 1第2章 设计要求与方案论证 2 2.1 设计要求 2 2.1.1基本要求 2 2.1.2扩展功能 2 2.2 系统基本方案选择和论证 2 2.2.1单片机芯片 2 2.2.2显示模块 3 2.2.3时钟芯片 3 2.2.4温湿度传感器 3 2.3 电路设计最终方案 4第3章 硬件设计与原理53.1 系统设计方框图53.2 硬件设计分析53.2.1 显示系统53.2.2 LCD1602的指令说明及时序73.2.3 LCD1602的RAM地址映射及标准字库表83.2.4 时钟电路模块103.2.5
6、 温湿度采集模块133.2.6 按键调整电路133.2.7 按键提示音电路143.2.8 报警指示灯电路14第4章 程序设计154.1 程序设计的组成154.2 部分程序分析154.2.1 检查LCD1602液晶忙位子函数154.2.2 LCD1602液晶写指令子函数154.2.3 LCD1602液晶写数据子函数164.2.4 LCD1602液晶初始化子函数164.2.5 SHT10写字节子函数164.2.6 SHT10读字节子函数 174.2.7 SHT10温湿度检测子函数 18第5章 Keil C51编译器 19 5.1 C51概述 19 5.2 Keil C51编译器的使用 19 5.2
7、.1 创建项目 19 5.2.2 新建一个源文件 21 5.2.3 增加和配置启动代码、设置工具选项 21 5.2.4 Build项目并生成HEX文件 24第6章 电路仿真 25 6.1 PROTEUS简介 25 6.2 使用PROTEUS进行电路仿真设计 25 6.2.1 PROTEUS功能特点 26 6.2.2 PROTEUS快捷键大全 26 6.2.3 仿真图 27第7章 PCB制图 28 7.1 PROTEL99SE简介 28 7.2 PCB设计的一般原则 28 7.3 PCB设计 30 7.3.1 创建PCB文件 30 7.3.2 元器件布局 32 7.3.3 自动布局 32 7.3
8、.4 输出光绘文件 32总 结 35致 谢 36参考文献 37附 图 38附 表 39附程序 40I第1章 绪论 随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走
9、时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于
10、软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用MCU的方案,利用STC89C52RC单片微机制成万年历电路,采用软件和硬件结合的方法,控制LCD1602输出,分别用来显示年、月、日、时、分、秒,还有温度和湿度,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得
11、STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 本文介绍了基于STC89C52RC单片机设计的电子万年历。第2章 设计要求与方案论证2.1设计要求2.1.1 基本要求 具有年、月、日、星期、时、分、秒等功能;2.1.2 扩展功能 具有温湿度检测功能;2.2 系统基本方案选择和论证 2.2.1单片机芯片 PIC单片机是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。 EMC单片机是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产
12、品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差。 ATMEL单片机ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。 PHLIPIS 51PLC系列单片机PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。 HOLTEK单片机台湾盛扬半导体的单片机,价格便宜,种类
13、较多,但抗干扰较差,适用于消费类产品。 TI公司单片机德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合。 方案一 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧
14、入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二 采用STC89C52RC,片内ROM全都采用Flash ROM;能以3V的超低压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术。 所以选择采用STC89C52RC作为主控制系统。2.2.2 显示模块 方案一 采用液晶显示屏(LCD),液晶显示屏具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。 方案二 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显
15、示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。所以采用了液晶显示屏作为显示。2.2.3时钟芯片 方案一 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。 所以采用DS1302时钟芯片实现时钟。2.2
16、.4温湿度传感器 方案一 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二 采用SHT10作为温度和湿度的检测,该仪器具有测量精度较高、硬件电路简单、并能很好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,可以进行加湿电路和除湿电路的控制,使温度和湿度参数在预先设定的范围内,不需要人的直接参与。所以采用SHT10温湿度传感器。2.3 电路设计最终方案 综上各方案所述,对
17、此次作品的方案选定: 采用STC89C52RC作为主控制系统; DS1302提供时钟; 温湿度传感器SHT10检测温湿度;LCD液晶显示屏作为显示。第3章 硬件设计与原理 以STC89C52RC单片机为核心,起着控制作用。系统包括LCD1602液晶显示电路、复位电路、时钟电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路。设计思路分为九个模块:复位电路、晶振电路模块、STC89C52RC、LCD1602液晶显示电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路这九个模块。3.1 系统设计方框图3.2 硬件设计分析3.2.1 显示系
18、统 LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3-2-1所示:图3-2-1 LCD1602尺寸图 LCD1602的主要技术参数: 1、显示容量:162个字符2、芯片工作电压:4.55.5V3、工作电流:2.0mA(5.0V)4、模块最佳工作电压:5.0V5、字符尺寸:2.954.35(WH)mm引脚功能说明LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如图3-2-2所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶
19、显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极图3-2-2引脚接口说明 第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低
20、电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.2.2 LCD1602的指令说明及时序序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数
21、据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容图3-2-3控制命令表1602液晶模块内部的控制器共有11条控制指令,如图3-2-3所示: 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:
22、控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令
23、11:读数据。3.2.3 LCD1602的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-2-4是1602的内部显示地址。图3-2-4 LCD1602内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶
24、模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。图3-2-5 液晶显示电路3.2.4 时钟电路模块(1) 时钟芯片DS1302的工作原理DS1302在每次进行读、写程序前都必须初始化,先把SCL
25、K端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之
26、前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。图3-2-6时钟芯片DS1302电路图(2) DS1302的控制字节DS1302的控制字如表3-2-7所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR图3-2-7 DS1302的控制字格式(3) 数据输入输出(I/O)在控制指令字输入后的下一
27、个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图3-2-8所示图3-2-8 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见图3-2-9。图3-2-9 DS1302的日历、时间寄存器此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所
28、有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 图 2-3示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X
29、1和X2是振荡源,外接32.KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。3.2.5 温湿度采集模块图3-2
30、-10 温湿度采集系统3.2.6 按键调整电路图3-2-11 按键调整电路3.2.7 按键提示音电路图3-2-12 按键提示音电路3.2.8 报警指示灯电路图3-2-13 报警指示灯电路第4章 程序设计4.1 程序设计的组成该系统由延时子函数、检查LCD1602液晶忙位子函数、LCD1602液晶写指令子函数、LCD1602液晶写数据子函数、LCD1602液晶初始化子函数、SHT10写字节子函数、SHT10读字节子函数、SHT10启动传输子函数、SHT10连接复位子函数、SHT10温湿度检测子函数、SHT10温湿度值标度变换及温度补偿子函数、温湿度显示子函数、LCD1602液晶写参数子函数、按键
31、提示音子函数、按键扫描子函数、主函数和数据定义这几部分组成。4.2 部分程序分析4.2.1 检查LCD1602液晶忙位子函数/检查LCD1602液晶忙位子函数void LCD1602_busy() uchar i=0;RS=0; RW=1; E=1; P0=0xff;i=0; while(P0&0x80)=0x80)&i150)i+; E=0; 4.2.2 LCD1602液晶写指令子函数/LCD1602液晶写指令子函数void write_com(uchar com)LCD1602_busy();RS=0;RW=0;P0=com;E=1;E=0;4.2.3 LCD1602液晶写数据子函数/LC
32、D1602液晶写数据子函数void write_date(uchar date)LCD1602_busy();RS=1;RW=0;P0=date; E=1;E=0;4.2.4 LCD1602液晶初始化子函数/LCD1602液晶初始化子函数void LCD1602_init()/初始化设置uchar i;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(i=0;i16;i+)write_date(table1i);delay(500);write_com(0xc0);for(i=
33、0;i0;i=1) /高位为1,循环右移 if(i&value) DATA=1;/和要发送的数相与,结果为发送的位 else DATA=0; SCK=1; _nop_();_nop_();_nop_();/延时3us SCK=0;DATA=1; /释放数据线SCK=1; error=DATA; /检查应答信号,确认通讯正常_nop_();_nop_();_nop_();SCK=0; DATA=1;return error; /error=1 通讯错误4.2.6 SHT10读字节子函数/SHT10读字节子函数char s_read_byte(uchar ack) uchar i,val=0;DA
34、TA=1; /释放数据线for(i=0x80;i0;i=1) /高位为1,循环右移 SCK=1; if(DATA) val=(val|i); /读一位数据线的值 SCK=0; DATA=!ack; /如果是校验,读取完后结束通讯;SCK=1; _nop_();_nop_();_nop_();/延时3us SCK=0; _nop_();_nop_();_nop_(); DATA=1; /释放数据线return val;4.2.7 SHT10温湿度检测子函数/SHT10温湿度检测子函数char s_measure(uchar *p_value,uchar *p_checksum,uchar mod
35、e) unsigned error=0;uint i;s_transstart(); /启动传输switch(mode) /选择发送命令 case TEMP: error+=s_write_byte(0x03); break; /测量温度 case HUMI:error+=s_write_byte(0x05); break; /测量湿度 default: break; for(i=0;i65535;i+) if(DATA=0) break; /等待测量结束if(DATA) error+=1; / 如果长时间数据线没有拉低,说明测量错误 *(p_value)=s_read_byte(1); /读
36、第一个字节,高字节 (MSB)*(p_value+1)=s_read_byte(1); /读第二个字节,低字节 (LSB)*p_checksum=s_read_byte(0);/read CRC校验码return error;/ error=1 通讯错误第5章 Keil C51编译器5.1 C51概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境
37、(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.2 Keil C51编译器的使用uVision4包括一个项目管理器,他可以使用户的8051单片机应用系统设计变得简单。要创建一个应用,需要按下列步骤进行操作:(1) 启动uVision4,新建一个项目文件,并从器件库选择一个器件。(2) 新建一个源文件,并把它加入到项目中。(3) 增加并配置选择的器件的启动代码和针对目标硬件
38、设置工具选项。(4) 编译项目并生成可以编译PROM的HEX文件。5.2.1 创建项目 启动uVision4如图5-2-1所示并创建一个项目,uVision4是一个标准Windows应用程序,直接点击程序图标就可以启动它。要创建一个项目文件,从uVision4的Project菜单中选择New Project,这将打开一个标准的Windows对话框(图5-2-2),此对话框要求输入项目文件名。图5-2-1 uVision4启动画面图5-2-2 创建项目文件对话框 选择所要的单片机,这里我们选择常用的Ateml公司的AT89C52。此时屏幕如图5-2-3所示。图中右边简单的介绍了Ateml的功能。
39、完成上面步骤后,就可以进行程序的编写了。 图5-2-3 选择器对话框5.2.2 新建一个源文件单击菜单选项FileNew新建一个源文件,这将打开一个空的编辑窗口,要求输入源代码。当把此文件另存为*.c的文件后,uVision4将高亮显示C语言语法字符。一旦创建了源文件,如example.c,就可以把它加入到创建的项目中。uVision4提供了几种手段把源文件加入到项目中。例如,可以鼠标右键单击Project窗口下Files页中的文件组(Source group),弹出快捷菜单,菜单中的Add Files to Groups选项打开一个标准的文件对话框,从对话框中选择刚刚生成的文件。加入后的结果
40、如图5-2-4所示图5-2-4 加入源文件后的项目管理窗5.2.3 增加和配置启动代码、设置工具选项文件STARTUP.A51是大多数不同的8051CPU准备的启动代码。启动代码清除数据存储器并初始化硬件和再人函数堆栈指针。另外,一些8051系列单片机派生产品要求初始化CPU来符合设计中的相应的硬件。假如需要修改启动文件来符合目标硬件,应该把文件STARTUP.A51复制一份到目标文件夹中。为选择的CPU的配置文件创建一个文件组是一个良好的习惯。通过ProjectTargets,Groups,Files打开对话框来添加一个名为System Files的文件组到目标中。也在此对话框中,单击【Ad
41、d Files to Group】按钮把文件STARTUP.A51添加到项目中。在项目窗口中双击文件名STARTUP.A51,就可以在编辑器中打开它,配置启动代码。如果使用所选择器件的片上RAM,在启动代码中的设置必须匹配Options-Target对话框中的设置。其设置方法如下:uVision4允许为目标硬件设置选项。Options for Target对话框可以通过工具条图标打开。在目标的各个选项卡中,可以定义和目标硬件及所选器件的片上元件相关的所有参数,如图5-2-5、5-2-6、5-2-7所示。根据选择的器件的不同,目标对话框的内容也会有所不同。图5-2-5 目标对话框的target选
42、项卡图5-2-6 目标对话框的C51选项卡图5-2-7 目标对话框的Output选项卡5.2.4 Build项目并生成HEX文件通常情况下,在Options-Target对话框中的设置已经足够一个新的应用。选择菜单ProjectBuild target,对当前工程进行连接,如果当前文件已修改,软件就会先对该文件进行编译,然后连接以产生目标代码;如果选择菜单ProjectRebuilt All target files,奖会对当前工程的所有文件重新进行编译,然后再连接,确保最终产生的目标代码是最新的,而Translate.项则仅对该文件进行编译,不进行连接。以上操作可以通过工具按钮直接进行。图5
43、-2-8是有关编译、连接、项目设置的工具按钮,从左到右分别是编译、编译连接、全部重建、停止编译和对工程进行设置。图5-2-8 有关编译、连接、项目设置的工具条 编译过程中的信息将出现在输出窗口中的Build选项卡中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到如图5-2-9所示的结果,提示获得了hex文件,该文件即可被编译器读入并写入芯片中,同时产生了一些相关文件,可被Keil仿真与调试。图5-2-9 正确编译、连接后的结果第6章 电路仿真6.1 PROTEUS简介 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、
44、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。6.2 使用PROTEUS进行电路仿真设计 在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看
45、到模拟的实物运行状态和过程。PROTEUS 是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供
46、了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。目前Proteus的最新版为8.0,ARM cortex处理器被增加,在7.10中已经增加DSP系列(TMS320)。6.2.1 PROTEUS功能特点 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真革命性的特点1互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年许昌县三年级数学第一学期期末复习检测模拟试题含解析
- 2024-2025学年团风县数学三年级第一学期期末联考模拟试题含解析
- 2025年化学气相沉积硫化锌(CVDZNS)晶体项目提案报告模板
- 工商管理类实习报告汇编九篇
- 公司活动策划方案集合8篇
- 妇幼保健工作计划锦集10篇
- 关于工程建筑实习报告范文6篇
- 出纳实习报告集合15篇
- 四川省南充市2025届高三上学期高考适应性考试(一诊)生物试卷含答案
- 2024年设备购买与交付合同
- 高中词汇3500乱序版
- GB/T 3098.2-2015紧固件机械性能螺母
- GB/T 20319-2017风力发电机组验收规范
- 2023年初一学生综合素质自我陈述报告3篇(范文)
- FZ/T 93074-2011熔喷法非织造布生产联合机
- 《思想政治教育问题研究开题报告(含提纲)3000字》
- 题型二次函数压轴题课件
- 气瓶安全风险分析+评价记录
- 班前安全教育手册(适用于全公司房屋建筑工程、市政基础设施工程、公路工程施工的作业人员)
- 国家开放大学电大本科《国际私法》案例题题库及答案(a试卷号:1020)
- L04小尺寸MOSFET的特性
评论
0/150
提交评论