单芯片应用实习报告_第1页
单芯片应用实习报告_第2页
单芯片应用实习报告_第3页
单芯片应用实习报告_第4页
单芯片应用实习报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单芯片应用实习报告班级:二技电一甲姓名:林桀民学号:ad89017相关知识mcs-51是intel公司所设计的8051系列单芯片总名称 在mcs-51这个大家族里较具知名度的编号有805187518031 实际上这些不同编号的单芯片都使用相同的核心cpu与指 令及只是在制造1c时给予不同的周边设计分别赋予这些1c 一个特别编号主要功能:mcs-51系列单芯片的主要功能列举如下专为控制应用所设计的8位cpu有完整的单位元逻辑运算指令,具有布尔运算能力有32条(4个port)双向且每条都可以被单独寻址的i/o内部有两个1 6位timer/co unter 有一个通信用的全双工uart(串行i/o)

2、可接受5个中断源且有2层优先权的中断结构 内部有时脉震荡器(最高频率可到12丽z)内部有4k的程序内存(rom),1 28byte数据存储器(ram)可在外部扩充到64k程序内存(eprom) 可在外部扩充到64k数据存储器(ram)8 051内部结构方块图8051接脚图与功能(40):若系统读取外部程序,接低电位/ ea/vpp/pse n高电位动作,系统重置,pc回到0000 h reset (9 脚)串行通讯输出/入(,)rxd/txd外部中断输入(,)int 0/1计时计数器的输入(,)t0/t18位i/o端口,外接内存可做地址线地址闩锁致能信号ale/pr og外部数据的读取/写入(

3、,)rd/wr8位i/o端口,8位i/o端口,外接内存做数据地址线时脉反相放大器输出/入端,接石英振荡器 xtal1 /2 (19/18 脚)电源(5v) /接地v cc (40 脚)/vs s (20 脚)功能接脚8051基本电路基本电路中有振荡电路及开机重置电路振荡电路:8051芯片内部有一个振荡器,可以当作cpu的时脉,再设计时脉源时,若使用芯片内部的振荡器, 只要在18、19脚两脚间接振荡频率范围的石英振荡晶体或 陶质共振器,并各自接20pf50pf的电容。重置电路:任何微电脑系统均有硬件重置功能,硬件 重置主要用来确保cpu在开机时从程序的预定起始地址开 始执行及当系统当机时使系统能

4、重新开始,8 051的重至信 号输入脚为第9脚,此输入脚为高电位动作,且高电位至 少要维持2个机械周期也就是24个振荡周期。开机时rst 脚电位为高电位促使系统重置,利用电容充电效应使rst 接脚电位降成低电位,8051完成重置动作固定到程序内存 地址0000h开始执行。8051内存介绍:8051的内存包含程序内存(r 0m)和数据存储器(ram)两 种,他们分别有不同的用途,程序内存的作用是在储存所 要执行的程序,而数据存储器用来存放在程序执行过程中 所产生的数据,由于8051读取程序内存有专用控制线psen, 所以程序内存和数据存储器二者选址时完全独立不相干。程序内存(rom)结构:89c

5、51的4k程序内存中,有下列几个重要地址,若没有 用到,就作一般程序内存使用,单芯片系统程序储存在程序 内存(rom),一般805 1/52提供48kb ytes程序内存。使用 者将编辑好的程序,经过组译(assem bier)、连结(l ink) 后,烧录到单芯片的rom。如果采用89c51芯片,可重复烧 录多次,每次烧录可将前一次烧录的程序自动清除。若采 用8 031芯片,由于本身没有内建rom,所以必须采外部扩充内存t imero中断服务程序地址 ooobhtimer1中断服务程序地址 oo1bhuart串行通讯服务程序地址 0023h功能地址int1外部中断服务程序地址 0013hin

6、to外部中断服务程序地址 0003hre set程序开始执行地址 0000h程序内存配置单芯片数据存储器(ram)结构:8051的数据存储器是随机存取的,使用者随时读取或写入数据,通常是用来当程序执行时存放数据的缓存器。sc0n/sbuf lbytex2 (98 h/99h)psw/acclbytex2(d0h/e0h)特殊缓存器(sfr)1 28byte80hf fh功能长度地址tc on/tmod/tl /th 6byte(8 8h8dh)使用者直接寻址可 设定sp建立堆栈区 sobyte 30h7fh个别位数据寻址 8bitx16 2 0h2fhr0r7四个缓存器库 8byte x4 o

