寒假突发奇想学了一下51单片机,以前一直在用32系列,这一次用的是郭天祥新概念51单片C语言教程,发现里面一处错误,先写下来以免以后忘掉。

正文第34页讲了如何对单片机总线编码,用了一个单片机控制8个LED的例子,语句P1=0xaa;原文理解是首先P1是一个端口集合(即总线),有八个控制的LED,0x表示十六进制数字,aa在十六进制中为10101010,相当于1,3,5,7置1(亮),2,4,6,8为0(灭)。
但是在我使用P1=0x37语句实验时发现,出现了4,7,8常亮的现象,即表示为00010011,但是0x37应为00110111,两组数据在高低位反置,0和1翻转,这就很让人迷惑。下图是0x37在proteus环境下的仿真。

经过一番试验后发现,在书中第34页原理图,第39页文字描述中有明显错误,错误原因为:
(1)、高低位错误,原理图中,D8应为高位,D1应为低位,所以显示应为(00110111=0x37)。
(2)、电平理解错误,二极管应在低电位时点亮,即D8亮时,代表高位为0。
而书本中例子是P1=0xaa;这个例子存在明显缺陷,想表述的意思是10101010,但是高低位错误后,结果一次反转,即为01010101,高低电平错误后二次反转,使得结果歪打正着正确,只要使用一个不对称的例子就会发现其书中例子存在明显错误。

新概念51单片机C语言教程纠错(1)相关推荐

  1. 新概念51单片机C语言教程纠错(2)

    emmmmmmm,过年期间没怎么学51,最近几天被肺炎吓到了家里,才想起来拿起书本看一看,这一次的课本错误在按键部分,仍是郭天祥的<新概念51单片C语言教程>. 课本P82中间的例4.1. ...

  2. 新概念51单片机C语言教程纠错(3)

    这一次错误在课本P140页例6.6.1中,这个例子在proteus仿真中再一次刷新了我的认知. 主要的bug在两个地方,第一仍是单片机上电后数码管的点亮问题,由于这个例题需要数码管不断刷新,所以bug ...

  3. 0.《新概念51单片机C语言教程》(郭天祥)学习笔记

    看到之前的阅读量,有标题党的嫌疑,再接再厉,加油坚持自己的文风,相信会写的越来越好:) 继续更(一个人,一个记事本,一个PDF阅读器,装备全靠打) <新概念51单片机C语言教程>(郭天祥) ...

  4. c语言52单片机液晶屏显示,[手把手教你学51单片机C语言教程]22 LCD12864液晶屏显示.pdf...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 [手把手教你学51单片机C语言教程]22 LCD ...

  5. 发现一本自学单片机很好的书,推荐一下 王云51单片机C语言教程

    结合我学习单片机的感受来说说,刚开始的时候确实很迷茫,学习单片机需要点什么,要怎样学习,能不能学会,总是一知半解,不知怎样才能学会.刚开始是到处找资料,去了校里的图书室,在网上也搜了一大堆.觉得王云的 ...

  6. 51c语言字符,51单片机C语言教程(九) 语句应用

    曾经在BBS上有朋友问过我{}是什么意思?什么作用?在C中是有不少的括号,如{},[],()等,确实会让一些初入门的朋友不解.在VB等一些语言中同一个()号会有不同的作用,它可以用于组合若干条语句形成 ...

  7. 51单片机c语言教程感应灯控制,可手动调节亮度的自感应开关台灯单片机源码+PCB源文件...

    STC单片机,C语言,环境亮度低自动开灯,可通过按键手动调节亮度Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件) 0.png (19.89 KB, 下载次数: ...

  8. 51单片机c语言教程温度计,单片机课程设计-数字温度计.doc

    武 夷 学 院 课程设计报告 课程名称: 单片机及嵌入式技术 设计题目: 数字温度计 学生班级: 13计算机科学与技术(1)班 学生姓名: 陈圣盛.周鹏飞.刘犇 指导教师: 焦金涛 完成日期: 201 ...

  9. 51单片机c语言试题及答案,单片机C语言期末考试题..

    单片机C语言期末考试题..,单片机的c语言应用程序设计,单片机c语言编程,51单片机c语言程序100例,单片机c语言,单片机c语言编程思想,c语言开发单片机,c语言单片机程序,新概念51单片机c语言教 ...

最新文章

  1. linux如何安装VM虚拟机
  2. 涂抹功能_贴片面膜、水洗面膜、涂抹面膜这三款怎么选?
  3. Android 获取外网IP,实测有效
  4. 初学Java,这三个阶段你经历过吗?
  5. jQuery修改数组$.map
  6. poj 2191 Mersenne Composite Numbers
  7. iris数据集 测试集_IRIS数据集的探索性数据分析
  8. arduino编程语言教程_Arduino|编程语言说明
  9. 解决error: Microsoft Visual C++ 14.0 is required 问题
  10. 指针c语言教学,C语言指针的指针
  11. (21)pandas.drop与dropna方法
  12. python爬虫下载付费音乐包有什么用_听歌音乐还要我付费?看我用Python批量下载!...
  13. 捷讯fw300r虚拟服务器口号,迅捷FW300R开启UPnP功能
  14. 去水印小程序源码 独立版
  15. RTX客户端插件编程:修改VC插件dll文件的uuid
  16. 《Qt5:键盘事件》
  17. 计算机无法打开eventlog,电脑系统日志不能查看怎么办
  18. poj 2942 点双连通分量
  19. 华裔女性钱璐璐:用 DNA 开发人工智能神经网络,识别手写数字!
  20. Chrome主页被劫持怎么破

热门文章

  1. Linux内核第六节 20135332武西垚
  2. Android SDK 快速安装方法
  3. PySide 简易教程二-------工欲善其事,必先利其器
  4. Oracle RMAN 维护(二)--恢复目录的维护
  5. Binary classification - 聊聊评价指标的那些事儿【回忆篇】
  6. margin和padding的区别和用法
  7. T-SQL select语句连接两个表
  8. Windows Phone开发(44):推送通知第二集——磁贴通知
  9. 使用sharepoint自带的文本编辑器2
  10. 在Winform的DataGridView的单元格中同时显示文本和图标,以及树形结构的示例