单片机面包板入门单片机需要了解哪些知识

学习单片机需要学习哪些知识?_百度知道
学习单片机需要学习哪些知识?
程序也编过挺多的,但是具体的东西就做过一个,再推荐几个具体可以做的实物。谢谢。我要知道的是单片机开发需要用到哪些知识,比如说通信,显示等,也要把这些东西具体化一下请别跟我说学习模电,数电,哥学了,也别跟我说买个板子学习
我有更好的答案
电数电只是基础。当你要开发项目;O的输入输出,难点的要用到时序,总结一下,学好单片机,用到的知识可以很多,也可以不用。我的意思就是,显示等在单片机的书里就有讲解,书里会告诉你怎么编程,学不学不要紧,了解就行,编程一定要过关。古人云。学单片机,只少C语言要过关,有独立编程序的能力,不求甚解就是这样。买一本好的单片机书很重要,连接单片机,数码管、PWM等。说了很多废话,I2C,等等。这些东西,显示几乎都是用到时序的不同表现,简单的只用了I&#47,编成什么样的时序,所谓通信。开发单片机,学单片机,就单纯的看单片机的书籍,用C多编程,什么通信, 学会它们的相关寄存器的使用。这些是编程必须掌握的,可能是各种传感器,液晶,一定有外设,定时器计数器,A/D,SPI,UART,就具体去研究你要开发的那款单片机,i/o引脚的控制寄存器怎么使用,中断
这些都懂。。。实际上是想做点东西,相当于做项目那样,提高整体水平
先做I/O口基本试验 然后做按键的 做完按键试着改成外终端控制的 然后 做定时器计数器 可以用来显示时间 之后用2个片子做一下SPI 看一下USART I2C 都学会了之后做一个项目 我当时做了一个机器人
尽量用到了所有知识
机器人有直流电机 舵机 红外传感器 加速度传感器 液晶屏
采纳率:37%
PWM(直流电机)4. AD-DA转换5.RS232通信(串口通信)6,单片机基本就学通了;这个实验可以配合3和6一起做3;这个实验可以配合2和3一起做你把这级个实验做了.中断
/&#47.矩阵键盘
/&#47,关键是多收少,我推荐你做下面几件事1.做个LED时钟2你看得都差不多了,当然,在这过程中,你会发现很多不足
这些不是最基本的么。。。
是最基本的应用,但是必须得会,也是打基础,同时检测出你的不足,好继续重点学习不足部分
学的很多了
到深圳这面来找个工作吧
单片机工程师 或者助理 你这个条件够了 会有很大的进步 我认为你已经毕业了
单片机不过是一个解决问题的工具而已,既然你都很熟悉了,你必须熟悉一个行业,利用单片机为这个行业解决问题。入行只能靠自己。
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。下面用查表法编一汇编语言子程序,将 R3 中的 BCD 码转换成 ASCII 码: MAIN: MOV A,R3 ;待转换的数送 A MOV DPTR,#TAR ;表首地址送 DPTR MOVC A,@A+DPTR ;查 ASCII 码表 MOV R3,A ;查表结果送 R3 RET TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39...
把汇编语言翻译成机器语言的过程称为汇编,可以用人手工完成,称为手工汇编,也可以用计算机完成,称为机器汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。 机器汇编可分为两个过程: 两次扫描过程。 第一次...
手工汇编的概念:在汇编语言程序设计中,简单的程序可用手工的方式编程,即采用键盘输入的编写方式。首先把汇编语言程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令翻译成机器代码,再进行调试和运行。通常将这种人工查表翻译指令的方...
8051 内部 128B 的数据 RAM 区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下: (1) 00H~1FH 为工作寄存器组区,共分 4 组,每组占用 8 个 RAM 字节单元,每个单元作为一个工作寄存器,每组的 8 个单元分别定义为 8 个工作寄存器...
8051 单片机内部有 21 个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间 80H~FFH 中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中: (1) CPU : ACC 、 B 、 PSW 、...
答:所谓归一化子程序,即通用或标准化操作子程序。 将所有应用操作归纳成几个基本的输入输出子程序,并使这些标准子程序具有规范的入口条件和出口状态。应用时,只要设置相应的入口和出口,调用归一化子程序,就能达到串行输入输出的目的。...
答:二进制数用尾缀 B 表示,十六进制数用尾缀 H 表示,十进制数用尾缀 D 表示,无尾缀标识符时表示十进制数。二进制数和十六进制数则必须加尾缀,否则错。...
答:汇编语言是用助记符替代机器语言中的操作码,用 16 进制数替代二进制代码。特点是比较直观,易于记忆和检查,可读性较好。但是计算机执行时,必须将汇编语言翻译成机器语言,不同的微处理器有不同的汇编语言。...
存储器的输出端是连接在数据总线上的。数据总线相当于一条车流频繁的大马路, 必须在绿灯条件下,车辆才能进入这条大马路,否则要撞车发生交通事故。同理,存储器中的数据是不能随意传送到数据总线上的。例如,若数据总线上的数据是 1 ( 高电平 5V) ,存储器...
存储器由存储体、地址译码器和控制电路组成。 1) 存储体是存储数据信息的载体。由一系列存储单元组成,每个存储单元都有确定的 地址。存储单元通常按字节编址,一个存储单元为一个字节,每个字节能存放一个 8 位二进制数。就像一个大仓库,分成许多房间,大...
手工汇编的概念:在汇编语言程序设计中,简单的程序可用手工的方式编程,即采用键盘输...
单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还...
要让灯持续地闪烁,这就有一定的实用价值了,比如能把它当成汽车上的一个信号灯用了。...技术小站:
& 参加直播现场,与专家互动,学最新知识
& 学习业内最热门知识,还有好礼送
& 看视频,填问卷,拿好礼
& 热点行业全新解读,产品样品免费申请
张飞电子工程师速成全集
10天掌握PCB AD画板
教你高速PCB项目整体设计
如何设计STM32单片机系统?
物联网操作系统从写到用
讲师:华清远见
讲师:林超文
讲师:郑振宇
讲师:李述铜
移入鼠标可放大二维码
关于单片机的一些基本概念 - 单片机学习知识点全攻略(完结篇)
来源:本站整理
作者:电子大兵日 16:19
[导读] 27、关于单片机的一些基本概念 随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比
  27、关于单片机的一些基本概念
  随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合本人的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。
  一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(能有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。
  二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的──数字,或者说都是一串&0&和&1&组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不能由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元能由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不一样的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
  1&地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
  2&方式字或控制字(如MOV TMOD,#3),3即是控制字。
  3&常数(如MOV TH0,#10H)10H即定时常数。
  4&实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。
  理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。
  三、P0口、P2口和P3的第二功能使用办法 开始学习时一般对P0口、P2口和P3口的第二功能使用办法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有对应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上&不能作为通用I/O口使用&也并不是&不能&而是(使用者)&不会&将其作为通用I/O口使用。你完全能在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这常常这会导致系统的崩溃(即死机)。
  四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为&0000&,所以程序总是从&0000&单元开始执行,也就是说:在系统的ROM中一定要存在&0000&这个单元,并且在&0000&单元中存放的一定是一条指令。
  五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的&先进后出,后进先出&,并且堆栈有特殊的数据传输指令,即&PUSH&和&POP&,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值能用指令加以改变,所以只要在程序开始阶段更改了SP的值,就能把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。不一样作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是能象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
  六、单片机的开发过程 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就能写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:
  ORG 0000H
  LJMP START
  ORG 040H
  START:
  MOV SP,#5FH ;设堆栈
  LOOP:
  LJMP LOOP ;循环
  END ;结束
  :40BB
  02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43
  表1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也能由HEXBIN一类的程序转换得到。学过手工汇编者应当不难找出表3与表1的一一对应关系,值得注意的是从02 00 40后开始的一长串&FF&,直到75 81,这是由于伪指令:ORG 040H造成的结果。
  七、仿真、仿真机 仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应用电路部份供给各种信号、数据,进行调试的办法。这种仿真能通过单步运行、连续运行等多种办法来运行程序,并能观察到单片机内部的变化,便于改正程序中的错误。所谓ROM仿真,就是用仿真机代替目标机的ROM,目标机的CPU工作时,从仿真机中读取程序,并执行。这种仿真其实就是将仿真机当成一片EPROM,只是省去了擦片、写片的麻烦,并没有多少调试手段可言。常常这是二种不一样类型的仿真机,也就是说,一台仿真机不能既做CPU仿真,又做ROM仿真。可能的情况下,当然以CPU仿真好。以上是本人对单片机的理解,如有不对之处,请诸位大侠多多指点。发表您的高论。
电子发烧友网相关文章
电子发烧友网相关下载
单片机技术相关文章
单片机技术相关下载
单片机相关文章
单片机相关下载
技术交流、积极发言! 发表评请遵守相关规定。
随着物联网技术的突飞猛进,生活中越来越多的家庭设备将会联上网络,变得“智慧”起来,智慧家庭的概念成了这几年媒体、企业、用户关注的焦点,而...
研华IoT嵌入式平台事业群总经理许杰弘表示,工业物联网 2009年就开始提出,至今缺乏临门一脚,现在是打开大门的时候了。研华WISE-PaaS物智联软件平台和...
创新实用技术专题
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-单片机基础知识
单片机基础知识
&&&&&&& 所谓单片机,其实就是一个集成了微处理器、存储器、各种输入输出接口的芯片。学术上管它叫做“单片微型计算机”。要实现单片机的各种功能,就需要我们动手编写程序来控制芯片各个引脚在不同的时间输出不同的电平(高电平或者低电平)进而控制单片机的外围电路实现单片机系统的各种功能。我们都学过C语言,要是让我说,大学里最难过的不是
&&&&&&& 所谓,其实就是一个集成了微处理器、存储器、各种输入输出接口的芯片。学术上管它叫做“单片微型计算机”。要实现的各种功能,就需要我们动手编写程序来控制芯片各个引脚在不同的时间输出不同的电平(高电平或者低电平)进而控制的外围电路实现系统的各种功能。我们都学过C语言,要是让我说,大学里最难过的不是英语四、六级,而是计算机二级C语言。学习之初,学哥就把汇编语言给否定了,学习过程中听到的最多的忠告也是“千万要学好C语言”,如果初学者重新温习一遍谭浩强的《C程序设计》也应该够用了。世界上的东西就是这么神奇,没想到也有那么多的品牌、型号,第一眼看教材的时候我甚至都有了想骂人的冲动。现在想想,那些冲动之所以叫做冲动,确实很有道理!种类再多又有什么关系呢,只管大胆的接受它好了,万事万物皆有规律,仅此而已。目前,国内外使用最多的就是51,说白了,就是51内核或者51内核扩展出来的。不管什么AT(Atmel)、Philips(飞利浦)、Winbond(华邦)、Intel(英特尔)、Siemens(西门子)还是STC,也不用管它是不是51内核,照单全收,大同小异罢了,踏踏实实学会了一种,其他的,神马都是浮云!对于芯片型号我一向不敏感,就当复习一下好了。知道芯片上的字符什么意思吗?STC 89C51RC 40C-PDIP .00DSTC(前缀)表示芯片是STC公司生产产品。(其他类型的前缀还有AT;i;Winbond;SST等)8表示芯片是8051内核芯片。9表示芯片内部含有Flash E^2PROM存储器。(80C51中0表示芯片内部含有Mask ROM(掩模ROM)存储器;87C51表示芯片内部含有EPROM存储器(紫外线可擦除ROM))C表示该芯片是CMOS产品。(89LV52和89LE58中LV和LE均表示该芯片是低电压产品(通常为3.3V电压供电);89S52中S表示该芯片中含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能)5是固定不变的数字。1表示芯片内部程序存储空间的大小。1为4KB,2为8KB,3为12KB,即该数值乘以4就是该芯片内部的程序存储空间的大小。(一般,程序存储空间越大,芯片价格越高,选择芯片时,要根据要实现的功能以及所需代码的大小选择合适的芯片)RC是STC内部RAM(随机存储器)为512B,(若为RD+则表示内部RAM为1280B)40表示芯片外部晶振最高可接入40MHZ。(AT数值一般为24,即其外部晶振最高为24MHZ)C表示产品级别,表示芯片使用温度范围。(C(商业用产品,温度范围0摄氏度到70摄氏度);I(工业用产品,温度范围负40摄氏度到85摄氏度);A(汽车用产品,温度范围负40摄氏度到125摄氏度);M(军用产品,温度范围负55摄氏度到150摄氏度))PDIP表示产品封装型号。(DIP双列直插式封装;PLCC带引线的塑料芯片封装;QFP塑料方型扁平式封装和PFP塑料扁平组件式封装;PGA插针网格阵列封装;BGA球栅阵列封装)0707表示芯片生产于07年第7周。CU8138.00D表示芯片制造工艺或者处理工艺。对于芯片的封装主要有DIP,PLCC,QFP,PFP,PGA,BGA等……的封装不同,外形也不相同,其引脚数也不同,常见的51以40引脚居多,也有20,28,32甚至44引脚的。并不是只有40引脚的才是。就40引脚的PDIP引脚封装的而言,可按功能分成电源和时钟引脚,编程控制引脚,I/O口控制引脚。另外需要特别注意,的I/O口当中,P1,P2,P3内部都有上拉电阻,而对于P0口内部则不带上拉电阻,所以,一般开发板上面都会在P0口连接10K的上拉电阻。在这里上拉电阻的作用就是增加P0口的驱动能力。是一种集成电路芯片,对于数字电路而言只有高,低两种电平。输出与输入为TTL电平,其高电平为+5V,低电平为0V。而计算机的串口是RS-232C电平,其高电平为-12V,低电平为+12V。另外,对于数字电路的学习,还要逐渐掌握数制转换和逻辑关系。比如二进制,八进制,十六进制的表示方法,以及其变换方法。还有与,或,非,同或,异或等逻辑门的关系。最小系统的必备条件:1.电源,2.晶振,3.复位电路。
&&&&&&& 所谓,其实就是一个集成了微处理器、存储器、各种输入输出接口的芯片。学术上管它叫做“单片微型计算机”。要实现的各种功能,就需要我们动手编写程序来控制芯片各个引脚在不同的时间输出不同的电平(高电平或者低电平)进而控制的外围电路实现系统的各种功能。我们都学过C语言,要是让我说,大学里最难过的不是英语四、六级,而是计算机二级C语言。学习之初,学哥就把汇编语言给否定了,学习过程中听到的最多的忠告也是“千万要学好C语言”,如果初学者重新温习一遍谭浩强的《C程序设计》也应该够用了。世界上的东西就是这么神奇,没想到也有那么多的品牌、型号,第一眼看教材的时候我甚至都有了想骂人的冲动。现在想想,那些冲动之所以叫做冲动,确实很有道理!种类再多又有什么关系呢,只管大胆的接受它好了,万事万物皆有规律,仅此而已。目前,国内外使用最多的就是51,说白了,就是51内核或者51内核扩展出来的。不管什么AT(Atmel)、Philips(飞利浦)、Winbond(华邦)、Intel(英特尔)、Siemens(西门子)还是STC,也不用管它是不是51内核,照单全收,大同小异罢了,踏踏实实学会了一种,其他的,神马都是浮云!对于芯片型号我一向不敏感,就当复习一下好了。知道芯片上的字符什么意思吗?STC 89C51RC 40C-PDIP .00DSTC(前缀)表示芯片是STC公司生产产品。(其他类型的前缀还有AT;i;Winbond;SST等)8表示芯片是8051内核芯片。9表示芯片内部含有Flash E^2PROM存储器。(80C51中0表示芯片内部含有Mask ROM(掩模ROM)存储器;87C51表示芯片内部含有EPROM存储器(紫外线可擦除ROM))C表示该芯片是CMOS产品。(89LV52和89LE58中LV和LE均表示该芯片是低电压产品(通常为3.3V电压供电);89S52中S表示该芯片中含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能)5是固定不变的数字。1表示芯片内部程序存储空间的大小。1为4KB,2为8KB,3为12KB,即该数值乘以4就是该芯片内部的程序存储空间的大小。(一般,程序存储空间越大,芯片价格越高,选择芯片时,要根据要实现的功能以及所需代码的大小选择合适的芯片)RC是STC内部RAM(随机存储器)为512B,(若为RD+则表示内部RAM为1280B)40表示芯片外部晶振最高可接入40MHZ。(AT数值一般为24,即其外部晶振最高为24MHZ)C表示产品级别,表示芯片使用温度范围。(C(商业用产品,温度范围0摄氏度到70摄氏度);I(工业用产品,温度范围负40摄氏度到85摄氏度);A(汽车用产品,温度范围负40摄氏度到125摄氏度);M(军用产品,温度范围负55摄氏度到150摄氏度))PDIP表示产品封装型号。(DIP双列直插式封装;PLCC带引线的塑料芯片封装;QFP塑料方型扁平式封装和PFP塑料扁平组件式封装;PGA插针网格阵列封装;BGA球栅阵列封装)0707表示芯片生产于07年第7周。CU8138.00D表示芯片制造工艺或者处理工艺。对于芯片的封装主要有DIP,PLCC,QFP,PFP,PGA,BGA等……的封装不同,外形也不相同,其引脚数也不同,常见的51以40引脚居多,也有20,28,32甚至44引脚的。并不是只有40引脚的才是。就40引脚的PDIP引脚封装的而言,可按功能分成电源和时钟引脚,编程控制引脚,I/O口控制引脚。另外需要特别注意,的I/O口当中,P1,P2,P3内部都有上拉电阻,而对于P0口内部则不带上拉电阻,所以,一般开发板上面都会在P0口连接10K的上拉电阻。在这里上拉电阻的作用就是增加P0口的驱动能力。是一种集成电路芯片,对于数字电路而言只有高,低两种电平。输出与输入为TTL电平,其高电平为+5V,低电平为0V。而计算机的串口是RS-232C电平,其高电平为-12V,低电平为+12V。另外,对于数字电路的学习,还要逐渐掌握数制转换和逻辑关系。比如二进制,八进制,十六进制的表示方法,以及其变换方法。还有与,或,非,同或,异或等逻辑门的关系。最小系统的必备条件:1.电源,2.晶振,3.复位电路。
上一篇:已经是第一篇
型号/产品名
苏州德盈新店子& &   2:单片机引脚介绍
& &   3:单片机结构
& &   4:第一个单片机小程序
& &   5:单片机延时程序分析
& &   6:单片机并行口结构
& &   7:单片机的特殊功能寄存器
& &   8:单片机寻址方式与指令系统
& &   9:单片机数据传递类指令
& &   10:单片机数据传送类指令
& &   11:单片机算术运算指令
& &   12:单片机逻辑运算类指令
& &   13:单片机逻辑与或异或指令祥解
& &   14:单片机条件转移指令
& & & & & 1:单片机简叙
& &   什么是单片机 一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如,等。
& &   单片机是一种控制芯片,一个微型的计算机,而加上,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。
& &   2:单片机引脚介绍
& &   单片机的40个引脚大致可分为4类:、时钟、控制和I/O引脚。
& &   ⒈ 电源:
& &   ⑴ V - 芯片电源,接+5V;
& &   ⑵ VSS - 接地端;
& &   ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡输入端和输出端。
& &   ⒊ 控制线:控制线共有4根,
& &   ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
& &   ① ALE功能:用来锁存P0口送出的低8位地址
& &   ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
& &   ⑵ PSEN:外ROM读选通信号。
& &   ⑶ RST/VPD:复位/备用电源。
& &   ① RST(Reset)功能:复位信号输入端。
& &   ② VPD功能:在Vcc掉电情况下,接备用电源。
& &   ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
& &   ① EA功能:内外ROM选择端。
& &   ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋ I/O线
& &   80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
& &   拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
& &   1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
& &   2、 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,,连上就能了,按图1接上即可。
& &   3、 复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
& &   4、 EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。
& &   我们的第一个任务是要用单片机点亮一只,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流)
& &   按照这个图的接法,当1脚是高时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。
& &   名字有了,我们又怎样让它变&高&或变&低&呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就能了。
& &   现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西&&数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具&编程器&。如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的89s51单片机居然在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的at89s51编程器制作教程
& &   我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见图2,
& &   写入&&好,拿下片子,把片子插入做好的电路板,接通电源&&什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H),也就是CLR P1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。因为我们写入的()就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。
& &   3:单片机存储器结构
& &   单片机内部存储结构分析
& &   我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为,刚才我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。
& &   数的本质和物理现象:我们知道,计算机能进行数学运算,这可令我们非常的难以理解,计算机吗,我们虽不了解它的组成,但它总只是一些电子元器件,怎么能进行数学运算呢?我们做数学题如37+45是这样做的,先在纸上写37,然后在下面写45,然后大脑运算,最后写出结果,运算的原材料:37、45和结果:82都是写在纸上的,计算机中又是放在什么地方呢?为了解决这个问题,先让我们做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们能用&0&和&1&来代替这两种状态,规定亮为&1&,不亮为&0&。现在放上两盏灯,一共有几种状态呢?我们列表来看一下:
& &   请大家自已写上3盏灯的情况000 001 010 011 100 101 110 111
& &   我们来看,这个000,001,101 不就是我们学过的的数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一按的次序排更好后,灯的亮和灭就代表了数字了。让我们再抽象一步,灯为什么会亮呢?看电路1,是因为输出电路输出高电平,给灯通了电。因此,灯亮和灭就能用电路的输出是高电平还是低电平来替代了。这样,数字就和电平的高、低联系上了。(请想一下,我们还看到过什么样的类似的例程呢?(海军之)灯语、旗语,电报,甚至红、绿灯)
& &   什么是位:
& &   通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,能代表两种状态:0和1。实际上这就是一个二进制位,因此我们就把一根线称之为一&位&,用BIT表示。
& &   什么是字节:
& &   一根线能表于0和1,两根线能表达00,01,10,11四种状态,也就是能表于0到3,而三根能表达0-7,计算机中常常用8根线放在一起,同时计数,就能表过到0-255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。不要问我为什么是8根而不是其它数,因为我也不知道。(计算机世界是一本人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)
& &   存储器的工作原理:
& &   1、存储器构造
& &   存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。
& & 让我们看图2。单片机里面都有这样的存储器,这是一个存储器的示意图:一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放&电荷&的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你能把电线想象成水管,小格子里的电荷就象是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个&单元&。
& & 有了这么一个构造,我们就能开始存放数据了,想要放进一个数据12,也就是,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了(看图3)。可是问题出来了,看图2,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,看图2,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就能自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不一样单元的控制线,就能向各单元写入不一样的数据了,同样,如果要某个单元中取数据,也只要打开对应的控制开关就行了。
& & 2、存储器译码
& & 那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到的外面不就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。我们有一种办法称这为译码,简单介绍一下:一根线能代表2种状态,2根线能代表4种状态,3根线能代表几种,256种状态又需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就能代表了。
& &   3、存储器的选片及总线的概念
& &   至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图4所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的管脚进来后,不直接接到各单元去,中间再加一组开关(参考图4 )就行了。平时我们让开关关闭着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。注意图4,读和写信号同时还接入到另一个存储器,但是由于片选端不一样,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会&误会&而开门,造成冲突。那么会不一样时选中两片芯片呢?只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。
&&&&&往下看有更多相关资料
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
匿名 发表于 www.jmqzyy.cn
www.jmqzyy.cn
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)

我要回帖

更多关于 单片机编程入门 的文章

 

随机推荐