单片机总复习.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、什么是单片机? 将计算机的CPU、RAM、ROM、定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机。准确反映单片机的叫法是微控制器 51系列称为哈佛结构。它由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制集成在一块芯片上,片内各功能部件内部总线相互连接起来。 存储器结构 1电源电路:向单片机供电。 2时钟电路:单片机工作的时间基准,决定单片机工作速度。 3复位电路 确定单片机工作的起始状态,完成单片机的启过程。 MCS-51物理上有四个存储器空间, 逻辑上分为3个地址空间 片内程序存储器(000~FFF) 片外程序存储器(0000~FFFF) 片内数据存储器(00~FF) 片外数据存储器(0000~FFFF) 5.内部数据存储器(RAM) 6 .中断系统的组成 51单片机有5个中断源,两个中断优先级。4个与中断有关的特殊功能寄存器 TCON :定时/计数器控制寄存器(部分用于中断系统) SCON :串行控制寄存器(部分用于中断系统) IE :终端允许控制寄存器 IP :终端优先级控制寄存器 7. 52程序存储器中有6个单元有特出功能: 0000H:复位后程序从0000开始执行程序 0003H:interrupt0) 000BH:定时器0溢出中断入口地止 (interrupt 1) 0013H:外部中断1入口地址(interrupt 2) 001BH:定时器1溢出中断入口地止 (interrupt 3) 0023H:串行口中断入口地址 (interrupt 4) 002BH:定时器2溢出中断入口地止(仅52 有) 、CPU的时序 CPU执行指令的一系列动作都是在时序电路控制下一拍一拍进行的,执行不同的指令所需时间差异较大,按指令执行过程规定了几种周期,即振荡周期、机器周期和指令周期。 (一)振荡周期 晶体振荡器的固有振荡频率(12M;11.0592M等)。 (二)机器周期 51单片机的一个 机器周期由12个振荡周期组成。 (三)指令周期 指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,需要的机器周期数也不同,一般为1—4个机器周期。 51 采用了7 种寻址方式 13.中断程序的编写(用外中断INT0控制P0口发光二极管亮灭) ORG 0000H ;主程序开始 AJMPMAIN;首地址存转主程序的指令 ORG 0003H ;外中断0的入口地址 AJMP INT00;如果响应中断转中断子程序 ORG0030H ;主程序的首地址 MAIN: MOV P0,#00H ; 给P0口清零使P0口全亮 MOV A,#00H ;0送A做亮、灭寄存器 SETB IT0 ;设外中断0为边沿触发 SETB EA ;设CPU允许中断 SETB EX0 ;设外中断0允许中断 LOOP: MOVP0,A ;A的内容送P0口AJMP LOOP ; 等中断信号输入中断处理子程序 INT00: CPL A;取反A中的内容 RETI ;中断返回 END ;程序结束 编程题 1、根据实验板P0口发光二极管左移或右移循环显示显示,用程序延时 。要求:汇流程图,编程 #include reg52.h #define uchar unsigned char #define uint unsigned int uchar {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(uint n) { uchar x; while(n--) { for(x=0; x115; x++); } } void main() { uchar i; while(1) { for(i=0; i8; i++) { P0 = led[i]; delay(1000); } } } 3、根据实验板编程P0 口;P1口实际一个00-99计数器,定时1秒,用定时器中断延时,采用6M晶振。 汇流程图,编程并加注释 #include reg52.h #define uchar unsigned char #define uint unsigned int uchar smg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar i,j; void main()//主函数 { TMOD = 0x01; TH0=(65535-50000)/256; TL0=

文档评论(0)

sdfgrt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档