为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

avr_isp

2012-07-14 19页 pdf 691KB 17阅读

用户头像

is_449236

暂无简介

举报
avr_isp 根据网上的资料整理制作的基于 M8 的 USB 接口的 ASPISP 下载线。做了 30 几块,有 30 几位使用,除个别由于焊接问题,没有发现大的问题。现提供全 部资料。 点击此处下载全部资料(文件大小:581K)(原文件名:usb-avrisp.rar)(资料中,已经增加了 VISTA 下的 USBISP 驱动程序。现在在 XP 和 VISTA 下都可以使用) sch 图 JTAG 与 ISP 下载区别 2010-06-25 10:26:03| 分类:单片机阅读 45 评论 0 ...
avr_isp
根据网上的资料整理制作的基于 M8 的 USB 接口的 ASPISP 下载线。做了 30 几块,有 30 几位使用,除个别由于焊接问题,没有发现大的问题。现提供全 部资料。 点击此处下载全部资料(文件大小:581K)(原文件名:usb-avrisp.rar)(资料中,已经增加了 VISTA 下的 USBISP 驱动程序。现在在 XP 和 VISTA 下都可以使用) sch 图 JTAG 与 ISP 下载区别 2010-06-25 10:26:03| 分类:单片机阅读 45 评论 0 字号:大中小订阅 JTAG 是 Joint Test Action Group(联合测试行动小组)的缩写,是一种国际测试(IEEE 1149.1 兼容),主要用于芯片内部测试。JTAG 用来对芯片进行测试的基本原 理是在器件内部定义一个 TAP(Test Access Port;测试访问口)通过专用的 JTAG 测试工具对内部节点进行测试。标准的 JTAG 接口是 4 线:TMS、 TCK、TDI、TDO,分别为 模式选择、时钟、数据输入和数据输出线。 TMS:测试模式选择。此引脚用来实现 TAP 控制器各个状态之间的切换。 TCK:测试时钟。JTAG 操作是与 TCK 同步的。 TDI:测试数据输入--需要移位到指令寄存器或数据寄存器(扫描链)的串行输入数据。 TDO:测试数据输出-- 自指令寄存器或数据寄存器串行移出的数据。 现在,JTAG 接口还常用于实现 ISP(In-System Programmable;在线编程),对 EEPROM、FLASH 等器件进行编程和在线调试。JTAG 编程方式是在线编程,传统开发流 程中先对芯片进行预编程再装到板上的模式因此而改变,简化的流程为先固定器件到电路板上,再用 JTAG 编程,从而大大加快工程进度。 AVR 的 JTAG 功能(只有部分型号才有)使得 AVR 的调试工作非常简单,可以通过 JTAG 接口对 Flash、EEPROM、熔丝位和锁定位进行编程。使用 AVR studio 软件和 JTAG 硬件( AVR JTAG 编程器,AVR JTAG 仿真器)可以进行程序下载(亦即编程)和程序在线调试。通过 JTAG 功能,工程师可以方便的观察各个寄存器的变化和程序的运 行情况,十分适合单片机的学习与系统开发。 什么是 ISP? ISP 是一种通用的程序下载方式,所有 AVR 单片机都有 ISP 下载接口。可以通过 ISP 下载线或者 STK500 把程序下载到单片机中。ISP 下载线成本低廉,制作简单,一个 并口 ISP 下载线只需几十元即可得到。但是通过 ISP 的方式下载程序速度慢并且不能实现在线的仿真调试,所以这种编程方式并不适合于单片机的学习与系统开发。 什么是 Debugwire? 为了降低成本和调试引脚的开销,ATMEL 公司在 AVR 器件上使用的新的调试接口——Debugwire。通过 Debugwire 的方式,用户可以实现程序的在线调试,调试方面 Debugwire 与 JTAG 相比其主要区别在于仅使用一根信号线(RESET),即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能,但是在使用中尚需接电 源信号:VTref(VCC)、GND。要注意的是,Debugwire 不同于 JTAG,它只是一种调试接口,而不是编程接口,也就是说不能通过 Debugwire 下载程序。 JTAG,ISP,Debugwire 的区别。 JTAG:可以进行程序的下载和在线仿真调试,程序下载速度快。只有部分器件支持。在 JTAG 使能的前提下程序的下载和仿真无需进行其他设定即可。 ISP:只能进行程序的下载,程序下载速度慢。所有 AVR 单片机均支持 ISP 程序下载。 Debugwire:只能进行程序的在线仿真调试不能进行程序的下载。只有比较少的器件支持 Debugwire 方式仿真。目标 MCU 的 ISP 功能和 debug WIRE 功能是互斥的,使能 了目标 MCU 的 debug WIRE 功能后 ISP 功能就无法使用,使能了 ISP 功能后 debug WIRE 功能就无法使用。 pcb 图 实物图 最终实物图(外面用透明热塑管封装) 首先声明,我没有编写一句代码,仅对硬件做了调整。 1。AVRISP 的固件采用网上德国人的 07.3.28 的最新版固件,各位可以跟踪该网站,获得最新的信息。他提供 2 种模式的固件,我使用的是兼容 AVRASP 的。该网站还提供了固件的源代码。 2。windows 驱动也是该网上提供的,我仅改了一句: 将;Modem3="Communications Port"改为 Modem3="USBASP-ISP" 这样在 windows 中看到的设备为“USBASP-ISP” 3。下载软件采用最新版的 AVRSTUDIO。该 3 月 28 日的固件就是配合最新版的 AVRSTUDIO 使用的,老版的 AVR STUDIO 也能用,可能要跳出更新固件代码 的窗口,直接关闭即可。在 AVR STUDIO 外的其它开发环境中使用不正常,或不支持,或支持的不好。 制作 1。硬件...... 2。将固件写入 AVRISP 的 M8 中。 a/ 在 USB 口接入 5V 电源,将 JP 短路,选择其它的一个 AVR 编程器如并口的 ISP 编程器,将其编程口接在 AVRISP 的编程口上。 b/ 配置 AVRISP 上 M8 的熔丝位:电源检测电压为 2.7v,检测有效;系统使用高频外部晶体;满幅震荡!! c/ 写固件 3。将 AVRISP 上的 JP 开路,插到本本的 USB 口上,安装 wondows 驱动(分别支持 XP 和 VISTA)。驱动安装成功后,可以在 windows 的设备管理中看到一 个串口设备 USBASP-ISP。该驱动将 AVRISP 作为串口设备,占用一个 COM 口。请查看该 COM 口的号码。 4。如果你的本本中有很多的串口设备,需要进行调整,将 USBASP-ISP 对应的 COM 口号降到 9 以下,即在 COM0-COM9。原因是 AVR STUDIO 中的串口仅 能连接 COM9 以下的串口设备。(这个对计算机不熟悉的用户就不方便了) 使用 1。以上完成后,打开 AVR STUDIO。在 Tools->Program AVR->Connect 中选择 STK500 or AVRISP 可以使用 aoto 让 STUDIO 自己找,也可直接选择 AVRISP 对应的 COM 口。 2。出现以下窗口 STK500 with top module '0x00' AVRISP 正常,可以工作。 注意选择要编程的 AVR 芯片型号,和编程方式为 ISP mode!! 3。在这里可以设置 AVRISP 的编程速度(AVRISP 有记忆的)。选择速度后按 WRITE 按钮。 4。对于编程工作在 1M 以下的 AVR 芯片,要降低 AVRISP 的编程速度,否则回出现错误提示: 5。当被编程的 AVR 芯片工作在 2M 以上时,可以使用最高的速度,下载程序还是比较快的。速度的选择比较重要,如果采用低速,下载程序的时间不太 容易忍受了。 6。在使用中可能会由于目标板的上电、断电等,会造成 USBISP 连接不上,此时将 AVRIAP 从本本的 USB 口拔下,然后从新插上,在 AVR STUDIO 中需要 重新连接一下(从 1 开始)既可。 总结: 不如并口的 ISP 方便,因为在 ICC、CVAVR、BASCOM 中可以直接使用 STK200/STK300 的并口 ISP。AVRISP 只能在 AVR STUDIO 中使用,并且速度不能自动调 节。但对没有并口的本本来说,还是一个比较好的。 另外,对于这个 AVRISP 的制作,可以在它的基础上深入学习,提高水平,因为是全部公开的。其它的方案只能作为工具使用,不方便深入的学习和研究。 这也是我推荐 AVRISP 的原因。 本方案全部采用免费资源,应该无版权的官司之争。如果有侵权的部分,请告之。 ISP 和 IAP 区别 2011-02-19 17:30:13| 分类:基本概念理解| 标签:ispiap 编程单片机代码字号:大中小订阅 ISP 与 IAP 的区别 ISP :in system programming,在系统编程 IAP : in applicatin programming 在应用编程 但两者的操作方式,结果和应用场合有什么区别 什么是 ISP : 用写入器将 code 烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统; 什么是 IAP : 在应用编程,有芯片本身(或通过外围的芯片)可以通过一系列操作将 code 写入,比如一款支持 Iap 的单片机,内分 3 个程序区,1 作引导程序区,2 作运行程序区,3 作下 载区,芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将 new code 内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到 2 区,运行复位程 序,则 Iap 完成; 应用场合: 1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了; 2,IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去; 这可能是他们的优点或应用吧 在线编程目前有两种实现:在系统编程(ISP)和在应用编程(IAP)。ISP 一般是通过单片机专用的串行编程接口对单片机内部的 Flash 存储器进行编程,而 IAP 技术 是从结构上将 Flash 存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP 的实现一般需要很少 的外部电路辅助实现,而 IAP 的实现更加灵活,通常可利用单片机的串行口接到计算机的 RS232 口,通过专门设计的固件程序来编程内部存储器。 ISP 和 IAP 很相似,都是不 需要把芯片从板子上拔出来,就达到了用 PC-MCU 的编程接口(JTAG、串口、双绞线、SPI 等)搞定新版本的升级的目的。MCU 内部都是首先执行一段独立的 Boot 代码(这段 Boot 代码一般是出厂预置,或使用编程器烧录的,通常只有 1k 或 4k,SST 通常是占用一块独立的 Block,Philips 通常是让 BootROM 地址与其他 Flash 重叠,以达到隐藏的效 果),Boot 负责控制擦除程序存储器及给程序存储器编程的代码(或是处理器外部提供的执行代码),然后通过某种与 PC 计算机的通信方式(如,ether 网口),将用户指定的某 个在 PC 上编译完成的 MCU 可运行的二进制代码文件编程入 MCU 内的程序存储器。 ISP 和 IAP 最大的不同是:由谁来触发。 ISP 有 4 种触发方式: 1. 由外部硬件电路:如 VDD 保持高电平,给 RST 连续 3 个脉冲; 2. 检测状态位:如 ISPEN,为 0 时 PC 指针从 0000H 开始执行;为 1 时,通过“引导向量”计算出“ISP代码”的位置。每次复位后都会检测该状态位; 3. 中止控制符信号触发芯片复位:中止控制符信号就是指在异步串行口的接收脚上出现长达一帧长度的低电平,这里一帧的长度与异步串行口的工作模式有关。 4. 直接调用 ISP:用户程序也可以调用,但是很危险。 4 种方式的目的是相同的——进入 ISP 子程序,比如 Philips 出厂的 ISP 子程序在 1E00H-1FFFH,只要能引导 PC 指针指向 1E00H 就可以了。 而进入 ISP 代码的目的是:进入 BootROM。 IAP 的触发比较简单一些,没有外部触发。通过一些指示位(SST 为 SC0/SC1、SFCF[1,0];Philips 为一段 IAP 子程序,保存在 FF00H~FFFFH 地址空间中),达到引导 到 BootROM 的目的。 殊途同归,ISP、IAP 所进入的 BootROM 里面驻留的 Boot 代码,才是最终目标。 最后一种:并行编程模式。不需要 BootROM,直接设置芯片的多个引脚来让芯片识别命令(如:擦除、写入、验证等),从 P 口传地址、数据,就可以写入 Flash。 用 LPC2000 的 IAP,你自己分配好 FLASH 空间,指定一个 BLOCK 用来存放你的数据,然后通过 IAP 进行写操作。每次开机后,从这个 BLOCK 读你的数据。 IAP 的实现 通常在用户需要实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某 种通信管道(如 USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在 User Flash 中,当芯片上电 后,首先是第一个项目代码开始运行,它作如下操作: 1)检查是否需要对第二部分代码进行更新 2)如果不需要更新则转到 4) 3)执行更新操作 4)跳转到第二部分代码执行 第一部分代码必须通过其它手段,如 JTAG 或 ISP 烧入;第二部分代码可以使用第一部分代码 IAP 功能烧入,也可以和第一部分代码一道烧入,以后需要程序更新是再通过 第一部分 IAP 代码更新。 对于 STM32 来说,因为它的中断向量表位于程序存储器的最低地址区,为了使第一部分代码能够正确地响应中断,通常会安排第一部分代码处于 Flash 的开始区域,而第 二部分代码紧随其后。 在第二部分代码开始执行时,首先需要把 CPU 的中断向量表映像到自己的向量表,然后再执行其他的操作。 如果 IAP 程序被破坏,产品必须返厂才能重新烧写程序,这是很麻烦并且非常耗费时间和金钱的。针对这样的需求,STM32 在对 Flash 区域实行读保护的同时,自动地对 用 户 Flash 区 的 开 始 4 页 设 置 为 写 保 护 , 这 样 可 以 有 效 地 保 证 IAP 程 序 ( 第 一 部 分 代 码 ) 区 域 不 会 被 意 外 地 破 坏 。 ********************************************************************************************************************************************************************************* ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用 ISP 方式擦 除或再编程。IAP(In-Application Programming)指 MCU 可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP 和 IAP 技术是未来仪器仪表的发展方向。 1 ISP 和 IAP 的工作原理 ISP 的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过 SPI 或其它的串行接口接收上位机传来的数 据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。 IAP 的实现相对要复杂一些,在实现 IAP 功能时,单片机内部一定要有两块存储区,一般一块被称为 BOOT 区,另外一块被称为存储区。单片机上电运行在 BOOT 区,如 果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了 IAP 功能。 2 ISP 和 IAP 在单片机中的应用 2.1 传统编程方法的不足 在一般的单片机的实验或开发时,编程器是必不可少的装置。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。普通的编程器价格从几百元到几 千元不等,对于一般的单片机用户来说还是一笔不小的开支。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,这样不但麻烦也很容易对芯片和电路 板造成损伤,另外在程序需要升级做改动时,必须将设备返厂或是技术人员到现场操作,既不方便也造成成本浪费。 2.2 ISP 和 IAP 的优点 ISP 技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片 和电路板带来的不便。 IAP 技术是从结构上将 Flash 存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。 ISP 的实现一般需要很少的外部电路辅助实现,而 IAP 的实现更加灵活,通常可利用单片机的串行口接到计算机的 RS232 口,通过专门设计的固件程序来编程内部存储器, 可以通过现有的 INTERNET 或其它通讯方式很方便地实现远程升级和维护。 2.3 产品分析 目前市场上不少的单片机具有 ISP 和 IAP 功能。 ST 公司的 μPSD32××系列单片机片内带 128KB/256KB 的 FLASH 存储器及 32KB Boot ROM,通过 JTAG 串行口能很容易地实现 ISP 功能。IAP 功能则可由用户在应用中 实现。 ATMEL 公司的单片机 AT89S8252,提供了一个 SPI 串行接口对内部程序存储器编程(ISP)。SST 公司的单片机 SST89C54,其最大的特点内部有两块独立的 FLASH 存储 器,具有 IAP(应用中在线编程)功能,对于 8052 系列的其它公司的单片机(ATMEL、 WINBOND、ISSI)可以直接代换,软硬件无须做任何改动。 PHILIPS 公司的 P89C51RX2xx 系列是带 ISP/IAP 的 8 位 Flash 单片机。PHILIPS 公司为了使 ISP 技术和 IAP 技术得以推广,在芯片上免费提供了 Boot ROM 固件,并且 巧妙地解决了固件和 FLASH 的地址覆盖问题及一些具体实现细节问题,使它们的实现变得简单。 此外在外围器件中 ST 公司的 PSD 系列产品片内带大容量存储器,支持 ISP 及 IAP 功能。 ISP,In System Programing 主要是指代芯片的烧写方式,以往写片子需要把片子拿下来,离开电路,用编程器烧,换句话说,芯片不能不脱离应用系统进行写入。 ISP 主要针对这个问题,使用 JTAG 或者串行口(MCU 内部有 Boot Loader ,通过指定的方式激活之,它可以和 PC 或其它上位机通过串口联系,不用使单片机离开应用 系统而更新内部的程序/设置)进行程序的烧写操作。 因此,具有 ISP 功能的 MCU 可以不使用编程器进行编程。当然,实现 ISP 可能需要一些硬件电路支持,具体的在数据手册中有说明。 IAP,In Application Programing 单片机内部具有一些可擦写的非易失存储器,如 Flash。在单片机独立运行时,不具备 IAP 功能的单片机并不能对 Flash 的数据进行修改,比如,对自身的某一个模块的代 码,数据进行修改。具备了 IAP 功能的 MCU ,能够通过使用各自公司开发的技术,对于自身进行修改。 简言之:ISP=>修改 MCU 内部数据需要有外部介入; IAP=>修改 MCU 内部数据可以不用外部介入。 二者可以说是数据更新的一种实现机制。一般具备 ISP 功能后,就不要编程器了,而是使用下载线进行编程工作。但是不是说他们就一定不支持编程器了,具体型号具体分 析。是否需要仿真器进行仿真和是否具备 ISP 和 IAP 没有必然的联系。 只不过具备了 IAP 功能,可以在 MCU 内写入监控程序,模拟一个仿真器,当然,这个监控程序是要消耗资源的,和使用硬件的仿真器还有一定的差异。 IAP 的应用,在 51 上可能比较多,就是 SST 出的那个 SoftICE 功能。他的 MCU 其实不具备 ISP 功能,需要使用编程器烧一个 Boot Loader 进去,然后,利用 IAP 功能, 就可以通过串行口下载数据了。 SST 的那个,使用的是自己开发的一个 SoftICE 软件,和 Keil C 的 Mon51 接口。看 DataSheet 上说,先要用编程器烧 Boot Loader 进去,然后,用串口烧 SoftICE 进去, 然后就可以用了。 ISP:in system programming, IAP :in applicatin programming 但两者的操作方式,结果和应用场合有什么区别 ISP :用写入器将 code 烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统; IAP :在应用编程,有芯片本身(或通过外围的芯片)可以通过一系列操作将 code 写入,比如一款支持 Iap 的单片机,内分 3 个程序区,1 作引导程序区,2 作运行程序区, 3 作下载区,芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将 new code 内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到 2 区,运行 复位程序,则 Iap 完成; 应用场合: 1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了; 2,IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去, 这可能是他们的优点或应用吧 典 型 IAP : IC 卡 电 话 机 内 含 V.xx MODEM 芯 片 , MCU 自 带 引 导 区 , 可 远 程 下 载 更 新 程 序 。 =============================================================================================================== 在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP 一般是通过单片机专用的串行编程接口对单片机内部的 Flash 存储器进行编程,而 IAP 技术 是从结构上将 Flash 存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP 的实现一般需要很少 的外部电路辅助实现,而 IAP 的实现更加灵活,通常可利用单片机的串行口接到计算机的 RS232 口,通过专门设计的固件程序来编程内部存储器。 ISP 2010-08-26 19:55:34| 分类:接口和总线阅读 11 评论 0 字号:大中小订阅 1 ISP 技术 在系统编程(In-System-Programming,ISP)技术是美国 Lattice 半导体公司首先提出来的一种能在产品设计、制造过程中的每个环节具有对其器件、电路或整个 数字系统的逻辑和功能随时进行组态或重组能力的最新技术。在可编程逻辑器件(Programming Logic Device,PLD)及其技术中,ISP 是一种新的概念、新的标 准。传统的编程技术是将 PLD 器件插在编程器上编程的,ISP 技术则可不用编程器,直接在用户自己设计的目标系统中或线路板上对 PLD 器件编程。常规 PLD 在使用中通常是先编程后装备,而采用 ISP 技术的 PLD 则是先装备后编程,成为产品后还可反复编程。ISP 硬件灵活且易于软件修改,便于设计升级。 2 ISP 器件的编程软件 ispEXPERT 是由 Lattice 公司提供的一种通用电子设计软件。他支持 ABEL-HDL 语言、VHDL 语言、原理图 3 种电子设计方式,以及这些设计方式的混合 使用。他能对所设计的数字系统进行功能模拟和时序模拟,能对设计进行逻辑优化,并将逻辑映射到器件中去,自动完成预布线,生成编程所需的熔丝图文件, 通过下载电缆下载到器件中。 ispEXPERT 中的项目导航器引导设计一步步进行,最终生成器件编程所需的 JEDEC 文件,并下载到 ISP 器件中。项目导航器是一个很好的设计工具,便 于用户跟踪软件的运行流程。 用 ispEXPERT 对可编程器件进行设计,除了确定设计思想等准备工作外,大部分工作是在计算机上进行的。整个工作流程分为创建新没计项目、选择器件、 输入源文件或原理图、编译与优化、逻辑模拟、连接和器件适配等过程。这些过程是在项目导航器引导下进行的。 3 ISP 在数字电路课程设计中的举例 目前的数字电路课程设计多为用中小规模集成电路和 GAL 芯片的方法实现。在设计较大规模的数字系统时,由于电路板的限制,过多的集成块使学生花费 很多时间都无法调试成功,影响学生的积极性。为此,把 ISP 器件引入数字电路课程设计,选取了一些有代表性的课题,如多功能电子钟、密码锁、交通灯、数 字频率计等,让学生设计实践,取得了很好的效果。 下面举例用 ISP 对电子钟进行开发设计。 3.1 设计要求 该设计用 ispEXPERT 软件在 ISP1016 芯片上实现电子钟的。电子钟具有下述功能: (1)用实验台上的 6 个数码管显示时、分、秒。 (2)能使电子钟复位(清零)。 (3)能启动或停止电子钟运行。 (4)在电子钟停止运行状态下,能够修改时、分、秒的值。 (5)具有报时功能,整点时喇叭鸣叫。 3.2 功能分析 电子钟工作时的最高频率是秒针的 1 Hz,而实验设备所提供的连续脉冲的最低频率为 1 kHz,因而需要一个分频模块,这可通过设计一个模为 1 000 的计 数器设计。 电子钟的秒针是每来一个脉冲计数一次,分针是每过 60 s 计数一次,时针是每过 60 min 计数一次,秒针和分针由 0 计到 59 又回到 0,而时针由 0 计到 23 又回到 0。这样需要设计 2 个模为 60 的计数器和一个模为 24 的计数器,例化成秒针模块、分针模块和时针模块。 秒针、分针和时针的计数信号要转换成 BCD 码后输出,这可以通过在上述各模块内增加一个由二进制码转换为 BCD 码的编码转换单元实现。 要求能启动或停止电子钟运行,且能在电子钟停止运行状态下修改时、分、秒的值,可增加一个启动/停止控制端实现。如启动/停止控制端接低电平, 分频模块的时钟接 1 kHz 的连续脉冲,其他模块分别接对应输出,电子钟便启动。而当启动/停止控制端接高电平,分频模块的时钟接地,其他模块的时钟分别 接 3 个单脉冲手动输入,电子钟停止运行,手动产生一个单脉冲,与其相连的模块就计数一次,达到了修改时、分、秒的目的,即实现了电子钟更改时间的功能。 3.3 ABEL 语言描述 下面用 ABEL 语言的层次结构实现电子钟的设计可分为顶层模块 Clock,3 个底层模块 FP1000,FP60 和 FP24。下面介绍顶层模块 CLOCK,其中调用了 3 个底层模块。 4 结语 从上例可知,用 ISP 器件可进行各种数字电路实验,代替了古老的面模板实验,而且灵活方便,是一种较理想的数字电路课程设计方法,值得推广应用。
/
本文档为【avr_isp】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索