电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>单片机小白:这些值是怎么来的呢?资料下载

单片机小白:这些值是怎么来的呢?资料下载

2021-04-05 | pdf | 92.99KB | 次下载 | 免费

资料介绍

这篇文章适合刚刚入门的单片机小白看。 单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不同的单片机,外部表现就是形状和引脚数量和引脚名称可能不一样,内部,就是寄存器名称不一样。 我们要做的,就是写程序控制单片机里面的寄存器,然后通过引脚表现出来完成各种电子产品。 所以,你在看别人写的程序的时候,会经常看到给单片机寄存器赋值的语句。下面就以最简单的控制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)
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1ATmega8芯片中文手册
  2. 2.45 MB   |  3次下载  |  1 积分
  3. 2VGA 转 HDMI 输出的音视频采集卡LCC385数据手册
  4. 0.34 MB   |  2次下载  |  免费
  5. 3全套DDR、DDR2、DDR3、DDR3L、LPDDR3 和 DDR4 电源解决方案同步降压控制器数据表
  6. 2.5MB   |  1次下载  |  免费
  7. 4具有过压保护和阻断 FET控制功能的12V电子熔丝TPS25924x数据表
  8. 1.92MB   |  1次下载  |  免费
  9. 5带自动重试功能的IEEE 802.3af PoE供电设备控制器TPS2375数据表
  10. 920.76KB   |  1次下载  |  免费
  11. 6稳压5V、300mA高效电荷泵DC-DC转换器TPS6013x数据表
  12. 1.5MB   |  1次下载  |  免费
  13. 7照明-电源-POE-GEVB评估套件数据手册
  14. 4.40 MB  |  1次下载  |  免费
  15. 8集成 FET 的 2A 双通道同步降压开关TPS54295数据表
  16. 1.21MB   |  次下载  |  免费

本月

  1. 1DC-DC电路(Buck)的设计与仿真
  2. 0.60 MB   |  23次下载  |  2 积分
  3. 2UHD智能显示SoC VS680产品简介
  4. 0.46 MB   |  11次下载  |  免费
  5. 3ES9038PRO解码芯片的电路原理图介绍
  6. 0.25 MB   |  11次下载  |  5 积分
  7. 4东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
  8. 1.93 MB   |  6次下载  |  免费
  9. 5采用 Impedance Track™ 技术的宽量程电量监测计BQ34Z100-G1数据表
  10. 2.7MB   |  6次下载  |  免费
  11. 616A 输出电流,高可靠、高效率 同步降压转换器PCD3201产品手册
  12. 0.47 MB   |  6次下载  |  免费
  13. 7电池管理系统(BMS)软硬件介绍
  14. 0.23 MB   |  5次下载  |  2 积分
  15. 8TDK电容器产品指南
  16. 11.88 MB   |  5次下载  |  1 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935085次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420048次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191315次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183315次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73786次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费