DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 121|回复: 0
打印 上一主题 下一主题

单片机原理简介

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:45:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随着大规模集成电路的出现和发展,将计算机的cpu 、ram 、 rom 、定时/数器和多种i/o接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。
?一、单片机的特点:
??? 1 、具有优异的性能价格比;
??? 2 、集成度高、体积小、可靠性高;
??? 3 、控制功能强;
??? 4 、低电压、低功耗 。
?二、单片机的应用:
??? 1 、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
??? 2 、在机电一体化中的应用:机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。
??? 3 、在实时过程控制中的应用:用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
??? 4 、在人类生活中的应用:目前国外各种家用电器已普通采用单片机代替传统的控制电路。
??? 5 、在其它方面的应用:单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车及通信、计算机外部设备、模糊控制等各领域中。

三、单片机的基本组成:
它由 cpu 、存储器(包括 ram 和 rom )、 i/o 接口、定时 / 计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。
输入 / 输出引脚 p0 、 p1 、 p2 、 p3 的功能 :p0.0"p0 。 7 : p0 口是一个 8 位漏极开路型双向 i/o 端口。在访问片外存储器时,它分时作低 8 位地址和 8 位双向数据总线用。在eprom 编程时,由 p0 输入指令字节,而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。 p0 能以吸收电流的方式驱动8个lsttl 负载。
p1. 0 "p1. 7 ( 1"8 脚): p1 是一上带内部上拉电阻的 8 位双向 i/o 口。在 eprom 编程和验证程序时,由它输入低 8 位地址。 p1 能驱动 4 个 lsttl 负载。
在 8032/8052 中, p1. 0 还相当于专用功能端 t2 ,即定时器的计数触发输入端; p1. 1 还相当于专用功能端t2ex ,即定时器 t2 的外部控制端。p2.0"p2.7 ( 21"28 脚): p2 也是一上带内部上拉电阻的 8 位双向 i/o 口。在访问外部存储器时,由它输出高 8 位地址。在对 eprom 编程和程序验证时,由它输入高 8 位地址。 p2 可以驱动 4 个 lsttl 负载。p3. 0 "p3. 7 ( 10"17 脚): p3 也是一上带内部上拉电阻的双向 i/o 口。在 mcs-51 中,这 8 个引脚还用于专门的第二功能。 p3 能驱动 4 个 lsttl 负载。
??? p3. 0 rxd (串行口输入)
??? p3. 1 txd (串行口输出)
??? p3. 2 int0 (外部中断 0 输入)
??? p3. 3 int1 (外部中断 1 输入)
??? p3. 4 t0 (定时器 0 的外部输入)
??? p3. 5 t1 (定时器 1 的外部输入)
??? p3. 6 wr (片外数据存储器写选通)
??? p3. 7 rd (片外数据存储器读选通)
四、mcs-51 的寻址方式:
??? 1 、立即寻址 如: mov a , #40h
??? 2 、直接寻址 如: mov a , 3ah
??? 3 、寄存器寻址 如: mov a , rn
??? 4 、寄存器间接寻址 如: mov a , @rn
??? 5 、基址加变址寻址 如: movc a , @a+dptr
??? 6 、相对寻址 如: sjmp 08h
??? 7 、位寻址 mov 20h , c
五、指令:
??? mov : 片内 ram 传送
??? movx : 片外 ram 传送
??? movc : rom 传送
??? xch : 交换(和 a 交换)
??? swap : a 内半字节交换
??? add :不带进位加
??? addc :带进位加
??? subb :带进位减
??? inc :加 1
??? dec :减 1
??? mul :乘法
??? div :除法
??? daa :调整
六、计数初值的计算
定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为 m ,各操作模式下的 m 值为:
??? 模式 0 : m=2 13 =8192
??? 模式 1 : m=2 16 =65536
??? 模式 2 : m=2 8 =256
??? 模式 3 : m=256 ,定时器 t0 分成 2 个独立的 8 位计数器,所以 th0 、 tl0 的 m 均为 256 。
因为 mcs-51 的两个定时器均为加 1 计数器,当初到最大值( 00h 或 0000h )时产生溢出,将 tf 位置 1 ,可发出溢出中断,因此计数器初值 x 的计算式为: x=m- 计数值式中的 m 由操作模式确定,不同的操作模式计数器的长不相同,故m值也不相同。而式中的计数值与定时器的工作方式有关。
1 、计数工作方式时
?计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: x=m- 计数值
例如:某工序要求对外部脉冲信号计 100 次, x=m-100
?2 、定时工作方式时
定时工作方式时,因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为 f cont =f osc × 1/12 、计数周期 t=1/f cont =12/f osc 定时工作方式的计数初值 x 等于:
?x=m- 计数值 =m-t/t=m- ( f osc × t ) /12
式中: f osc 为振荡器的振荡频率, t 为要求定时的时间。
定时器有两种工作方式 :即定时和计数工作方式。由 tmod 的 d6 位和 d2 位选择,其中 d6 位选择 t1 的工作方式, d2 位选择 t0 的工作方式。 =0 工作在定时方式, =1 工作在计数方式。并有四种操作模式:
??? 1 、模式 0 : 13 位计数器, tli 只用低 5 位。
??? 2 、模式 1 : 16 位计数器。
??? 3 、模式 2 : 8 位自动重装计数器, thi 的值在计数中不变, tli 溢出时, thi 中的值自动装入 tli 中。
??? 4 、模式 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 )中断总允许位 ea=1 ,即 cpu 开中断;
??? ( 3 )申请中断的中断源的中断允许位为 1 ,即没有被屏蔽。
七、串行口工作方式及帧格式
mcs-51 单片机串行口可以通过软件设置四种工作方式:
??? 方式 0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。在这种方式下,数据从 rxd 端串行输出或输入,同步信号从 txd 端输出,波特率固定不变,为振荡率的 1/12 。该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。
??? 方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。第 9 个数据即 d8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 scon 中的 sm2 位的配合,可使 mcs-51 单片机串行口适用于多机通信。方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 pcon 的最高位选择。
??? 方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的小组特率是可变的。而帧格式与方式 2- 样为 11 位一帧。所以方式 3 也适合于多机通信。
?
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-24 01:43 , 耗时 0.089079 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表