基于AVR单片机的电子密码锁设计.doc

上传人:laozhun 文档编号:4148064 上传时间:2023-04-07 格式:DOC 页数:81 大小:8.56MB
返回 下载 相关 举报
基于AVR单片机的电子密码锁设计.doc_第1页
第1页 / 共81页
基于AVR单片机的电子密码锁设计.doc_第2页
第2页 / 共81页
基于AVR单片机的电子密码锁设计.doc_第3页
第3页 / 共81页
基于AVR单片机的电子密码锁设计.doc_第4页
第4页 / 共81页
基于AVR单片机的电子密码锁设计.doc_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《基于AVR单片机的电子密码锁设计.doc》由会员分享,可在线阅读,更多相关《基于AVR单片机的电子密码锁设计.doc(81页珍藏版)》请在三一办公上搜索。

1、摘 要本文主要介绍了基于AVR单片机的电子密码锁设计。主要内容为仿真硬件电路的设计和软件程序的设计。主要实现的功能是实现人机接口矩阵输入,这种输入方式更节约管脚,数码管显示输出(LCD1602)。本例用AVR单片机EEPROM保存密码,输入正确密码时开锁灯亮,液晶显示屏显示开锁成功。在开锁之后可以实现密码的修改和储存,并且重新输入的密码经过MD5加密后以密文的形式存储在EEPROM中,更加安全可靠。此模块是基于AVR单片机的,该模块的硬件开发平台采用的是Atmel公司的ATmega16单片机,且ATmega16是基于增强型的AVR RISIC结构的低能耗8位CMOS微控器,速度快,且存储空间大

2、,这给设计带来了极大的方便。将调试成功的C程序工程加载到ATmega16单片机中就可以实现以上的功能。本次设计软件方面主要使用的开发平台是WINAVR和AVR_Studio,所使用的编程语言是C语言。完成本次设计需要掌握ATmega16单片机的相关知识与实际应用,单片机外围电路的设计,相关C程序的设计与仿真等。该驱动程序能够正常运行,运行结果正确,证明设计思路正确。关键词:MD5加密;AVR_Studio;PROTUES;ATmega16单片机Abstract This paper mainly introduces the design of electronic password lock

3、 based on AVR microcontroller. Design of the main content for the design of hardware circuit and software program. The main function is to achieve human-machine interface matrix input, the input mode is more economical in pin, digital tube display output (LCD1602). The save password with AVR microco

4、ntroller EEPROM, enter the correct password to unlock the lights, the LCD screen displays the unlock success. In the unlocking can be achieved after the password changes and storage, and re-enter the password encrypted with MD5 after stored in encrypted form in EEPROM, more safe and reliable. This m

5、odule is based on AVR MCU, the developing platform of the hardware of the module is based on Atmels ATmega16 chip, and ATmega16 is a unit, micro control enhanced AVR RISIC structure type of low-energy consumption based on 8 bits CMOS speed, and large storage space, which brings great convenience to

6、design. The successful debugging C program project is loaded into the ATmega16 microcontroller can be achieved above functions. The main use of the design software development platform is WINAVR and AVR_Studio, the programming language used is C language. Complete knowledge of the design need to mas

7、ter the ATmega16 MCU and practical applications, single-chip peripheral circuit design, C program design and simulation.The driver can run normally, run results correctly, prove that design idea is correct. Keywords: MD5 encryption;AVR_Studio; PROTUES;ATmega16 MCU 目 录1绪 论11.1 电子密码锁的介绍11.2 AVR单片机的发展过

8、程及现状21.2.1 发展过程21.2.2 AVR单片机的现状31.2.3 AVR单片机的优点31.2.4 AVR单片机的型号标识解释51.2.5 AVR 8-Bit MCU的最大特点51.3 MD5加密算法的介绍61.3.1 MD5的简介61.3.2 MD5算法的原理61.4 本论文的结构82 系统整体设计92.1 原理框图92.2 系统仿真平台92.2.1 PROTUES简介92.2.2 PROTUES新特点102.3 软件开发平台132.3.1 WINAVR与AVR_Studio的介绍132.3.2 AVR_Studio的安装132.3.3 WINAVR的安装153 仿真硬件电路设计17

