电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机原理与应用及C51编程技术 教学课件 ppt 作者 高玉芹 第6章_AT89系列单片机的内部资源及应用

118页
  • 卖家[上传人]:E****
  • 文档编号:89503332
  • 上传时间:2019-05-26
  • 文档格式:PPT
  • 文档大小:1.09MB
  • / 118 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、2019/5/26,1,单片机原理与应用电子课件,第 6 章,AT89系列单片机的内部资源及应用,2019/5/26,2,本章主要内容: 6.1 AT89系列单片机的并行口及其应用 6.2 AT89系列单片机的中断系统 6.3 AT89系列单片机定时/计数器 6 .4 AT89系列单片机的串行接口及串行通信,6.1 AT89系列单片机的并行口及其应用,1.指示灯,例6-1 用51单片机的并行口P1口驱动8个发光二极管,使8个发光 二极管从上到下轮流点亮。,输出低电平0时,LED有电流通过发光, 输出高电平1时,无电流通过不发光,汇编语言如下: MOV A,#0FEH AGAIN:MOV P1,A LCALL DELAY RL A SJMP AGAIN DELAY:MOV R7,#20 MOV R6,#250 DJNZ R6,$ DJNZ R7,DELAY,C51语言程序如下: (1)查表法 #include Void main( ) unsigned char LED8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f unsigned char i; u

      2、nsigned int j; while1 for(i=0;i8;i+) P1=LEDi; for(j=0;j30000;j+); /延时 if (i= =8) i=0xff; /为了下一次循环LED灯从上到下点亮,置i为ffH ,(2)移位法 #include #include void main( ) unsigned char i,a=0xfe; unsigned int j; while1 P1=a; a=_crol_(a,1); /调用循环左移函数_crol_,变量a循环左移1位 for(j=0;j30000;j+); /延时 ,2.蜂鸣器,当P1.0引脚输出0时,三极管导通,在蜂鸣器两端 加工作电压,蜂鸣器发出声音,当P1.0引脚输出 1时,三极管截止,蜂鸣器不发声。,例6-2 编程使蜂鸣器响铃10次,每次响铃发出250Hz的声音, 持续时间为0.5s,静音1s,单片机使用12MHz的晶振。 实现该功能的程序如下:,MOV R3,#10 AA1:CLR P1.0 MOV R1,#250 AA2:LCALL DELAY2 ;调用延时2ms子程序 CPL P1.0 DJNZ R

      3、1,AA2 ;250Hz响铃0.5s SETB P1.0 MOV R2,#2 AA3:MOV R1,#250 AA4:LCALL DELAY2 DJNZ R1,AA4 DJNZ R2,AA3 ;静音1s DJNZ R3,AA1 RET,DELAY2:MOV R7,#10 ;延时2ms程序 AA5:MOV R6,#100 DJNZ R6,$ ;双周期指令,执行一次耗时 DJNZ R7,AA5 RET,6.2 AT89系列单片机的中断系统,6.2.1 中断的基本概念,二级中断嵌套过程,中断响应过程,6.2.2 AT89系列单片机的中断系统,89S52中断系统结构,1.89X52中断源,89X52有6个中断源,分别为两个外部事情中断请求源,和4个内部中断源分别为:定时计数器T0、T1、T2计数溢出事情 中断请求和串行口发送或者接受完一个字节数据中断请求源。 89S51有5个中断源,没有T2计数溢出中断。,(1)外部中断源,外中断0和外中断1的中断标志位和它们的触发方式控制位在 特殊功能寄存器定时器控制寄存器(TCON)中的低4位.,定时器控制寄存器TCON,IT0=0,外部中断0触发方式选择

      4、为电平触发方式。 IT0=1,外部中断0触发方式选择为边沿触发方式。,IT0 外部中断0触发方式控制位。,IT0=0,外部中断0触发方式选择为电平触发方式。 IT0=1,外部中断0触发方式选择为边沿触发方式。,IE0是外中断0的中断请求标志位 。 当外部中断源(P3.2)引脚上有有效的中断请求信号,则置位IE0, 向CPU请求中断,当CPU响应该中断时由硬件清“0”IE0。,IT1 外部中断1触发方式选择位。 IT1=0,外中断1为电平触发方式, IT1=1,外中断1为边沿触发方式。,IE1 外中断1的中断请求标志位。 IE1=1,外中断1向CPU请求中断,CPU响应中断请求后, 由硬件清“0”IE1位。,(2)内部中断源,TF0 定时计数器T0计数溢出中断标志位。 T0允许计数后,从计数初值开始加1计数,当计数计满后 (计数器所有位均为“1”),再加1,则计数溢出,此时由硬件 自动置“1”TF0,向CPU请求中断,一直保持到CPU响应该中断时 才由内部硬件清“0”。,TF1 定时计数器T1计数溢出中断标志位。 T1允许计数后,从计数初值开始加1计数,当计数溢出时, 硬件自动置“1”T

      5、F1,向CPU请求中断,一直到CPU响应中断时 由硬件清“0”。,89X52内部中断源定时计数器T2。 定时计数器T2中断:定时计数T2的计数溢出标志位TF2为“1”, 或者T2的外部中断标志位EXF2为“1”,作为有效的中断请求, 向CPU请求中断。CPU响应中断时不能自动清0,必须由软件清0。 串行口中断 串行口的接受中断标志RI(SCON.0)和发送中断标志TI(SCON.1) 逻辑或以后作为内部的一个中断源。当串行口发送缓冲器发送完 一个字符数据后,由硬件自动把发送中断标志位TI置“1”, 向CPU请求中断,需要注意的是,CPU响应中断后,发送中断标志 位TI不会自动清“0”,必须由用户在中断处理程序中用软件清“0”,2.中断控制,中断允许寄存器IE,EA AT89S系列单片机的CPU中断允许控制位。,EX0 外中断0的中断允许位。,EX1 外中断1的中断允许位。,ET1 定时器T1的中断允许位。,ES 串行口中断允许位。,ET2 定时器T2的中断允许位。,1 中断允许;0,中断屏蔽。,中断优先级寄存器IP,PX0 外部中断0的中断优先级控制位。 PT0 定时计数器T0中断优先

      6、级控制位。 PX1 外部中断1的中断优先级控制位。 PT1 定时计数器T1中断优先级控制位。 PS 串行口中断优先级控制位。 PT2 定时计数器T2中断优先级控制位。,中断源 中断优先级 外中断0 最高,定时器T0中断 外中断1 定时器T1中断 串行口中断 定时器T2中断 最低,在同一级别的中断源请求源中,中断优先顺序为:,中断源 入口地址 外部中断0 0003H 定时器T0 000BH 外部中断1 0013H 定时器T1 001BH 串行口中断 0023H 定时器T2 002BH,6.2.3 外部事件中断及应用,1.外部事件中断源的初始化,1)设置外部事件中断请求信号的触发方式。 如果外部中断触发方式采用电平触发方式,IT0或者IT1位清0, 如果用边沿触发方式,IT0或者IT1位置“1” 。 2)开放CPU中断允许位:SETB EA。 3)设置外部事件中断允许控制位:SETB EX0 或者SETB EX1。 4)设置中断源中断优先级。,2.外部中断应用举例,例6-3 如图6-9所示,P1.0P1.7为输出线,外接指示灯L0L7, 采用外部中断0电平触发方式改变指示灯L0L7的显示状

      7、态。 正常显示时,灯L0L7自上而下逐一点亮,当有外部中断请求时, 灯L0L7全部点亮并闪烁显示10次。闪烁完成后,继续从暂停的 位置接着逐个点亮灯的操作。,主程序: ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0030H MAIN:MOV SP,#70H ;设置堆栈区 CLR IT0 ;电平触发方式 SETB EA ;开放CPU中断允许 SETB EX0 ;设置外中断0中断允许 CLR PX0 MOV A,#0FEH DISPLAY:MOV P1,A ACALL DELAY ;延时 RL A AJMP DISPLAY,DELAY:MOV R7,#200 ;延时子程序 DEL0: MOV R6,#100 DJNZ R6,$ DJNZ R7,DEL0 RET 中断服务程序: ORG 3000H INT0:PUSH ACC ;保护现场 PUSH PSW CLR P3.0 ; MOV R5,#10 REPEAT:MOV A,#00H ;全部点亮 MOV P1,A ACALL DELAY MOV A,#0FFH ;全部熄灭 MOV P1,A ACAL

      8、L DELAY DJNZ R5,REPEAT ;闪烁10次 POP PSW POP ACC RETI END,C51程序: #include #include void delay ( ); sbit P3_0=P30; unsigned char a; main ( ) a=0xfe; IT0=0; /外中断0电平触发方式 EA=1; EX0=1; PX0=0; while (1) P1=a; a=_crol_(a,1); /左移,产生下一个显示控制码 delay ( ); ; ,void delay( ) unsigned int b; b=20000; while (b0) b-; extern0 ( ) interrupt 0 using 1 /中断函数 unsigned char i; P3_0=0; for (i=10;i0;i-) /闪烁10次 P1=0x00; delay( ); P1=0xff; delay( ); ,例6-4 外部中断源的扩展。,如图6-10中,共有6个外部中断源,分别为0号、1号、2号、 3号、4号、5号中断源,中断请求采用电平触发方式,0号中断源

      9、 的中断优先级别最高,单片机优先响应,单片机接受到0号中断源中断请求时,8个LED灯闪烁显示10次,1号、2号、3号、4号、5号中断源为低级中断源,当有其中一个发出中断请求信号时, 则触发外部中断的中断服务程序中,通过查询P1.0P1.4的状态,判定是哪一个中断请求,然后执行响应的中断服务程序, 查询的顺序,决定这几个中断源中断优先级,先查询的优先级别高,后查询的优先级别低,本例中低优先级中断源的中断优先循序为5号、4号、3号、2号、1号。,中断请求,然后在,主程序: ORG 0000H LJMP MAIN ORG 0003H ;外中断0中断入口地址 LJMP PINT0 ORG 0013H ;外中断1中断入口地址 LJMP PINT1 ORG 0030H MAIN:CLR IT0 ;设置外中断0为电平触发方式 CLR IT1 ;设置外中断1为电平触发方式 MOV IE,#85H ;设置CPU中断允许,外中断0、外中断1中断允许 MOV IP,#01H ;设置外中断0为高级,外中断1为低级 LOOP: LJMP LOOP,的中断服务程序: PINT0:PUSH ACC PUSH PSW SETB RS1 ;把工作寄存器区切换到2区,中断处理程序中使用2区R0R7 MOV R1,#10 ;闪烁显示10次 FLASH: CLR A MOV P1,A ;P1口灯全亮 ACALL DELAY CPL A MOV P1,A ;P1口灯全熄灭 ACALL DELAY DJNZ R1,FLASH POP PSW POP ACC RETI,的中断服务程序: PINT1:CLR EA ;关中断 PUSH ACC PUSH PSW ;保护现场 SETB EA ;开中断 JNB P1.4 PINT1_5 JNB P1.3 PINT1_4 J

      《单片机原理与应用及C51编程技术 教学课件 ppt 作者 高玉芹 第6章_AT89系列单片机的内部资源及应用》由会员E****分享,可在线阅读,更多相关《单片机原理与应用及C51编程技术 教学课件 ppt 作者 高玉芹 第6章_AT89系列单片机的内部资源及应用》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.