单片机数据存储空间分配.docx

上传人:lao****ou 文档编号:94490 上传时间:2023-03-05 格式:DOCX 页数:50 大小:60.16KB
下载 相关 举报
单片机数据存储空间分配.docx_第1页
第1页 / 共50页
单片机数据存储空间分配.docx_第2页
第2页 / 共50页
单片机数据存储空间分配.docx_第3页
第3页 / 共50页
单片机数据存储空间分配.docx_第4页
第4页 / 共50页
单片机数据存储空间分配.docx_第5页
第5页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机数据存储空间分配.docx》由会员分享,可在线阅读,更多相关《单片机数据存储空间分配.docx(50页珍藏版)》请在第一文库网上搜索。

1、单片机数据存储空间安排日期:2007-03-20 10:391、 data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到data区内,比如for循环中的计数值。2、 data区内最好放局部变量。由于局部变量的空间是可以掩盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量掩盖),可以提高内存采用率。当然静态局部变量除外,其内存使用方式与全局变量相同;3、 确保你的程序中没有未调用的函数。在Keil C里遇到未调用函数,编译器就将其认为可能是中断函数。函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。这一点Keil C做得很愚蠢,但也没方法。4、 程序中遇

2、到的规律标志变量可以定义到bdata中,可以大大降低内存占用空间。在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个规律变量。定义方法是:bdata bit LedState;但位类型不能用在数组和结构体中。5、 其他不频繁用到和对运算速度要求不高的变量都放到xdata区。6、 假如想节省data空间就必需用large模式,将未定义内存位置的变量全放到xdata区。当然最好对全部变量都要指定内存类型。7、 当使用到指针时,耍指定指针指向的内存类型。在C51中未定义指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占

3、2个字节。如指针p是指向data区,则应定义为: char data *p;。还可指定指针本身的存放内存类型,如:char data * xdata p;。其含义是指针p指向data区变量,而其本身存放在xdata区。查看全文I (已有0条评论)查看评论发表评论鲜花:0朵 送鲜花便便:0坨扔便便单片机原理 日期:2007-03-20 10:37单片机原理随着大规模集成电路的消失及其进展,将计算的CPU、RAM、ROM 定时/计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。一、单片机的特点:1、具有优异的性能价格比2、集成度高、体

4、积小、牢靠性高3、掌握功能强4、低电压、低功耗二、单片机的应用:1、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。2、在机电一体化中的应用:机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。3、在实时过程掌握中的应用:用单片机实时进行数据处理和掌握,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。4、在人类生活中的应用:目前国外各种家用电器已一般采纳单片机代替传统的掌握电路。5、在其它方面的应用:单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领