9、3.1 硬件开发平台173.1.1 ATmega16介绍173.1.2 ATmega16产品特征及性能183.2 单片机外围电路设计233.2.1 液晶显示屏的设计233.2.2 矩阵键盘输入的设计253.2.3 外围时钟电路的设计253.2.4 蜂鸣器及开锁指示灯的设计263.2.5 单片机的引脚连接设计263.2.6 电源与时钟电路的设计263.3 电路的完整设计264 软件设计274.1 单片机C语言程序设计技术274.1.1 单片机C语言的主要特点274.2 整体程序设计简要介绍284.2.1 整体程序的设计284.3 各程序模块的设计284.3.1 各函数定义284.3.2 主函数模

10、块334.3.3 LCD1602液晶显示屏模块384.3.4 矩阵键盘输入模块414.3.5 MD5加密算法模块424.3.6 蜂鸣器子模块484.3.7 读取密码及存储密码模块485 系统的实现515.1 系统运行结果515.1.1 程序的加载515.1.2 功能的实现52结 论56致 谢57参考文献58附录A 英文原文59附录B 中文翻译671 绪 论1.1 电子密码锁的介绍目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿

11、牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。电子锁是采用电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化所锁,相比传统的锁具,电子锁不使用金属钥匙,保密性、精度都很高。电子锁的发明思路,源自古代的自动机械,它们以重力或蒸汽压力驱动,最广泛

12、用途是用在古代古墓的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进1。电子密码锁是在电子锁的基础上设计的,一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论是在技术上还是在性能上都大大提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带处理器的智能

13、密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们生活水平的提高,电子密码锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。随着人们生活水平的提高,如何实现防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间18。随着人们对安全的重视和科技的发展,许多电子智能锁已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱

14、、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流2。因为电子密码锁具有保密性好、编码量多、密码可变、误码输入保护、电子密码锁操作简单易行、干扰码功能、在输入正确密码前可输入任意码、安保功能等功能。使用电子密码锁这些问题都能够解决,这也就是电子密码锁成为电子防盗产品主要研究对象的原因。1.2 AVR单片机的发展过程及现状1.2.1 发展过程AVR单片机是19

15、97年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。ATmel 挪威设计中心的A先生与V先生,于97年设计出一款使用RISC指令集的8位单片机,起名为AVR。AVR单片机系列齐全,可适用于各种不同场合的要求。AVR单片机有3个档次:低档Tiny系列AVR单片机: 主要有Tiny11/12/13/15/26/28等; 中档AT90S系列AVR 单片机: 主要有AT90S1200/2313/8515/8535

16、等; (正在淘汰或转型到Mega中,详情请参考:AVR宣布到期的芯片清单)高档ATmega系列AVR单片机: 主要有ATmega8/16/32/64/128( 存储容量为8/16/32/64/128 KB)以及ATmega8515/8535。 新的型号还有 ATmega48/88/168 (存储容量为4/8/16K) 等3。早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥的方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度减慢。以后的CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观;此间虽有某些精简指令集单片机(RISC

17、)问世,但依然沿袭对时钟分频的做法。 ATMEL公司是世界上著名的高性能、低功耗、非易失性存储器和数字集成电路的一流半导体制造公司。20世纪90年代初 ,ATMEL率先把MCS-51内核与其擅长的Flash技术相结合,推出轰动世界的AT89系列单片机。1997年,ATMEL挪威设计中心出于市场需求考虑,充分发挥其Flash技术优势,推出全新配置的精简指令集(RISC)单片机,简称AVR。几年来,AVR单片机已形成系列产品,其Attiny,AT90,Atmega分别对应为低、中、高档产品4。1.2.2 AVR单片机的现状电子技术如今迅猛发展,尤其是单片机已广泛地应用于军事、工业、家用电器、智能玩

18、具、便携式智能仪表、机器人制作等领域,使产品功能、精度和质量大幅度提高,且电路简单,故障率低,可靠性高,成本低廉。AVR单片机价格低廉、可擦除1000次以上,不再有报废品产生,且对掉电后数据的保存带来方便,来电时能记住掉电时的工作状态,给用户带来极高的可靠性,受到一致好评5。1.2.3 AVR单片机的优点 单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中。1) 简便易学,费用低廉首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入A

