C/51单片机
1. 串口也可以有多根线的,但是各线之间没有协调同步发送,而是各自是独自发送的。并口是同步发送,同步一次8位同时成功同时失败,类比事务。
2. ASCII码的前32位是通讯预留的编码即使现在也用途广泛,但是在高级语言里,因为不直接和二进制打交道往往都是从新定义了一个新的通讯方式,而在单片机领域则是用ascii码方便大家通讯。
3. 单片机有很多的引脚,同样笔记本的主板也有很多的插槽,这点和笔记本的主板是相同的。
4. ===================51单片机部分=====================
5. P3还具有第二个功能,用于特殊信号输入输出和控制信号。所以那些键盘输入,红外线信号等的信息应该都是从P3口输入的。
6. P0是使用最广泛的外部接口可以接外部存储器和外部设备(外部电路)
7. P1端口是单片机中唯一仅有的单功能I/O端口,并且没有特定的专用功能,成为通用静态口。与之相对P3是有很多的专用功能,需要指定的寄存器去实现功能。
8. P2是动态地址端口,P1是静态地址端口。
9. 单片机上显示文字都是根据字模来的,同java中总是把内容事先存放在一个数组里,然后根据数组的下标去取值是一样的。
10. 操作系统本身就是一个管理软硬件的程序,因为操作系统是面向硬件的,所以操作系统最多的操作就是二进制,16进制特性的显示,所以在写操作系统和对单片机开发程序的时候都是一样的,都要考虑硬件的结构,硬件原始的信号状态,操作系统操作的状态仍然是二进制的标志数据。但是当面形软件的时候,这些二进制的方式又被包装成了一些新的数据结构,只为了让软件的开发更贴近问题模型而不是更贴近硬件的状态。电脑有操作系统,电脑的各个I/O和CPU在物理上都已经是联通的了,他们的起作用需要软件的支持,如果没有软件的支持就不能统一这些物理连接的线路让他们发挥功能。所以操作系统实现逻辑上的管理,所有的外部设备都是接入到CPU接入到单片机中的,只有接入到单片机中才能受编程逻辑的控制,才能实现通过程序管理所以的IO资源。我们学习单片机就是学习通过编程管理所有的资源,管理资源管理资源,自然存在谁来管理的问题,这个谁就是CPU就是可以在CPU里面放置的程序。高级程序只是突出强调资源直接的逻辑关系,并不关心逻辑的初始值具体是什么,但是程序模拟的时候却是必须关系的,所以操作系统的作用就是把这个具体的关系添加到逻辑关系中。如果说操作系统和单片机编程编写的内容包括逻辑和初始值,那么高级程序就是指关心逻辑了。这就是完成了抽象,不必关系硬件具体是高电平还是低电平了。这种方式使编程脱离了具体值的束缚,可以在空中飞了,但是最终还是要着陆的这就是需要操作系统来让飞机着地了。计算机的发展过程再次证明聪明的人有时候不只是他注意到什么,有时候还是他忽略了什么。
11. 最初的计算机为什么提供操作系统那,就是因为需要经常性的做相似的工作(面形应用了),我们从这些重复的工作中提炼出了接口,抽象出了新的东西,这就是操作系统。
12. 很有兴趣了解操作系统是怎么从硬件抽象的。
13. 多进程是操作系统的功能是软件实现的并不是硬件直接实现的,多进程是通过抢占时间片,阻塞没有抢占到时间片的程序来实现的。进程间通信,进程间的资源抢占的管理规则也是因为操作系统实现上述软件功能导致的,所以也是通过软件来管理和实现的也是操作系统的功能。
14. 内存管理是通过CPU寻址的,单片机的选址范围为【0x00-????】而操作系统也是如此寻址的,但是电脑的寻址设备很多,有高速缓存,外接设备。文件系统就是管理存储器上文件的内容的方式。
15. 单片机对内存的管理是通过电流实现的,为了减少电路的复杂程度,很多地方都是使用了复用技术,操作系统把这些复用技术用编程语言分别表示出来,由系统本身去管理负责的复用关系。开发者只需要根据需要发送命令就可以了不必关注复用的方式。
16. 多线程同步问题是链表结构造成的,多线程的同步也是链表结构造成的。
17. 系统中锁只有能锁住所有线程的锁才有意义,所以锁本身就是全局变量或者全局静态变量。变量要么属于单个实例,要么属于全部实例,而锁就是其中的一类。
18. 硬件可以获得由规律的信息,但是这个信息却不一定能被人类理解,为了根据需要把硬件的规律信息转换为人类可以理解的必须使用编程。人类的理解和硬件的规律是一样的,但是起点不同,所以看到的东西理解的不同。
19. 驱动程序是写给也是写给CPU看的,对于控制硬件而言计算机和单片机没有区别,都是输出的二进制控制位,单片机一般是接到命令后1s就能给硬件发送命令,但是计算机需要3s因为计算机的CPU需要做的事情更多,他需要判断更多的业务逻辑之后才能确定发给硬件的二进制控制位。无论是驱动程序还是struts他们都是用到了分发函数,而分发函数本质上就是switch-case-结构。驱动程序本身也是在写这个switch-case语句。只是switch-case是比较偏向底层,而分发函数更加面向对象面向模块。Windows开发中分发函数随处可见。
20. 单片机开发之所以程序会从main函数开始执行就是因为汇编语言告诉CPU的,同样的在windows的开发中,C语言已经告诉系统所有新开发的程序的入口函数是WinMain。
21. Windows里经常出现的注册就是在switch-case语句中add一个case情况,方便等下个命令到来时候,提供这个资源。Windows的窗口资源就是调用了界面显示驱动。
22.
C/51单片机的更多相关文章
- Windows 通用应用尝试开发 “51单片机汇编”总结
一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几 ...
- 51单片机中断interrupt……using……
51单片机中断细节的一些问题. interrupt0:外部中断0interrupt1:定时器中断0interrupt2:外部中断interrupt3:定时器中断1interrupt4:串口 using ...
- Windows 通用应用尝试开发 “51单片机汇编”第二次更新总结
一.前言 昨天更新了10天前上架到windows8.1平台和windowsphone平台的通用应用“51单片机汇编”,总要是添加了动态磁贴以及ListView的Groupstyle应用.下面主要主要复 ...
- [新概念51单片机C语言教程·郭天祥] 1、 基础知识必备
目录: 单片机的大致介绍 1-1.通俗定义 1-2.51系列产品 1-3.标号意思 1-4.引脚介绍 1-5.用C语言开 ...
- [51单片机] HC-SR04超声波测距仪 基础代码
>_<:超声波测距仪模块: >_<:51单片机,11.0592MHz晶振,将采集数据发送到串口的基础例子: >_<:代码: /******************* ...
- 51单片机的堆栈指针(SP)
堆栈指针(SP,Stack Pointer),专门用于指出堆栈顶部数据的地址. 那么51单片机的堆栈在什么地方呢?由于单片机中存放数据的区域有限,我们不能够专门分配一块地方做堆栈,所以就在内存(RAM ...
- 关于51单片机P0口的结构及上拉问题
1.P0作为地址数据总线时,V1和V2是一起工作的,构成推挽结构.高电平时,V1打开,V2截止:低电平时,V1截止,V2打开.这种情况下不用外接上拉电阻.而且,当V1打开,V2截止,输出高电平的时候, ...
- 51单片机C语言学习笔记3: 存储器结构
MCS-51单片机在物理结构上有四个存储空间: 1.片内程序存储器2.片外程序存储器3.片内数据存储器4.片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1.片内外统一编 ...
- 51单片机C语言学习笔记6:51单片机C语言头文件及其使用
很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的 sfr P1 ...
- 51单片机 Keil C 延时程序的简单研究
应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很 ...
随机推荐
- layout焊盘过孔大小的设计标准
PCB设计前准备 1.准确无误的原理图.包括完整的原理图文件和网表,带有元件编码的正式的BOM.原理图中所有器件的PCB封装(对于封装库中没有的元件,硬件工程师应提供datasheet或者实物,并指定 ...
- 在ddms 里面查看data/data里面的东西 不显示data/data
今天我要查看data/anr/tarces.txt,没办法,我只有root手机. 可是root之后,我发现还是不能查看或者导出traces.txt. 后来我才知道,root之后,文件夹权限没有变,所以 ...
- 4.bootstrap的form表单的form-group和form-control的区别与联系
1. form-group一般用于div form-control一般用于置于div中的标签元素,为了让控件在各种表单风格中样式不出错,需要添加类名“form-control”,如: <form ...
- erlang中的原子(atom)内部实现[转]
转自: http://www.kongqingquan.com/archives/208#more-208 Erlang中的atom由通用hash表实现,虚拟机中atom最终的用数值表示,对应表中的下 ...
- 【HTML&CSS】 第二章:标准模式下的页面与怪异模式下的页面区别
盒模型 前面提到,盒模型(box mode)是浏览器 Quirks Mode 和 Standards Mode 的主要区别. 描述 对于“盒模型”一词并没有明确的文档定义,它是开发人员描述 CSS 中 ...
- 剑指Offer - 九度1385 - 重建二叉树
剑指Offer - 九度1385 - 重建二叉树2013-11-23 23:53 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的 ...
- Windows下如何解决git bash的默认home目录路径问题
转自:http://blog.csdn.net/lucien_zhou/article/details/62069246 为了解决这个问题,我在网上找了好久,尝试过按网上其他人所述,修改 git 安装 ...
- 孤荷凌寒自学python第四十三天python 的线程同步之Queue对象
孤荷凌寒自学python第四十三天python的线程同步之Queue对象 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Queue对象是直接操作队列池的对象,队列中可以存放多种对象,当然也 ...
- 立体匹配之Census Transform
1.立体匹配算法主要可分为两大类:基于局部约束和基于全局约束的立体匹配算法. (一)基于全局约束的立体匹配算法:在本质上属于优化算法,它是将立体匹配问题转化为寻找全局能量函数的最优化问题,其代表算法主 ...
- HDU 4671 Backup Plan 构造
负载是否平衡只与前两列有关,剩下的只要与前两列不重复就随便放. 第一列我们按1-n这样循环放,第二列每次找个数最少的那个服务器放. #include <cstdio> #include & ...