- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时器溢出方式的应用 M16的定时器0 8位定时器 具有PWM功能 定时器0相关寄存器 T/C 控制寄存器- TCCR0 设置时钟源频率 T/C 寄存器- TCNT0 计数寄存器 T/C 中断屏蔽寄存器- TIMSK 需要使用溢出中断时 T/C 中断标志寄存器- TIFR 查询是否溢出 定时器0溢出方式查询模式使用步骤 第1步:设置TC寄存器初值 TCNT0 = 55; 第2步:开启时钟,同时TC0启动 TCCR0 |= (1 CS01); 第3步:查询TIFR寄存器的TOV0位 while(!(TIFR TOV0)); 定时器0溢出方式中断模式使用步骤 第1步:设置中断 第2步:设置TC寄存器初值 TCNT0 = 55; 第3步:使能TC0溢出中断 TIMSK |= (1 TOIE0); 第4步:编写TC0溢出中断服务程序 SIGNAL(SIG_SIG_OVERFLOW0) {//此处添加中断服务程序代码} 第5步:开启时钟,同时TC0启动 TCCR0 |= (1 CS01); 第6步:使能全局中断 sei(); 定时器的概念 8位定时/计数器的模型 1个8位长度计数寄存器,可以对其进行读写 1个时钟输入端口,计数寄存器对时钟输入端口的时钟脉冲个数进行加1计数,即每来一个时钟脉冲,寄存器的数值自加1 如何实现精确定时? 给计数寄存器设定初值n0 给时钟输入端口输入一个频率精确的方波方波周期为t0 计数器计数到256时定时器溢出,时间间隔为: △T = (256 – n0) ×t0 定时器溢出时可以产生中断 定时器溢出方式的应用 M16的定时器0 8位定时器 具有PWM功能 定时器0相关寄存器 T/C 控制寄存器- TCCR0 设置时钟源频率 T/C 寄存器- TCNT0 计数寄存器 T/C 中断屏蔽寄存器- TIMSK 需要使用溢出中断时 T/C 中断标志寄存器- TIFR 查询是否溢出 定时器0溢出方式查询模式使用步骤 第1步:设置TC寄存器初值 TCNT0 = 55; 第2步:开启时钟,同时TC0启动 TCCR0 |= (1 CS01); 第3步:查询TIFR寄存器的TOV0位 while(!(TIFR TOV0)); 定时器0溢出方式中断模式 第1步:设置中断函数 第2步:设置TC寄存器初值 TCNT0 = 55; 第3步:使能TC0溢出中断 TIMSK |= (1 TOIE0); 第4步:编写TC0溢出中断服务程序 SIGNAL(SIG_SIG_OVERFLOW0) {//此处添加中断服务程序代码} 第5步:开启时钟,同时TC0启动 TCCR0 |= (1 CS01); 第6步:使能全局中断 中断函数 #pragma vector = TIMER0_OVF_vect __interrupt void TOver0_isr( void ) AVR编程辅助工具 辅助工具演示 dseg = 0xff; PORTA=0xdf; dseg = dtab[2]; __delay_cycles(10000); dseg = 0xff; PORTA=0xef; dseg = dtab[3]; __delay_cycles(10000); } //return 0; } 输入状态IO寄存器设置 输入状态IO寄存器设置 DDRx某一位置0,相应位的IO口被设置为输入 PORTx某一位置1,使能对应IO口相应位的上拉电阻 PINx的对应位是输入的数据,0或1 按键的查询方式程序设计 PIND (1 6) 1 6 : 1左移6位,即:0PIND (1 6) 将除第6位之外其他位清零 第6位保持输入的值 与选择结构语句的结合 判断PIND (1 6)的值,执行相应代码 蜂鸣器 有源蜂鸣器 加上电源电压即可发出鸣叫声,消耗电流20mA左右 AVR的蜂鸣器驱动电路 IO口直接驱动 传统的蜂鸣器驱动电路 三极管驱动 IAR编程环境使用 安装IAR for AVR 参见提供的资料 在机房的机器上已经安装好该软件 打开IAR 选择新建项目 选择C下main 输入保存的工作区名字、项目名字 进入IAR编程主界面 修改配置选项 选择器件 设置linker选项 设置输出文件格式为hex 需要手动修改*.d90为*.hex 选择intelstandard 设置debugger选项 按“确定”关闭设置选项 输入程序 Mak 输入程序 编译结果 软件模拟仿真 使用USB bootloader下载编译后代码 准备工作 焊接好的课程设计板子 一条USB线 用USB线连接PC 准备好需要下载的hex文件
您可能关注的文档
- 单片机(清华版).ppt
- 单片机__完整版教学.ppt
- 单片机编程实例 led等.ppt
- 单片机程序设计827099276.ppt
- 单片机创新设计.doc
- 单片机概述.doc
- 单片机课程设计3039985240.ppt
- 单片机课程设计报告8168707155.ppt
- 单片机入门视频教程.pdf
- 单片机设计3799159681.doc
- 湖北省天门市华斯达学校2023-2024学年七年级12月月考道德与法治试题(原卷版)-A4.docx
- 辽宁省工程技术大学附属中学2023-2024学年七年级12月月考道德与法治试题(解析版)-A4.docx
- 2024-2025学年上学期九年级期末模拟试卷-考点大串讲(北师大版)(解析版)-A4.docx
- 福建省长乐第一中学 2023-2024学年八年级上学期10月月考道德与法治试题(原卷版)-A4.docx
- 江苏省昆山市2024-2025学年九年级12月月考历史试题(解析版)-A4.docx
- 湖南省永州市零陵区2023-2024学年七年级10月月考道德与法治试题(解析版)-A4.docx
- 图书馆个人述职报告范文【三篇】.docx
- 和田地区市场监督管理局_企业报告(代理机构版).docx
- 聚乙烯实习报告.docx
- 2024-2025年民用大飞机行业市场分析报告.docx
文档评论(0)