版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1单片机技术单片机技术习题课习题课(第五、六、七章)(第五、六、七章)2第五章第五章 单片机中断系统单片机中断系统35. 利用外部中断源利用外部中断源INT0、INT1,实现中断及中断,实现中断及中断嵌套,设嵌套,设INT1为高优先级。如图为高优先级。如图5-1所示,用两个所示,用两个按键按键S1和和S2,分别接到,分别接到P3.2和和P3.3引脚,按动两个引脚,按动两个中断按键,产生两个不同的中断。先按动低优先级中断按键,产生两个不同的中断。先按动低优先级中断源中断源S1键,紧接着按动高优先级按键键,紧接着按动高优先级按键S2键,将产键,将产生中断嵌套。设中断为边沿触发方式,试编写程序,生中
2、断嵌套。设中断为边沿触发方式,试编写程序,实现上述功能,无中断请求时,两个二极管全灭,实现上述功能,无中断请求时,两个二极管全灭,低优先级中断请求时,低优先级中断请求时,LED1亮亮5秒,高优先级中断秒,高优先级中断时,时,LED2亮亮5秒。秒。45中断相关寄存器中断相关寄存器PT2PSPT1PX1PT0PX0 IP(B8H) BFH BEH BDH BCH BBH BAH B9H B8HEAET2ESET1EX1ET0EX0 IE(A8H)AFH AEH ADH ACH ABH AAH A9H A8HTF1TF0IE1IT1IE0IT0 TCON(88H)8FH 8EH 8DH 8CH 8B
3、H 8AH 89H 88H05H85H04H6C语言源程序语言源程序#include sbit P1_0=P10;sbit P1_1=P11;sbit P3_2=P32;sbit P3_3=P33;void delay(void)/5秒钟延时函数秒钟延时函数unsigned int m,n;for(m=620;m0;m-)for(n=1000;n0;n-);7void main(void) TCON=0X05;/外部中断为边沿触发方式外部中断为边沿触发方式IE=0X85; /开外部中断开外部中断1,2IP=0X04; /int1为高优先级中断,为高优先级中断,int0为低优先级为低优先级中断,
4、中断, P1_0=1;/两个两个LED灯熄灭灯熄灭P1_1=1; while(1);/等待中断等待中断C语言源程序语言源程序8void int0_int(void) interrupt 0P1_0=0;delay( );P1_0=1;void int1_int(void) interrupt 2P1_1=0;delay( );P1_1=1;C语言源程序语言源程序ProteusProteus仿真仿真9第六章第六章 MCS-51单片机的单片机的定时器定时器/计数器计数器1010. 用方式用方式1设计两个不同频率的方波,设计两个不同频率的方波,P3.6输出频输出频率为率为200Hz,P3.7输出频率
5、为输出频率为 100Hz,晶振频率,晶振频率12MHz。分析:分析:定时时间:频率定时时间:频率200Hz,周期,周期=5ms,则定时,则定时2.5ms;工作方式:方式工作方式:方式1,TMOD =初值:初值:x= 216-2500 = 65536-2500 =63036D =0F63CH所以:所以:TH1=0F6H;TL1=3CH也可以写成:也可以写成:TH1=63036/256,TL1=63036%25610H11#include sbit P3_6=P36;sbit P3_7=P37;void main()TMOD=0 x10; TL1=0 x3c; TH1=0 xf6; TR1=1;
6、ET1=1; EA =1; F0=0; while(1);void serve() interrupt 3 TL1=0 x3c; TH1=0 xf6; P3_6=P3_6; if(F0=0)F0=1; else F0=0;P3_7=P3_7; ProteusProteus仿真仿真1215设设fosc=12MHz。试编写一段程序,对定时器。试编写一段程序,对定时器T1初始化,使之工作在模式初始化,使之工作在模式2,产生,产生200s定时,并用查定时,并用查询询T1溢出标志的方法,控制溢出标志的方法,控制P1.1输出周期为输出周期为2ms的方的方波。波。分析:分析:工作方式:工作方式:T1模式模式
7、2,TMOD =20H。初值:初值:x= 28-200 = 256-200 =56方波周期方波周期2ms,则每定时,则每定时5次次P1.1电平翻转一次。电平翻转一次。13 TF1=0; i+; if(i=5) P1_1=P1_1; i=0; #include sbit P1_1=P11;void main() unsigned char i,j; TMOD=0 x20; TL1=56; TH1=56; TR1=1; while(1) while(TF1=1) ProteusProteus仿真仿真14第七章第七章 MCS-51单片机的串行口单片机的串行口 153简述串行口接收和发送数据的过程。简
8、述串行口接收和发送数据的过程。答:答: 发送时,执行一条将数据写入发送缓冲器发送时,执行一条将数据写入发送缓冲器SBUF的指令,启动数据发送,发送完毕硬件将的指令,启动数据发送,发送完毕硬件将中断标志中断标志TI置置1; 接收时,用软件置接收时,用软件置REN=1、RI=0,即启动接,即启动接收功能,当从收功能,当从RXD引脚接收到一帧数据后由硬件引脚接收到一帧数据后由硬件使中断标志使中断标志RI置置1。167设设fsoc=11.059 2MHz,试编写一段程序,其功能,试编写一段程序,其功能为对串行口初始化,使之工作于方式为对串行口初始化,使之工作于方式1,波特率为,波特率为1 200b/s
9、;并用查询串行口状态的方法,读出接收缓冲;并用查询串行口状态的方法,读出接收缓冲区的数据并回送到发送缓冲区。区的数据并回送到发送缓冲区。分析:分析: 串口工作方式串口工作方式1,允许接收,则,允许接收,则SCON = 波特率波特率1200b/s,设,设T1工作于模式工作于模式2,则:,则: TMOD= 初值初值x=50H20HE8H17 while(RI=0); RI=0; ACC=SBUF; SBUF=ACC;#include void main() SCON=0 x50; TMOD=0 x20; TH1=0 xE8; TL1=0 xE8; TR1=1;ProteusProteus仿真仿真1812当当89C52串行口按工作方式串行口按工作方式1进行串行数据通信进行串行数据通信时,假定波特率为时,假定波特率为4800b/s,以中断方式传送数据,以中断方式传送数据,请编写全双工通信程序。请编写全双工通信程序。分析:分析: 串口工作方式串口工作方式1,允许接收,则,允许接收,则SCON =50H。 波特率波特率4800b/s,设,设T1工作于模式工作于模式2,则:,则: TMOD=20H, 初值初值x=FAH19#include unsigned char data txbuf;unsigned char data rebu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吊篮生产销售企业2024年度财务审计合同
- 2024年度电商企业合作研发合同3篇
- 高效催化反应器
- 多源数据关联分析
- 内容营销在零售电商中的作用
- 二零二四年度二手房买卖合同的解除与终止条件
- 甲状腺毒症心理应激研究
- 二零二四年度建筑工程设计、施工及监理服务合同
- 二零二四年度银行安防系统升级改造合同
- 2024年度学校食堂绿化维护合同
- BAS建筑设备监控系统施工调试方法及程序
- 物业合资公司组建方案
- 《埃博霉素生物合成》PPT课件.ppt
- 风光摄影教程
- 山东省义务教育必修地方课程小学五年级上册《环境教育》教案 全册精品
- 最实用七年级语文语法:词性实词、虚词部编本
- 《正确的写字姿势》PPT课件.ppt
- 汽车类西班牙语词汇
- 检维修风险分析记录10001
- 海拉EPS角度传感器ppt课件
- 中药饮片(预包定装)进、存、销管理制度
评论
0/150
提交评论