7、oh1fh据的地方数据存储器卿)是鱗片桃行程剌储存处理 一般綱/52提供128256by tes数据存储器其中又可将它们区分为下列几项功能的缓存器与内存区: n00 1fh的32个字节可分为四个缓存器库,分别为rbo、rbi、rb2、rb3。每个缓存器库有8个缓存器,分别 为 ro、 rl 、 r2、 r3、 r4、 r5、 r6、 r7。n202fh的16位(2bytes )可做直接位寻址,例如、。n307 fh80个字节的内存区又称为”使用者r am”, 可以直接寻址存取资料,同时也可以由使用者透过设定sp, 自定堆栈数据区。n80ffh的128个字节数据,8 031/8051芯片没有提供

8、。 在8031 /8052芯片可做间接寻址数据区,或是可直接寻址 的状态缓存器(sfr)使用。其中包括p0、pl、p2、p3端口 的对应缓存器,以及稍候我们作u art通讯功能会用到的 sc0n串行控制缓存器、与定时器/计数器控制缓存器。熟悉这些内存的结构,对撰写单芯片程序会有很大的 帮助。读者想自行撰写或修改单板微电脑的系统监督程序, 最好能下点工夫,将这些内存的功能与结构做充分的了解。 中断向量地址:由于这些内部程序内存的地址都与中断有关,所以我 们也称这些地址为中断向量,在撰写程序时,若程序本身 没有利用到中断的功能,则以下七个特别的地址可视为一 般程序内存地址来处理,但是若程序中使用到

9、某个中断时, 则该中断对应的地址,就必须保留,因为,只要该中断发生时,接下来被执行的就是位于该地址的指令,下列这些 地址是各种中断服务程序的进入点。功能地址中断串行埠中断向量0023huart计时计数中断tim er2向量002bhtimer2计时计数中断hmer1向量001bhtimer 1计时计数中断tim ero向量ooobhtimero外部中断int1向量0013 hint1外部中断into向量0003hinto系统重置启始地址 0000hreset单芯片指令集:数据寻址指令:累加器,缓存器,直接,间接内存寻址 与i/o端口间的数据转移。术运算指令:数据做加(add)、减(s ub)、

10、乘(mul)、除(div)运算,或加一 (inc),减一 (dec)等运算逻辑运算指令:数据做and(anl)、or(orl)、x or (xrl)运算,与rr、rl、rrc、rlc位旋转功能。布尔代数运算指令:位数据的清除与设定,如setb, clro或位数据的运算an lc,bit.等。程序流程控制:循环,呼叫子程序(c all),中断,条 件判断的跳跃。如jmp,jz,cjnz,d jnz,ret等指令。范例应用:名称:单开关控制灯号变化,以指拨开关以控制程序流向,造成灯号的变化 动作要求:接于阜脚上之指拨开关拨至on位置时,阜脚为低电压, 接于p0之8个lh)灯不停的作霹雳灯之动作,直

11、制止拨开 关拨至off位置时,为高电位,le d灯号变成奇偶位置不 停地交互亮灭。电路图:程序:orgoohstart: ,l 00p2;检查,若为1则跳至loop2,否则往下执行lo 0p1: movdpt rtable;设定表格之起始为止于dpt r m0vr3, 0 711;设定表格数据之地址组数于r3mova, ooh;设定偏移量起始地址值0于a缓存器 li: , loop2;在loop1循环中,依据dptr及a movro,a;依序由表格取出七个字节数据送movca, a+dp tr传至p0作霹雳灯动作且检查之变movpo,a;化,以决定是否跳出loop 1循环movr5,5acalldelaymova, r0incadjnzr3, l1ajmploop1;无条件跳出loop1l00p2: mo va,55h;在l2循环中,不停的作奇偶灯交互换互亮灭的动作并检查之变化,己决定是否跳出l2循环 l2 : , loop2mov po, a mov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论