19、VR单片机开发的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下”。其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。再次,AVR单片机费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10

20、000次以上,不会产生报废品。2) 高速、低耗、保密首先,AVR单片机是高速嵌入式单片机,AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内

21、部,无法用电子显微镜看到10。3) I/O口功能强,具有A/D转换等电路AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)1040 mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。 AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega48/8/16等器件具有8路10位A/D。 部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。 AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱飞,提高了产品

22、的抗干扰能力。4) 有功能强大的定时器/计数器及通讯接口定时/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有34个PWM,是作电机无级调速的理想器件。AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576K。5) 片内EEPROMEEPROM 数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM 的寿命至少为100,000 次擦除周期。EEPROM 的访问由地址寄存器、数据寄存器和控制寄存器决定。通过SPI和J

23、TAG及并行电缆下载EEPROM数据的操作6。总的来说,在相同的系统时钟下AVR运行速度最快;芯片内部的Flsah、EEPROM、SRAM容量较大;所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAV

24、R、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位6。 1.2.4 AVR单片机的型号标识解释1)型号紧跟的字母,表示电压工作范围。带“V”:1.8-5.5V;若缺省,不带“V”:2.7-5.5V。例:ATmega48-20AU,不带“V”表示工作电压为2.7-5.5V。2)后缀的数字部分,表示支持的最高系统时钟。例:ATmega48-20AU,“20”表示可支持最高为20MHZ的系统时钟。3)后缀第一(第二)个字母,表示封装。“P”:DIP封装,“A”:TQFP封装,“M”:MLF封装

25、。例:ATmega48-20AU,“A”表示TQFP封装。4)后缀最后一个字母,表示应用级别。“C”:商业级,“I”:工业级(有铅)、“U”工业级(无铅)。例:ATmega48-20AU,“U”表示无铅工业级。ATmega48-20AI,“I”表示有铅工业级7。1.2.5 AVR 8-Bit MCU的最大特点与其它8-Bit MCU相比,AVR 8-Bit MCU最大的特点是:1) 哈佛结构,具备1MIPS / MHz的高速运行处理能力。2) 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象17。3) 快速的存取寄存器组、单周

26、期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发16。4) 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力。5) 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠。6) 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等。7) 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序

27、8。1.4 MD5加密算法的介绍1.4.1 MD5的简介MD5算法即信息摘要算法(message digest algorithm 5),在20世纪90年代初由MIT的计算机科学实验室和RSA Data Secutity Inc发明,经历的版本有MD2 MD3 MD4,MD5广泛用于加密技术,很多系统用户密码都以MD5加密方式保存,用户登录时,系统将用户输入的密码转换成MD5值,然后再与系统中保存的MD5值比较,以此来验证用户的合法性,这样比保存密码明文要安全的多,密码明文容易被窃取和使用,而经MD5加密后的密码,由于其不可逆运算的特性,即使MD5加密后的密码被窃取,系统安全也不会受到威胁16

28、。1.4.2 MD5算法的原理MD5以512位(bit)分组来处理输入的信息,每一分组又被划分为若干子分组,经过了一系列的处理后,算法的输出由4个32位分组组成,将这4个32位分组组合后将生成一个128位散列值,这128位二进制数相当于16个字节,由这16个字节转换的字节串就是最后输出的32个字符(每字节转换为2个字符)。本设计MD5算法中,上下文结构变量context的buffer成员是512位的信息处理缓冲,state成员保存MD5算法的4个32位初始幻数及最终的组合输出数位,count成员保存信息位长。在初始化上下文结构变量context以后,算法首先调用MD5Update函数对原始信息

29、串进行变换。核心变换函数为MD5Update,对于长串会进行尽可能多次的MD5四轮变换,每次进行的四轮变换由函数MD5Transform完成,变换后的结果存入于context的状态成员state。MD5算法接着再进行信息串填充,使其位长度对512求余的结果等于448(即512-64),信息的位长度被扩展至n*512+448位(bit),即n*64+56字节(n为一个正整数)19。MD5算法填充信息串时,在原始信息的后面填充一个1和若干个0,直到满足上面的条件为止。MD5.c中使用的数组PADDING64=0x80,0,0,用于填充处理,该数组所有字节展开为二进制数时就是1000000,它以1个

