介绍用PIC16F84单片机制作的电子密码锁。PIC16F84单片机共18个引脚,13个可用I/O接口。芯片内有1K×14的FLASHROM程序存储器,36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器,8级深度的硬堆栈。 用PIC单片机设计的电子密码锁微芯公司生产的PIC8位COMS单片机,采用类RISC指令集和哈弗总线结构,以及先进的流水线时序,与传统51单片机相比其在速度和性能方面更具优越性和先进性。PIC单片机的另一个优点是片上硬件资源丰富,集成常见的EPROM、DAC、PWM以及看门狗电路。这使得硬件电路的设计更加简单,节约设计成本,提高整机性能。因此PIC单片机已成为产品开发,尤其是产品设计和研制阶段的首选控制器。本文介绍用PIC16F84单片机制作的电子密码锁。PIC16F84单片机共18个引脚,13个可用I/O接口。芯片内有1K×14的FLASHROM程序存储器,36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器,8级深度的硬堆栈。硬件设计 电路原理见图1。Xx8位数据线接4x4键盘矩阵电路,面板布局见表1,A、B、C、D为备用功能键。RA0、RA7输出4组编码二进制数据,经74LS139译码后输出逐行扫描信号,送RB4-RB7列信号输入端。余下半个139译码器动扬声器。RB2接中功率三极管基极,驱动继电器动作。有效密码长度为4位,根据实际情况,可通过修改源程序增加密码位数。产品初始密码为3345,这是一随机数,无特殊意义,目的是为防止被套解。用户可按*号键修改密码,按#号键结束。输入密码并按#号确认之后,脚输出RB2脚输出高电平,继电器闭合,执行一次开锁动作。 若用户输入的密码正确,扬声器发出一声稍长的“滴”提示声,若输入的密码与上次修改的不符,则发出短促的“滴”声。连续3次输入密码错误之后,程序锁死,扬声器报警。直到CPU被复位或从新上电。软件设计 软件流程图见图3。CPU上电或复位之后将最近一次修改并保存到EEPROM的密码读出,最为参照密匙。然后等待用户输入开锁密码。若5分钟以内没有接受到用户的任何输入,CPU自动转入掉电模式,用户输入任意值可唤醒CPU。每次修改密码之后,CPU将新的密码存入内部4个连续的EEPROM单元,掉电后该数据任有效。每执行一次开锁指令,CPU将当前输入密码与该值比较,看是否真确,并给出相应的提示和控制。布 局 所有元件均使用SMD表贴封装,缩小体积,便于产品安装,60X60双面PCB板,顶层是一体化输入键盘,底层是元件层。成型后的产品体积小巧,能很方便的嵌入防盗铁门、保险箱柜。
上传时间: 2013-10-31
上传用户:uuuuuuu
一、实验目的1.掌握定时/计数器、输入/输出接口电路设计方法。 2.掌握中断控制编程技术的方法和应用。3.掌握8086汇编语言程序设计方法。 二、实验内容与要求 微机灯光控制系统主要用于娱乐场所的彩灯控制。系统的彩灯共有12组,在实验时用12个发光二极管模拟。1. 基本要求:灯光控制共有8种模式,如12个灯依次点亮;12个灯同时闪烁等八种。系统可以通过键盘和显示屏的人机对话,将8种模式进行任意个数、任意次序的连接组合。系统不断重复执行输入的模式组合,直至键盘有任意一个键按下,退出灯光控制系统,返回DOS系统。2. 提高要求:音乐彩灯控制系统,根据音乐的变化控制彩灯的变化,主要有以下几种:第一种为音乐节奏控制彩灯,按音乐的节拍变换彩灯花样。第二种音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大,且被点亮的数目增多。第三种按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点亮;高音时,另一部分点亮。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理我们以背景霓虹灯的一种显示效果为例,介绍控制霓虹灯显示的基本原理。设有一排 n 段水平排列的霓虹灯,某种显示方式为从左到右每0.2 秒逐个点亮。其控制过程如下: 若以“ 1 ”代表霓虹灯点亮,以“ 0 ”代表霓虹灯熄灭,则开始时刻, n 段霓虹灯的控制信号均为“ 0 ”,随后,控制器将一帧 n 个数据送至 n 段霓虹灯的控制端,其中,最左边的一段霓虹灯对应的控制数据为“ 1 ”,其余的数据均为零,即 1000 … 000 。当 n 个数据送完以后,控制器停止送数,保留这种状态(定时) 0.2 秒,此时,第 1 段霓虹灯被点亮,其余霓虹灯熄灭。随后,控制器又在极短的时间内将数据 1100 … 000 送至霓虹灯的控制端,并定时 0.2 秒,这段时间,前两段霓虹灯被点亮。由于送数据的过程很快,我们观测到的效果是第一段霓虹灯被点亮 0.2 秒后,第 2 段霓虹灯接着被点亮,即每隔 0.2 秒显示一帧图样。如此下去,最后控制器将数据 1111 … 111 送至 n 段霓虹灯的控制端,则 n 段霓虹灯被全部点亮。 只要改变送至每段霓虹灯的数据,即可改变霓虹灯的显示方式,显然,我们可以通过合理地组合数据(编程)来得到霓虹灯的不同显示方式。 五、总体方案论证分析系统设计思路如下:1) 采集8位开关输入信号,若输入数据为0时,将其修改为1。确定输入的硬件接口电路。采样输入开关量,并存入NUM的软件程序段。2) 以12个灯依次点亮为例(即灯光控制模式M1),考虑与其相应的灯光显示代码数据。确定显示代码数据输出的接口电路。输出一个同期显示代码的软件程序段(暂不考虑时隙的延时要求)。3) 应用定时中断服务和NUM数据,实现t=N×50ms的方法。4) 实现某一种模式灯光显示控制中12个时隙一个周期,共重复四次的控制方法。要求在初始化时采样开关输入数据NUM,并以此控制每一时隙的延时时间;在每一时隙结束时,检查有无键按下,若是退出键按下,则结束灯光控制,返回DOS系统,若是其他键就返回主菜单,重新输入控制模式数据。5) 通过人机对话,输入8种灯光显示控制模式的任意个数、任意次序连接组合的控制模式数据串(以ENTER键结尾)。对输入的数据进行检查,若数据都在1 - 8之间,则存入INBUF;若有错误,则通过屏幕显示输入错误,准备重新输入灯光显示控制模式数据。6) 依次读取INBUF中的控制模式数据进行不同模式的灯光显示控制,在没有任意键按下的情况下,系统从第一个控制模式数据开始,顺序工作到最后一个控制模式数据后,又返回到第一个控制模式数据,不断重复循环进行灯光显示控制。7) 本系统的软件在总体上有两部份,即主程序(MAIN)和实时中断服务程序(INTT)。讨论以功能明确、相互界面分割清晰的软件程序模块化设计方法。即确定有关功能模块,并画出以功能模块表示的主程序(MAIN)流程框图和定时中断服务程序的流程框图。 六、硬件电路设计 以微机实验平台和PC机资源为硬件设计的基础,不需要外加电路。主要利用了以下的资源:1.8255并行口电路8255并行口电路主要负责数据的输入与输出,可以输出数据控制发光二极管的亮灭和读取乒乓开关的数据。实验时可以将8255的A口、B口和一组发光二极管相连,C口和乒乓开关相连。2.8253定时/计数器8253定时/计数器和8259中断控制器一起实现时隙定时。本设计的定时就是采用的t=N×50ms的方法,50ms由8253定时/计数器的计数器0控制定时,N是在中断服务程序中软件计时。8253的OUT0接到IRQ2,产生中断请求信号。8253定时/计数器定时结束会发出中断信号,进入中断服务程序。3.PC机资源本设计除了利用PC机作为控制器之外,还利用了PC机的键盘和显示器。键盘主要是输入控制模式数据,显示器就是显示提示信息。 七、软件设计 软件主要分为主程序(MAIN)和中断服务程序(INTT),主程序包含系统初始化、读取乒乓开关、读取控制模式数据以及按键处理等模块。中断服务程序主要是定时时间到后根据控制模式数据点亮相应的发光二极管。1.主程序主程序的程序流程图如图1所示。
上传时间: 2014-04-05
上传用户:q986086481
P C B 可测性设计布线规则之建议― ― 从源头改善可测率PCB 设计除需考虑功能性与安全性等要求外,亦需考虑可生产与可测试。这里提供可测性设计建议供设计布线工程师参考。1. 每一个铜箔电路支点,至少需要一个可测试点。如无对应的测试点,将可导致与之相关的开短路不可检出,并且与之相连的零件会因无测试点而不可测。2. 双面治具会增加制作成本,且上针板的测试针定位准确度差。所以Layout 时应通过Via Hole 尽可能将测试点放置于同一面。这样就只要做单面治具即可。3. 测试选点优先级:A.测垫(Test Pad) B.通孔(Through Hole) C.零件脚(Component Lead) D.贯穿孔(Via Hole)(未Mask)。而对于零件脚,应以AI 零件脚及其它较细较短脚为优先,较粗或较长的引脚接触性误判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板弯变形,影响测点精准度,制作治具需特殊处理。5. 避免将测点置于SMT 之PAD 上,因SMT 零件会偏移,故不可靠,且易伤及零件。6. 避免使用过长零件脚(>170mil(4.3mm))或过大的孔(直径>1.5mm)为测点。7. 对于电池(Battery)最好预留Jumper,在ICT 测试时能有效隔离电池的影响。8. 定位孔要求:(a) 定位孔(Tooling Hole)直径最好为125mil(3.175mm)及其以上。(b) 每一片PCB 须有2 个定位孔和一个防呆孔(也可说成定位孔,用以预防将PCB反放而导致机器压破板),且孔内不能沾锡。(c) 选择以对角线,距离最远之2 孔为定位孔。(d) 各定位孔(含防呆孔)不应设计成中心对称,即PCB 旋转180 度角后仍能放入PCB,这样,作业员易于反放而致机器压破板)9. 测试点要求:(e) 两测点或测点与预钻孔之中心距不得小于50mil(1.27mm),否则有一测点无法植针。以大于100mil(2.54mm)为佳,其次是75mil(1.905mm)。(f) 测点应离其附近零件(位于同一面者)至少100mil,如为高于3mm 零件,则应至少间距120mil,方便治具制作。(g) 测点应平均分布于PCB 表面,避免局部密度过高,影响治具测试时测试针压力平衡。(h) 测点直径最好能不小于35mil(0.9mm),如在上针板,则最好不小于40mil(1.00mm),圆形、正方形均可。小于0.030”(30mil)之测点需额外加工,以导正目标。(i) 测点的Pad 及Via 不应有防焊漆(Solder Mask)。(j) 测点应离板边或折边至少100mil。(k) 锡点被实践证实是最好的测试探针接触点。因为锡的氧化物较轻且容易刺穿。以锡点作测试点,因接触不良导致误判的机会极少且可延长探针使用寿命。锡点尤其以PCB 光板制作时的喷锡点最佳。PCB 裸铜测点,高温后已氧化,且其硬度高,所以探针接触电阻变化而致测试误判率很高。如果裸铜测点在SMT 时加上锡膏再经回流焊固化为锡点,虽可大幅改善,但因助焊剂或吃锡不完全的缘故,仍会出现较多的接触误判。
上传时间: 2014-01-14
上传用户:cylnpy
微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。 在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址. 对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止. 8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536. MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式 OUT 43H,AL ; j将控制字送入控制寄存器 MOV AL,0 ;计数初值为0 OUT 42H,AL ;将计数初值的低字节送入计数器2 OUT 42H,AL ;将计数初值的高字节送入计数器2 在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节 ;方式3,二进制计数OUT 43H, AL ;写入控制字MOV DX, 0012H ;被除数高位MOV AX, 35DEH ;被除数低位 DIV ID ;求计数初值n,结果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;读入8255A端口B的内容MOV AH, AL ;保护B口的原状态OR AL, 03H ;使B口后两位置1,其余位保留OUT 61H,AL ;接通扬声器,使它发声
上传时间: 2013-10-17
上传用户:sunjet
1、程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式TITLE This is ⋯⋯ ;程序标题;--------------------------------------;名称定义和变量定义;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片复位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序ORG 0 ;在0000H开始存放程序;-----------------------------------------;子程序区;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序区;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由伪指令定义为6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序结束注:MAIN标号一定要处在0页面内。2、程序设计基础
上传时间: 2013-11-14
上传用户:cjf0304
基于USB接口的数据采集模块的设计与实现Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大学电子信息与自动化学院,天津300222)摘要文中给出基于USB接口的数据采集模块的设计与实现。硬件设计采用以Adpc831与PDIUSBDI2为主的器件进行硬件设计,采用Windriver开发USB驱动,并用Visual C十十6.0对主机软件中硬件接口操作部分进行动态链接库封装。关键词USB 数据采集Adpc831 PDNSBDI2 Windriver动态链接库Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed场Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries场Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B总 线 是新一代接口总线,最初推出的目的是为了统一取代PC机的各类外设接口,迄今经历了1.0,1.1与2.0版本3个标准。在国内基于USB总线的相关设计与开发也得到了快速的发展,很多设计者从各自的应用领域,用不同方案设计出了相应的装置[1,2]。数据采集是工业控制中一个普遍而重要的环节,因此开发基于USB接口的数据采集模块具有很强的现实应用意义。虽然 US B总线标准已经发展到2.0版本,但由于工业控制现场干扰信号的情况比较复杂,高速数据传输的可靠性不容易被保证,并且很多场合对数据采集的实时性要求并不高,开发2.0标准产品的成本又较1.1标准产品高,所以笔者认为,在工业控制领域,目前开发基于USB总线1.1标准实现的数据采集模块的实用意义大于相应2.0标准模块。
上传时间: 2013-10-23
上传用户:q3290766
摘 要:用一种新的思路和方法,先计算低通、再计算高通滤波器的有关参数,然后组合成带通滤波器.关键词:滤波器;参数;新思路中图分类号: TN713. 5 文献识别码:B 文章编号:1008 - 1666 (1999) 04 - 0089 - 03A New Consideration of the Band Filter’s CalculationGuo Wencheng( S hao Yang B usiness and Technology school , S haoyang , Hunan ,422000 )Abstract :This essay deals with a new method of calculating the band filters - first calculatingthe relevant parameters of low - pass filters ,then calculating the ones of high - pass filters.Key words :filter ; parameters ;new considercation八十年代后,信息产业得到了迅猛发展. 带通滤波器在微波通信、广播电视和精密仪器设备中得到了广泛应用. 带通滤波器性能的优劣,对提高接收机信噪比,防止邻近信道干扰,提高设备的技术指标,有着十分重要的意义.我在长期的教学实践中,用切比雪夫型方法设计、计算出宽带滤波器集中参数元件的数据. 该滤波器可运用在检测微波频率的仪器和其他设备中. 再将其思路和计算方法介绍给大家,供参考.
上传时间: 2014-12-28
上传用户:Yukiseop
1.3.5 嵌入微处理器的FPGA设计流程。
上传时间: 2013-11-08
上传用户:ljj722
1.3 FPGA的设计流程。
上传时间: 2013-10-09
上传用户:lwwhust
电子发烧友网核心提示:Altera公司昨日宣布,在业界率先在28 nm FPGA器件上成功测试了复数高性能浮点数字信号处理(DSP)设计。独立技术分析公司Berkeley设计技术有限公司(BDTI)验证了能够在 Altera Stratix V和Arria V 28 nm FPGA开发套件上简单方便的高效实现Altera浮点DSP设计流程,同时验证了要求较高的浮点DSP应用的性能。本文是BDTI完整的FPGA浮点DSP分析报告。 Altera的浮点DSP设计流程经过规划,能够快速适应可参数赋值接口的设计更改,其工作环境包括来自MathWorks的MATLAB和 Simulink,以及Altera的DSP Builder高级模块库,支持FPGA设计人员比传统HDL设计更迅速的实现并验证复数浮点算法。这一设计流程非常适合设计人员在应用中采用高性能 DSP,这些应用包括,雷达、无线基站、工业自动化、仪表和医疗图像等。
上传时间: 2014-12-28
上传用户:18888888888