资料介绍
这篇文章适合刚刚入门的单片机小白看。
单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不同的单片机,外部表现就是形状和引脚数量和引脚名称可能不一样,内部,就是寄存器名称不一样。
我们要做的,就是写程序控制单片机里面的寄存器,然后通过引脚表现出来完成各种电子产品。
所以,你在看别人写的程序的时候,会经常看到给单片机寄存器赋值的语句。下面就以最简单的控制51单片机引脚高低电平来说明一下。(不要总是存在51单片机已经淘汰的想法,51单片机至今任然是出货量最大的单片机,并且各大公司每年都有新款的51单片机推出,功能越来越强劲,做产品,要选最合适的单片机,而不要总想用牛逼的单片机。)
例如,单片机P1口有8个引脚,分别为P1.0~P1.7,如果想让P1口的8个引脚都输出高电平,是这么写:P1=0XFF;如果想让P1口的8个引脚都输出低电平,是这么写:P1=0X00;如果只让P1.0输出高电平,其他引脚输出低电平,是这么写:P1=0X01......
这些值是怎么来的呢?
计算方法:
一个数,前面以0X开头,标示后面的数是十六进制数。所以首先,我们先要知道十进制和十六进制的转换。
十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F
十进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
以上十六进制和十进制是对应关系,例如B对应11。
单片机和计算机一样,是以“位”为最小单片机,例如,P1是一个8位的寄存器。P1寄存器的8个位名称分别是:P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
上面的0X开头的数,是以4个“位”为一个单位进行计算,以8421码进行相加计算,听这里很迷糊吧。举个例子就明白了。
你可以做一个这样的表格:
从上表看出,把寄存器的“位”,从高到低排列,然后以4个为一组,对应的8421码如上图所示。
给寄存器写值,实际上就是给它的每个位写0或者1,例如要使得哪个引脚为高电平,就给对应的位写1;要使得哪一个引脚为低电平,就给对应的位写0。然后把对应为1的8421加起来,以4个位为一组。
例如,我们要让每一个引脚都输出高电平,就是每个位的值都为1,那对应寄存器的高四位,8 4 2 1=15,15对应的是十六进制的F,再看寄存器的低四位,8 4 2 1=15,还是对应F,所以最后的值就是0xFF。
再看,如果让每一个引脚都输出低电平,就是每个位的值都是1,前面说过,只有对应位是1,才把它们的8421加起来,现在都是0,所以都不用加,结果就是0x00。
再看,如果只让P1.0引脚是高电平,其他引脚输出低电平,那么,只有P1.0对应的位是1,其它的位是0,所以,只需要取P1.0上面的1码,所以结果就是0x01。
再看,如果让P1.0、P1.1、P1.7、P1.5输出高电平,其它引脚输出低电平,那么对应的值如下图所示:
我们看寄存器的高四位,取对应1上面的码8 2=10,10对应十六进制的A,再看寄存器的低四位,取对应1上面的码2 1=3,3对应的十六进制还是3,所以结果就是0XA3,这是,你写P1=0XA3,就可以使得引脚该高的高,该低的低了。
不管是51的8位寄存器,还是ARM的32位寄存器,寄存器中的每一个位都有一定的用意,这些用意可以查看单片机的用户手册得知,你只需要按照你的要求,给对应的位写1或者0,然后利用上面的方法得出结果,就可以操作单片机的寄存器了。
你学会了吗?
本文转载自
转载地址:
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编进行处理。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 单片机基础及应用:单片机并行存储器扩展资料下载
- 单片机小白学步(7) 准备实验板——萝卜青菜,各有所爱资料下载
- 单片机小白学步(5) 集成电路、封装相关知识资料下载
- 单片机小白学步(9) 用万用焊板搭建实验电路资料下载
- 小白学单片机(20) IO口原理讲解资料下载
- 单片机小白学步(8) 用面包板搭建实验电路资料下载
- 小白学单片机(22) IO口:蜂鸣器的使用/三极管的工作原理介绍资料下载
- 单片机小白学步(23) IO口原理知识补充:双向IO口、互补推挽、高阻态资料下载
- 小白学单片机(15) 单片机程序下载失败总结资料下载
- 单片机小白学步(6) 单片机最小系统——麻雀虽小,五脏俱全资料下载
- 小白学单片机(16) 单片机/计算机系统概述:模块化思想资料下载
- 小白学单片机(17) 单片机/计算机系统概述:核心模块资料下载
- 小白学单片机(18) 单片机/计算机系统概述:通信接口与协议资料下载
- 小白学单片机(19) 单片机/计算机系统概述:扩展模块资料下载
- 单片机小白学寄存器资料下载
- 51单片机串口通信详细介绍-小白必看 1509次阅读
- 单片机里的程序是如何运行? 3909次阅读
- 单片机控制轮流交替闪烁跑马灯设计 2205次阅读
- 单片机为什么需要晶振?晶振在单片机中有什么样的作用 2.1w次阅读
- 如何自制一个AVR单片机ISP下载线 3894次阅读
- 如何对STC单片机进行免掉电下载 2118次阅读
- 小白如何用焊接的单片机实验板做项目 7021次阅读
- PLC与单片机相比有什么优势? 1.4w次阅读
- 51单片机的ISP下载电路设计 3.1w次阅读
- 51单片机1s延时程序设计的详细资料说明 7855次阅读
- 如何又快又好的学习单片机? 1.5w次阅读
- ch340g单片机下载程序电路原理 7.8w次阅读
- 单片机有什么特点_为什么要学习单片机? 1w次阅读
- FPGA和单片机有什么区别呢? 4.2w次阅读
- 单片机初学者必看:这些单片机学习心得要牢记 1.4w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多