- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在标号“D1:”后的指令“MOV R4,#20”使R4=20,R4是单片机的工作寄存器,可以保存数据,这里也可以理解成为一个变量。同理,指令“MOV R5,#248”使R5=248。指令“DJNZ R5,$”的功能是将R5的值减1,不等于0则重新执行本行指令,继续将R5减1看是否等于0。指令中的美元符号“$”指向本条指令的地址。 一条DJNZ指令执行花费的时间为2个机器周期,由于R5=248,所以执行完“DJNZ R5,$”所耗时间为2×248个机器周期。加上前一条1个机器周期的指令“MOV R5,#248”共花去1+2×248=497个机器周期。 接下来,指令“DJNZ R4,D2”将R4的值减1,不等于0则跳回标号D2处继续执行。由于R4预先装入了20,所以这4条指令共花去了20×(497+2)+1=9981个机器周期。如果使用的是12MHz的晶振,1个机器周期就为1μs(微秒),则以上这段程序所花的时间为9981 ×1μs=9981 μs≈10ms。 500ms延时程序实际上在此之上再加上一层循环,由于一开始R3=50,这样,通过指令“DJNZ R3, D1”把程序3-3重复执行了50次,所以程序3-4的总延时约为50×10=500ms。修改工作寄存器R3、R4、R5的值可以改变延时的时间。 I/O口的功能 单片机的I/O口肩负着控制外设和接收信号的责任。AT89S51中共有4组I/O口:P0、P1、P2、P3,每组8个位,所以共有32个I/O口,占40个管脚的绝大部分。这32个I/O口实现外围设备,如按钮开关、键盘、数码管、液晶屏等的控制,通过这些IO口表现出很强的控制能力。 I/O与单片机的关系 I/O口暴露在单片机的外部,用来与外设的管脚连接。在单片机内部有相应的I/O口电路,除了4组I/O口外,单片机内部还有CPU、中断控制、片内ROM、片内RAM、Timer0/1、串行口、看门狗、总线控制、振荡器等功能模块组成。 I/O口的操作 P0口(32~39管脚)是一个8位的开漏型双向I/O口。P0口在作输入/输出口使用时需要添加外部上拉电阻, 单片机上电复位时,P0口默认作为输出口,如果需要作输入口使用,需要先用程序向每个I/O口写入。 P1口(1~8管脚)是一组带内部上拉电阻的双向I/O口,由于P1口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。作输入口时,也需要向每位写入1。P1.5、P1.6、P1.7除作一般I/O口外,还作为下载接口用于向单片机下载程序。 P2口(21~28管脚)也是一组带内部上拉电阻的双向I/O口。由于P2口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。当P2口作输入时,需要写入1。 P3口(10~17管脚)同样是一组带内部上拉电阻的双向I/O口。由于P3口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。当P3口作输入时,需要写入1。 I/O口结构剖析 P1口主要由D锁存器、两个缓冲器、场效应管、内部上拉电阻等组成。 当程序让该I/O口输出1时,“内部总线”出现1,当“写锁存器”信号到来时,输出端Q就输出1,/Q 输出0。于是FET截止,于是“管脚P1.x”因电阻的上拉也输出1。 当程序让该I/O口输出0时,“内部总线”出现0使/Q =1,于是FET导通,“管脚P1.x”接地而呈现0。 如果I/O口作输入时,与“管脚P1.x”相连的外设使该管脚出现1或0,程序控制“读管脚”使能缓冲器,则“管脚P1.x”的状态就通过缓冲器进入“内部总线”上,指令就可接收到“内部总线”上的数据了。 P3口比P1口多出了“第二功能输入线”和“第二功能输出线”。“第二功能输出线”与锁存器的输出端Q通过一个与非门和FET的G极连接。这样,如果“内部总线”=1时,与非门的输出端与“第二功能输出线”相反。比如“第二功能输出线”=1,FET的G极为0,所以FET截止,“管脚P3.x”=1。 当P3口作第二功能输入时,“管脚P3.x”上的信号通过一个缓冲器出现在“第二功能输入线”,程序只要把这个信号读走即得到第二功能的输入数据。 P0中的模拟开关,由“内部控制信号”控制,以选通P0口所要交换的是一般I/O口数据或是访问外部存储器的地址/数据。 由于P0口是没有内部上拉电阻的,所以它作一般I/O口使用时需要添加外部上拉电阻。不过在访问外部存储器时上拉FET(受与门控制的FET)会导通而不需要再添加外部上拉电阻。 单片机的功耗 运行时的功耗 在时钟频率较高时,如表中的4.0MHz,单片机运算速度较快,相应的1.25mA工作电流比在时钟频率为1.0MHz时的550μA工作电流要高。 12MHz下的运行功耗达25mA。 I/O口驱
您可能关注的文档
最近下载
- 必威体育精装版人教版小学六年级下册音乐全册教案.doc
- 汽车构造拆装实习报告.pdf VIP
- 《分香蕉》优质课课件(北师大版数学二年级上册).pptx VIP
- 天然气蒸汽锅炉安全操作规程.docx
- 防防呆法防错法IE七大手法演示文稿.ppt VIP
- 幼儿园大班数学活动《小动物住新房》.ppt VIP
- 党的二十届三中全会精神测试题300道(单选、多选、判断、填空).docx VIP
- 劳动项目七 洗碗筷(课件)二年级下册劳动人教版.ppt
- 医院综合病房楼空调系统施工组织设计方案范本.doc
- 平方根与立方根的运算专项训练(20题)-重要笔记七年级数学下学期重要考点练习(人教版)(含答案析).docx
文档评论(0)