基于stc89c52的超声波测距系统设计内容摘要:
MOV 45HTH0 mov th000h mov tl000h jnb p32 SETB 00H 接收成功标志 pint0_exit RETI 421 中断的概述 程序执行过程中容许外部或内部事件通过硬件打断程序的执行使其转向为处理外部或内部事件的中断服务程序中去完成中断服务程序后 CPU 继续原来被打断的程序这样的过程称为中断过程 422 中断响应的一般过程 1 在每 条指令结束后 系统都自动检测中断请求信号 如果有中断请求且 CPU 处于开中断状态下 则响应中断 2 保护现场 在保护现场前 一般要关中断 以防止现场被破坏保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈 STC89C52 中有五个中断源 MCS 52 单片机有 5 个 8052 有 6 个中断源 为了使每个中断源都能独立地被允许或禁止 以便用户能灵活使用 CPU 内部在每个中断信号的通道中设置了一个中断允许触发器 它控制 CPU 能否响应中断只有对应的中断允许触发器被使能置 1 相应的中断才能得到 相应 424 MCS51 中断系统 MCS51 中断系统结构框图 425 中断系统的应用 例 1 单步操作的中断实现 把一个外部中断设为 INT0]设置为电平激活方式其中断服务程序的末尾写上如下几条指令 JNB P32 在 INT0 变高前原地等待 死循环 JB P32 在 INT0 变低前原地等待 死循环 RETI 返回并执行一条指令 现在若 INT0 保持低电平 且允许 INT0 中断 则 CPU 就进入外部中断 0 服务程序 由于有上述几条指令 它就会停在 JNB 处 原地等待当 INT0 端出现一个正脉冲由低到高 再到低时 程序就会往下执行 执行 RETI 后 将返回主程序 往下执行一条指令 然后又立即响应中断以等待 INT0 端出现的下一个正脉冲 这样在 INT0 端每出现一个正脉冲 主程序就执行一条指令 实现了单步执行的目的 要注意的是 这个正脉冲的高电平持续时间不小于 2 个周期 以确保 CPU 能采集到高电平值 43 程序流程图 N 图 41 主程序流程图 图 42 按键中断处理流程图 第五章 系统调试 51 硬件电路设计 MCS51系列单片机的并行 IO口接口电路是微机必不可少的组成部分并行输入确出接口是 CPU 和外部进行信息交换的主要通道 MSC- 51 系列单片有 4 个 8位并行双向 IO口 P0~ P3共 32根 IO线每一根线能独立用作输入或输出单片机可以外接键盘显示器等外围设备.还可以进行系统扩展以解决硬件资源不足问题 4个并行口都是双向口既可以输入又可以输 出 P0P2 口经常作外部扩展存储器时的数据地址线 P3 口除作 IO 口外每一根都有第二功能这 4 个 IO 口结构基本相同但仍存在差别 P1 口通道 1 双向 IO 口本次设计连接按键用语按键信号的输入 52 硬件调试 521 基本电路板检查 根据前面的研究完成各个电路模块的原理设计并生成 PCB 图制作电路板进行实验调试 1 检查印制板的印制线是否有断路是否有毛刺是否与其它线或是焊盘粘连焊盘是否有脱落过孔是否有未金属化现象等等 2 先用万用表复核目测中认为可疑的连接或是接点检查它们的通短状态是否与设计规定相符再检查各种电源线与地线之间是否有短 路现象如有再仔细检查出并排除短路现象一定要在器件安装及加电前检查出 3 路接通电源后用手摸一下芯片是否发热如果发热立即关掉电源稍后再进行再次检测如果没有发热再测试芯片的 VCC 端电压是否达到设计要求接地端是否都接地 522 主控模块调试 在本次设计中主控模块是非常重要的部分它不仅是本次设计的核心在本次硬件调试中也遇到了问题接上电源的时候数码管不亮没有任何显示于是我做了如下的工作 1 检查电源是否通电发现指示灯亮着 2 编程使 P1 为低电平检查到 P1 输出为低 3 检查 P0 口未接上拉电阻接上数码管发亮了 53 软件 调试 当硬件制作完成后软件制作也是不可轻视的部分是实现电路的功能的关键部分通过本次毕业设计总结经验如下 1 先进行人工检查写好程序后不要立刻烧入单片机先对纸面上的程序进行人工检查由于采用 C 语言编程所以要特别小心地检查语法错误如括号不配对漏写分号等通过仔细的检查发现并排除这些错误 2 人工检查无误后上机调试在编译时给出的语法错误的信息根据提示的信息具体找出程序中错误之处并改之从上至下逐一改正应当注意的是有的提示出错行并不是真正出错的行如果在提示出错的行上找不到错误的话则应该到上行再找 3 当确认程序无语法错误和逻 辑错误时通过直接下载到单片机来调试采用的是自下到上的调试方法即单独调好每一个模块然后再连接成一个完整的系统调试 4PNP 管脚不懂怎么放置不懂分得二极管的正负极对单片机汇编语 言掌握得不好通过这次课程设计之后一定把以前所学过的知识重新温故 参考文献 [1] 《单片机系统设计及工程应用》 雷思孝等 西安电子科技大学出版社 [2] 《电路基础》 吴大正 西安电子科技大学出版社 [3] 《 c 程序与设计语言》 揣锦华等 西安电子科技大学出版社 [4] 《电子线路 CAD 实用教程》 潘永雄等 西安电子科技大学出版社 [5] 《 MCS5196 系列单片机原理及应用》 孙涵芳 北 京航空航天大学出版社 附录 A 超声波原理图 附录 B 源程序 USE BY 超声波测距器 IC STC89C52 测距范围 7CM11M 堆栈在 4FH 以上 20H 用于标志 显示缓冲单元在 40H43H 使用内存 44H45H46H 用于计算距离 VOUT EQU P10 红外脉冲输出端口 speak equ p11 中断入口程序 ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH reti ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI 主 程 序 START MOV SP4FH MOV R040H 40H43H 为显示数据存放单元40H 为最高位 MOV R70BH CLEARDISP MOV R000H INC R0 DJNZ R7CLEARDISP MOV 20H00H MOV TMOD11H T1 为 T0 为 16 位定时器 MOV TH000H 65 毫。基于stc89c52的超声波测距系统设计
相关推荐
D为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。 温度传感器DS18B20电路图 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表:
电图仪的硬件 设计 便携式心电图仪要求具有可移动性和再开发性,不仅便于携带、功能尽可能的完善 基于 STM32 的便携式心电图仪设计 5 能够实时对心电信号进行处理,而且要求随着发展可以进一步升级满足人们更多的需求。 本心电图仪集信号的采集、处理、传输三大功能于一体。 对于这些功能,即需要相对独立的模块化设计,又需要良好的协调。 因此,在开发过程中,硬件设备的选择需要考虑这些特定的需求,有针
钟 (RTC)和备份寄存器提供电源。 如图表 4 所示 12 图表 4 电源框图 低功耗 在系统或电源复位以后,微控制器处于运行状态。 运行状态下的 HCLK 为 CPU 提供时钟,内核执行程序代码。 当 CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。 用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
1 0P 1 1P 1 2P 1 3P 1 4P 1 5V C C9VX T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D
2 627P 2 021P 2 526P 2 122P 2 425P 2 223P 2 324G N D208 0 5 2R12 0 0R21 0 K复位按键C11 0 u FC23 0 u FC33 0 u FC41 0 u FC50 .1 u FXTG N DG N DV C C+ 5 VV C C+ 5 VG N D 图 STC89C52 最小系统 LCD1602 液晶显示器介绍 LCD
序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用 于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH