- 1、本文档共141页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
while(1){printf(″\rCounter0=%2.2X%2.26Xh″,TH0,TL0);}}5.5.48051外部中断的应用【例5-7】采用外部中断方式对P3.2引脚上的脉冲进行计数。程序清单如下:#includeREG51.Hunsignedcharex0_isr_counter=0;[WB]/*加1计数变量*/voidex0_isr(void)interrupt0/*外部中断0中断服务程序*/{ex0_isr_counter++;/*加1计数*/}voidmain(void){/*--------------------------------------设置INT0为下降沿中断方式(P3.2)允许INT0中断开放中断--------------------------------------*/IT0=1;//设置INT0为下降沿中断方式(P3.2)EX0=1;//允许INT0中断EA=1;//开放中断/*--循环等待中断--*/while(1){}…}5.5.58051串行口中断的应用【例5-8】编程将串行口中接收到的一个字节加1后再发送回去。此例说明了串行口中断的基本应用。程序清单如下://说明文件#includereg51.h#includestdio.h#includeintrins.h/***********************************功能:serial_int描述:串行口中断服务程序参数:无返回:无影响:无***********************************/voidserial_int(void)interrupt4[WB]using1{unsignedchardatac;if(_testbit_(RI))/*接收中断*/{c=SBUF;SBUF=c+1;/*将接收字节加1后回送*/}if(_testbit_(TI)){/*发送中断*/}}/*********************************功能:init描述:初始化程序参数:无返回:无影响:无********************************/voidinit(void){TMOD=0x20;/*定时器1作为波特率发生器,波特率为4800b/s,8位,无校验*/TH1=0x0f3;/*晶振频率为12MHz*/TL1=0x0f3;TF1=0;PCON=0x80;SCON=0x50;T1=0;RI=0;TR1=1;EA=1;/*开放串行口中断*/ES=1;}//主函数main(){init();while(1){/*主程序代码*/}}5.5.68051访问外部数据存储器的应用【例5-9】编程给外部数据存储器以0xd300为首地址的50个空间送入数据块1~50,以0xd400为首地址的50个空间送入数据块51~100,以0xd500为首地址的50个空间送入数据块101~150。此例说明了8051访问外部数据存储器的几种方式。程序清单如下:#includereg51.h#includestdio.h#includeabs
文档评论(0)