5、域、汽车及通信、计算机外部设施、模糊掌握等各领域中。三、单片机的基本组成:它由CPU、存储器(包括RAM和ROM )、I/O接口、定时/计数器、中断掌握功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。1.输入/输出引脚P0、Pl、P2、P3的功能:PO.(PO o 7 : P0 是一个8位漏极开路型双向I/O端口。在访问片外存储器时,它分时作低8位地址和8位双向数据总线用。在EPROM编程时,由P0输入指令字节,而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。P0能以汲取电流的方式驱动8个LSTTL负载。P1. 0 P1. 7 ( C8脚):P1是一上带内部上拉电阻

6、的8位双向I/O 口。在EPROM编程和验证程序时,由它输入低8位地址。P1能驱动4个LSTTL负载。在8032/8052中,P1. 0还相当于专用功能端T2 ,即定时器的计数触发输入端;Pl. 1还相当于专用功能端T2EX ,即定时器T2的外部掌握端。P2.(P2.7 ( 2C28脚):P2也是一上带内部上拉电阻的8位双向I/O 口。在访问外部存储器时,由它输出高8位地址。在对EPROM编程和程序验证时,由它输入高8位地址。P2可以驱动4个LSTTL负载。P3. 0、P3.7 ( 1017脚):P3也是一上带内部上拉电阻的双向I/O 口。在MCS-51中,这8个引脚还用于特地的其次功能。P3

7、能驱动P3. 0入)P3. 1出)P3. 2P3. 3P3. 4P3. 5P3. 6P3. 7中断0输入)中断1输入)的外部输入)的外部输入)据存储器写选通)据存储器读选通)四.MCS - 51的寻址方式:1234个LSTTL负载。RXD (串行口输TXD (串行口输INTO (外部INT1 (外部T0 (定时器0T1 (定时器1WR (片外数RD (片外数马上寻址如:MOVA , #40H直接寻址如:MOV A,3H寄存器寻址如:MOVA , Rn寄存器间接寻址如:MOV A , RnA+DPTR五.指令:5、基址加变址寻址如:MOVC A ,6、相对寻址如:SJMP 08H7、位寻址 MO

8、V 20H , CMOV : 片内RAM传送MOVX :片外RAM传送MOVC : ROM 传送XCH :交换(和A交换)SWAP : A内半字节交换ADD :不带进位加ADDC :带进位加SUBB :带进位减INC :加 1DEC :减 1MUL :乘法DIV :除法DAA :调整六.计数初值的计算定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为M ,各操作模式下的M值为:模式 0 :M=2 13 =8192模式 1 :M=2 16 =65536模式 2 :M=2 8 =256模式3 :M=256 ,定时器TO分成2个独立的8位计数

9、器,所以THO、TLO的M均为256。由于MCS-51的两个定时器均为加1计数器,当时到最大值(00H或0000H )时产生溢出,将TF位置1 ,可发出溢出中断,因此计数器初值X的计算式为:X=M-计数值式中的M由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。1、计数工作方式时计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值依据要求确定。其计数初值:X=M-计数值例如:某工序要求对外部脉冲信号计100次,X=M-1002、定时工作方式时定时工作方式时,由于计数脉冲由内部供应,是对机器周期进行计数,故计数脉冲频率为f con

10、t =f osc 1/12、计数周期T=lf cont =12f osc定时工作方式的计数初值X等于:X=M计数值=M-tT=M- ( f osc t ) /12式中:f osc为振荡器的振荡频率,t为要求定时的时间。定时器有两种工作方式:即定时和计数工作方式。由TMOD的D6位和D2位选择,其中D6位选择T1的工作方式,D2位选择TO的工作方式。=0工作在定时方式,=1工作在计数方式。并有四种操作模式:1、模式0 : 13位计数器,TLi只用低5位。2、模式1 : 16位计数器。3、模式2 : 8位自动重装计数器,THi的值在计数中不变,TLi溢出时,THi中的值自动装入TLi 中。4、模式

11、3 : T0分成2个独立的8位计数器,T1停止计数。七.MCS-51有5个中断源,可分为2个中断优先级,即高优先级和低优先级,中断自然优先级:外部中断0定时器0中断外部中断1定时器1中断串行口中断定时器2中断(1)同级或高优先级的中断正在进行中;(2)现在的机器周期还不是执行指令的最终一上机器周期,即正在执行的指令还没完成前不响应任何中断;(3 )正在执行的是中断返回指令RET1或是访问专用寄存器IE或IP的指令,换而言之,在RETI或者读写IE或IP之后,不会立刻响应中断恳求,至少要在执行其它一要指令之扣才会响应。(一)CPU响应中断的条件有:(1 )有中断源发出中断恳求;(2 )中断总允许

12、位E=1 ,即CPU开中断;(3 )申请中断的中断源的中断允许位为1 ,即没有被屏蔽。(二)串行口工作方式及帧格式:MCS-51单片机串行口可以通过软件设置四种工作方式:方式0:这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。在这种方式下,数据从RXD端串行输出或输入,同步信号从TXD端输出,波特率固定不变,为振荡率的1/12 o该方式是以8位数据为一帧,没有起始位和停止位,先发送或接收最低位。方式2 :采纳这种方式可接收或发送11位数据,以11位为一帧,比方式1增加了一个数据位,其余相同。第9个数据即D8位具有特殊的用途,可以通过软件搂掌握它,再加特殊功能

13、寄存器SC0N中的SM2位的协作,可使MCS-51单片机串行口适用于多机通信。方式2的波特率固定,只有两种选择,为振荡率的1/64或1/32 ,可由PCON的最高位选择。方式3 :方式3与方式2完全类似,唯一的区分是方式3的小组特率是可变的。而帧格式与方式2-为11位一帧。所以方式3也适合于多机通信查看全文I (已有o条评论)查看评论发表评论鲜花:0朵送鲜花便便:0坨扔便便串行接口 SPI接口应用设计日期:2006-09-30 00:00使用的同步串行三线SPI接口,可以便利的连接采纳SPI通信合同的外围或另一片AVR单片机,实现在短距离内的高速同步通信。ATmegal28的SPI采纳硬件方式

14、实现面对字节的全双工3线同步通信,支持主机、从机和2种不同极性的SPI时序,通信速率有7种选择,主机方式的最高速率为1/2系统时钟,从机方式最高速率为1/4系统时钟。ATmegal28单片机内部的SPI接口也被用于程序存储器和数据E2PR0M的编程下载和上传。但特殊需要留意的是,此时SPI的MOSI和MISO接口不再对应PB2、PB3引脚,而是转换到PEO、PE1引脚上(PDI、PDO),其详见其次章中关于程序存储器的串行编程和校验部分的内容。ATmegal28的SPI为硬件接口和传输完成中断申请,所以使用SPI传输数据的有效方法是采纳中断方式+数据缓存器的设计方法。在对SPI初始化时,应留意

15、以下几点:,正确选择和设置主机或从机,以及工作模式(极性),数据传输率;.留意传送字节的挨次,是低位优先(LSB First)还是高位优先(MSB Frist);,正确设置MOSI和MISO接口的输入输出方向,输入引脚使用上拉电阻,可以节省总线上的吊高电阻。下面一段是SPI主机方式连续发送(接收)字节的例程:define SIZE 100unsigned char SPI_rx_buffSIZE;unsigned char SPI_tx_buffSIZE;unsigned char rx_wr_index, rx_rd_index, rx_counter, rx_buffer_overf1ow;unsigned char tx_wr_index, tx_rd_in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服