《单片机技术习题课5、6、7章.ppt》由会员分享,可在线阅读,更多相关《单片机技术习题课5、6、7章.ppt(17页珍藏版)》请在三一文库上搜索。
1、单片机技术习题课,(第五、六、七章),第五章 单片机中断系统,中断相关寄存器,05H,85H,04H,C语言源程序,#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-); ,第六章 MCS-51单片机的定时器/计数器,10. 用方式1设计两个不同频率的方波,P3.6输出频率为200Hz,P3.7输出频率为 100Hz,晶振频率12MHz。,分析: 定时时间:
2、频率200Hz,周期=5ms,则定时2.5ms; 工作方式:方式1,TMOD = 初值:x= 216-2500 = 65536-2500 =63036D=0F63CH 所以:TH1=0F6H;TL1=3CH 也可以写成:TH1=63036/256,TL1=63036%256,10H,#include sbit P3_6=P36; sbit P3_7=P37; void main() TMOD=0 x10; TL1=0 x3c; TH1=0 xf6; TR1=1; ET1=1; EA =1; F0=0; while(1); ,void serve() interrupt 3 TL1=0 x3c;
3、 TH1=0 xf6; P3_6=P3_6; if(F0=0) F0=1; else F0=0; P3_7=P3_7; ,Proteus仿真,15设fosc=12MHz。试编写一段程序,对定时器T1初始化,使之工作在模式2,产生200s定时,并用查询T1溢出标志的方法,控制P1.1输出周期为2ms的方波。,分析: 工作方式:T1模式2,TMOD =20H。 初值:x= 28-200 = 256-200 =56 方波周期2ms,则每定时5次P1.1电平翻转一次。,TF1=0; i+; if(i=5) P1_1=P1_1; i=0; ,#include sbit P1_1=P11; void ma
4、in() unsigned char i,j; TMOD=0 x20; TL1=56; TH1=56; TR1=1; while(1) while(TF1=1) ,Proteus仿真,第七章 MCS-51单片机的串行口,3简述串行口接收和发送数据的过程。,答: 发送时,执行一条将数据写入发送缓冲器SBUF的指令,启动数据发送,发送完毕硬件将中断标志TI置1; 接收时,用软件置REN=1、RI=0,即启动接收功能,当从RXD引脚接收到一帧数据后由硬件使中断标志RI置1。,7设fsoc=11.059 2MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1 200b/s;并用
5、查询串行口状态的方法,读出接收缓冲区的数据并回送到发送缓冲区。,分析: 串口工作方式1,允许接收,则SCON = 波特率1200b/s,设T1工作于模式2,则: TMOD= 初值x=,50H,20H,E8H,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;,Proteus仿真,12当89C52串行口按工作方式1进行串行数据通信时,假定波特率为4800b/s,以中断方式传送数据,请编写全双工通信程序。,分析: 串口工作方式1,允许接收,则SCON =50H。 波特率4800b/s,设T1工作于模式2,则: TMOD=20H, 初值x=FAH,#include unsigned char data txbuf; unsigned char data rebuf; void main() SCON=0 x50; TMOD=0 x20;,TH1=0 xFA; TL1=0 xFA; TR1=1; ES=1; EA=1; SBUF=txbuf; ,void serial_server() interrupt 4 if(TI) TI=0; else RI=0; rebuf=SBUF ; ,
链接地址:https://www.31doc.com/p-8574950.html