30、1开头,后面是511个0,共512位。实际填充时会使用其第0个字节开始的若干个连续字节。在进行填充处理后再调用核心函数MD5Update继续进行变换,完成填充后再使64位二进制表示的填充前信息长度参与变换,此时是第3次调用MD5Update函数,本设计中附加的填充前信息长度由8字节的bits数组给出。MD5加密算法中,4个加密幻数为:a=0x01234567,b=0x89abcdef,c=0xfedcba98,d=0x76543210。它们按Little Endian方式初始存放于contextstate中。MD5加密的四轮变换函数MD5Transform使用了以下4个非线性函数(每轮1个):

31、F(x,y,z)=(x&y)|(x)&z)G(x,y,z)=(x&z)|(y&(z)H(x,y,z)=xyzI(x,y,z)=y(x|(z)在经过MD5Final的最后变换以后,contextstate中保存的16字节数据就是待输出的加密数据,这16个字节被复制到摘要字节数组digest,程序最后将这16个字节转换为十六进制字符,每字节转换为2个字符,得到最后的加密输出字符串。以下为对原始密码“123456”进行MD5加密的跟踪过程:(1) 调用MD5Init函数初始化context,初始化以后的context各成员初值如下: 位长成员count0-count1:0x00000000 0000

32、0000; 状态成员state0-state3:0x10325476 98BADCFE EFCDAB89 67452301; 缓冲成员buffer:64个0x00。(2) 首次调用MD5核心计算函数 MD5Update:MD5Update(&context,(INT8U*)str,len)。 本次调用MD5Update对原始信息串进行变换处理,处理后的context内容如下: count0-count1:0x00000030 00000000,即count=48(这里的48表示原始串长为6字节,共48位); state0-state3:0x10325476 98BADCEF EFCDAB89

33、6745230; 缓冲成员buffer:31 32 33 34 35 36 80 0000,其中80开始的50个字节为填充字节,以1个二进制1开头,后面为447个0,buffer的最后8个字节仍为0x00。 再次调用MD5Update函数:MD5Update(context,bits,8),附加用64位(8字节)表示的填充前串进行变换: count0-count1:0x00000200 00000000 ,即count=512;(512=448+64) state0-state3:0x39DC0AE1 0xAB59BA49 0x57E056BE 0x3E880FF2; Buffer的内容不变。

34、最后输出的MD5加密密码为:e10adc3949ba59abbe56e057f20f883e该字符串是将state0-state3中4个十六进制长整数逆转并转换为小写以后的结果。为将初始密码“123456”进行MD5加密以后的密码存入单片机的EEPROM存储器,需要先将“e10adc3949ba59abbe56e057f20f883e”保存到Password.bin文件。创建Password.bin以后,打开单片机属性窗口找到“Advanced Properties下拉框,选择“Initial contents of EEPROM项,在其后面的文本框中选择Password.bin文件即可完成对

35、EEPROM的初始数据绑定。1.4 本论文的结构本论文包括五大部分,第一部分是绪论,其中描述了电子密码锁的介绍,MD5算法的介绍,论文的结构,和AVR单片机的发展过程和现状;第二部分是系统的整体设计,其中包括系统的整体框图,硬件开发工具和软件开发工具,讲述了系统的设计的每个小框架,软件和硬件的功能菜单的介绍;第三部分是仿真硬件电路的设计,包括CPU的选型,所选CPU的功能介绍,外围电路的设计以及各模块的功能介绍;第四部分是软件设计,包括每个模块的软件设计流程图,及主要代码介绍;第五部分是系统的实现,包括程序的加载和功能的实现,介绍了软件的运行结果。2 系统整体设计2.1 系统框图图2.1 系统

36、框图如图2.1所示,这个框图实现电子密码锁的功能,在设计中用AVR单片机的EEPROM保存密码,当用户输入正确密码时开锁指示灯亮,液晶显示屏显示开锁成功。开锁成功后用户可按下重设密码键设置新密码,在输入十位以内的新密码后按下存入键可将新密码用MD5算法加密并写入EEPROM,下次开锁时用新密码才能打开。每次按键蜂鸣器都会发出声音以表示按键成功。2.2 系统开发平台2.2.1 PROTUES简介PROTEUS软件是英国Labcenter electronics公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。是目前同类软件中最先

37、进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程9。已经安装了Proteus ISIS7软件的桌面上就会有图标。双击该图标,出现工作界面如图1所示。界面中包括:标题栏、下拉主菜单、快捷按钮栏、标准工具栏、绘图工具箱、状态栏、选择元器件按钮、预览对象方位控制按钮、仿真操作按钮、预览窗口、电路原理图编辑窗口等。1、电路图的绘制运行的程序后, 进入该仿真软件的主界面。作图步骤: (1)绘图前, 为了便于作图, 可作一些设置。如设置栅格、栅格捕捉精度、图形界面颜色、大小等。(2)通过对象选

38、择按钮P, 利用其搜索引擎, 将所需元器件加入到对象选择器窗口。列元件清单,如表 2-1 元件清单元件名称型号数量Proteus中的名称单片机芯片Mega161Mega16晶振1MHz1CRYSTAL电容22pF2CAP液晶显示屏LCD16021LM016L电阻2201RES电阻10K1RES(3)放置元器件至图形编辑窗口, 并调整到合适位置。(4)修改属性,如电阻, 设置电阻值(5)放置总线至图形编辑窗口。(6)完成元器件之间以及元器件与总线的连线。(7)给与总线连接的导线贴标签, 以便于系统识别10。2.2.2 PROTUES的特点 Proteus软件具有其它EDA工具软件(例:multi

39、sim)的功能。这些功能是:(1)原理布图 (2)PCB自动或人工布线(3)SPICE电路仿真 革命性的特点 :(1)互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 (2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。 功能模块:(1)智能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地

40、创建新元件; 智能的器件搜索:通过模糊搜索可以快速定位所需要的器件; 智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间; 支持总线结构:使用总线器件和总线布线使电路设计简明清晰; 可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。 (2)完善的电路仿真功能(Prospice)ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真; 超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方

41、发布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等; 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率

42、特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析11; (3)独特的单片机协同仿真功能(VSM)支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器; 支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和

43、外部电路实现双向异步串行通信; 实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真; 编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试; (4)实用的PCB设计平台原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计; 先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布

44、线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理; 整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览; 多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工12。 在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 ROTEUS 是单片机课堂教学的先进助手。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机

45、实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果13。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 图2.2 系统仿真平台界面2.3 软件开发平台2.3.1 WINAVR与AVR_Studio的介绍AVR_Studio是Atmel官方针对AVR系列单片机推出的集成开发环境,它集开发调试与一体,有很好的用户界面与很好的稳定性。由于AVR_Studio仅支持编译汇编语言程序,不支持对C语言程序的编译。要基于AVR_Stud

46、io搭建AVR单片机C语言开发环境,除下载安装AVR_Studio之外,还需要下载安装WinAVR来提供AVR-GCC编译器。 WinAVR是GNU组织组织推出的AVR单片机的GCC编译器,该编译器的编译效率极高,GCC编译器是开源的也是免费的,使用GCC编译器,可以掌握标准C的语法等,为学习Linux等奠定基础14。2.3.2 WINAVR的安装按如下系列的图示2.3进行安装:图2.3 WINAVR的安装双击安装包启动安装开始准备安装同意License选择安装路径选择USB驱动确定开始安装并且完成安装2.3.2 AVR_Studio的安装图2.4 AVR_Studio的安装选择安装向导语言接收协议选择安装目录选择安装组件正在安装完成安装安装后的软件界面如图2.5所示: 图2.5 软件开发平台界面 3 硬件电路设计3.1 CPU选型3.1.1 ATmega16介绍本课题是基于AVR单片机。所以选用ATMEL公司推出的ATmega16完成。ATMEGA16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号