- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用(C51版)第5章MCS-51单片机
TCON寄存器: IE1(TCON.3):外部中断请求标志位。 IT1(TCON.2):外部中断触发方式控制位。由软件来置1或清0 IT1=0时,外部中断1为电平触发方式, IT1=1时,外部中断1为边沿触发方式(下降沿有效) IT0(TCON.0):外部中断0()触发方式控制位,由软件置位或复位。IT0=1,外部中断0为边沿触发方式(下降沿有效);IT0=0,外部中断0为电平触发方式。 TF0(TCON.5):定时器/计数器0(T0)的溢出中断请求标志。当T0计数产生溢出时,由硬件将TF0置1 TF1(TCON.7):定时器/计数器1(T1)的溢出中断请求标志 IE0(TCON.1):外部中断请求标志位。当引脚(P3.2)上出现中断请求信号时,由硬件置位IE0,向CPU申请中断。 3. 中断优先级控制 MCS-51系列单片机的中断优先级是由中断优先级寄存器IP控制的。 MSC-51单片机中的中断系统,应遵循以下基本准则: (1) 低优先级中断可被高优先级中断请求所中断,高优先级中断不能被低优先级中断请求所中断。 (2) 同级的中断请求不能打断已经执行的同级中断。 (3) 中断源自然优先级顺序 中断源自然优先级由高到低: 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口 5.1.3 MCS-51中断响应过程 MCS-51系列单片机的中断响应过程可分为中断响应、中断处理和中断返回三个阶段。 1. 中断响应 CPU响应中断的条件主要有以下几点: (1)有中断源发出中断请求; (2)中断总允许为EA=1,即CPU开中断; (3)请求中断的中断源的中断允许位为1 #includereg51.h sbit P1_0=P1^0; sbit P1_7=P1^7; void main() { IE=0x81; /* cpu开中断和外部中断0允许*/ TCON=0x01; /* INT0设置为负边沿触发*/ while (1); } void ex_int0(void)interrupt 0 { if (P1_0==1) P1_7=1; else P1_7=0; } C51程序如下: #include reg51.h #define uchar unsigned char sbit led = P1^0; void Init (void) { TMOD = 0x01; //设置T0为方式1 TH0 =0-50000 / 256; //对于16位计数器0-50000=15536, 免于计算直接装入初值 TL0 =0-50000 % 256; //装入初值(15536 mod256) TR0 = 1; led = 1; } void main(void) { uchar i = 0; Init ( ); while(1) { TH0 =0-50000 / 256; //重新装入初值 TL0 =0-50000 % 256; while(!TF0) ; //等待T0溢出 TF0 = 0; //清除溢出标志位 i ++; //软件计数加1 if(i == 10) { led = ~led; // P1.0取反输出 i = 0; //软件计数器清0 } } } 4. 奇偶校验 当串行通信用于远距离传送时,容易受到噪声干扰。为保证通信质量,需要对传送的数据进行校验。对于异步通信,常用的校验方法是奇偶校验法。 发送数据时,执行一条将数据写入SBUF 的传送指令(例如 MOV SBUF,A),即可将要发送的数据按事先设置的方式和波特率从引脚TXD串行输出。一个数据发送完毕后,串行口产生中断标志位,向CPU申请中断,请求发送下一个数据。 接收数据时,当检测到RXD引脚上出现一帧数据的起始位后,便一位一位地将接下来的数据接收保存到SBUF中,然后产生中断标志位,向CPU申请中断,请求CPU接收这一数据,CPU响应中断后,执行一条读SBUF指令 (例如 MOV A,SBUF)就可将接收到的数据送入某个寄存器或存储单元。为避免前后两帧数据重叠,接收器是双缓冲
您可能关注的文档
- 存储系统基础讲座.ppt
- 武科大Matlab仿真第三章数组及其运算.ppt
- 计算机4-6.ppt
- 第五章存储器及接口.ppt
- 中风病理论渊源及诊治-.ppt
- 第六章存储器接口.ppt
- iPod touch 4完全拆解.doc
- 水泵采购技术要求.doc
- 操作系统精简.ppt
- 第05章存储器.ppt
- 小学数学课堂人工智能教学实践与评价体系构建教学研究课题报告.docx
- 高中物理实验课教学中的学生合作学习模式探讨教学研究课题报告.docx
- 高中数学实验教学中的实验资源开发与利用研究教学研究课题报告.docx
- 《绿色交通基础设施建设对城市空气质量改善的短期效应评估》教学研究课题报告.docx
- 初中英语语法教学中的跨学科教学与学生应用能力培养研究教学研究课题报告.docx
- 高中数学思维训练教学资源动态定价与优化配置策略研究教学研究课题报告.docx
- 金融科技监管中的金融科技企业合规性监管政策优化研究教学研究课题报告.docx
- 《量子通信技术在金融信息安全传输中的性能优化研究》教学研究课题报告.docx
- 小学课外阅读指导课程效果评价研究教学研究课题报告.docx
- 基于人工智能的小学科学智能教育平台用户科学探究能力培养策略教学研究课题报告.docx
文档评论(0)