一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中 ,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很 多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的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. 或P3.7送出,不需要事先用指令说明。事实上'不能作为通用I/O口使用'也并不是'不能?而是(使用者)'不会'将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会 这么做,因为这通常这会导致系统当溃(即死机)。
四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为'0000?,所以程序总是从'0000'单元开始执行,也就是说:在系统的ROM中一定要存在'0000'?个单元,并且在'0000'单元中存放的一定是一条指令。
五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的 一?份,特殊的是它存放和取用数据的方式,即所谓的'先进后出,后进先出',并且 堆栈有特 的数据传输指令,即'PUSH'和甈OP',有一个特殊的专为其服务的单元,即堆栈指 针SP 每当执一次 PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原 来值基础上)?动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时?用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这 么?条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元 开始往后?8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成 数?的浑乱。不? 作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问 题。当设置好堆栈区?,并不意味着该区域成为一种专用内存,它还是可以象普通内存 区域一样使用,只是一般情 下编程者不会把它当成?通内存用了。
关键字:单片机 初学者 元器件
引用地址:
单片机初学者不好掌握的概念
推荐阅读最新更新时间:2024-03-16 13:20
意法半导体的STM32微控制器助力美国August开发智能门锁系统
横跨多重电子应用领域、全球领先的半导体供应商、世界领先的物联网(IoT, Internet of Things)芯片供应商意法半导体宣布其STM32微控制器被美国August公司采用,用于设计新一代智能门锁(Smart Lock) 系统。 STM32嵌入式微控制器的高性能和高能效让August智能门锁用户可通过智能手机或电脑直接控制家中门锁,无需实体钥匙。除提供32位的处理性能和安全信号处理功能外,STM32微控制器的实时响应和能效也非常出色。
意法半导体美洲区微控制器市场应用副总裁 Tony Keirouz 表示:“基于STM32微控制器的 August智能门锁是一项前所未有的创新装置,彻底改变了人们原本熟悉的家庭门禁系
[单片机]
PIC单片机定时器初值计算方法及几种周期小结
PIC定时器也用是蛮多的,据说网上还有计算初值的强力软件,不过我还是手动算下吧。总结了下 2013.8.27 PIC单片机定时器初值计算方法 PIC的指令周期是4个震荡周期,在没有使用分频器的情况下,TMR0 会在每个指令周期信号(等于晶体振荡器产生的主时钟周期的 4 倍)到来时自动加 1。在配置了分频器的情况下,TMR0 会在每次收到由分频器将指令周期信号分频一个固定倍数后产生的信号时自动加 1。如果 TMR0在累加计数的过程中,CPU 执行一条往 TMR0 中写入数据的指令,则累加计数器的加 1 操作将被推迟两个指令周期,重新开始计数。这两个指令周期的偏差在用户编写时间精度要求较高的程序时应引起注意,可以通过在每次写入 TM
[单片机]
单片机休眠-复位运行方式提高抗干扰能力
摘要:介绍一种用休眠-复位运行方式提高单片机抗干扰能力的方法;分析其适用范围,给出具体应用电路;结合实例,分析这种运行方式下硬件和软件设计的特点。
关键词:单片机 复位/休眠抗干扰
引 言
随着微电子技术的飞速发展,单片机的性能迅速提高,在运算、逻辑控制、智能化方面显示出非凡的优势,在很大程度上取代了原来由数字逻辑电路、运算放大电路组成的检测、控制电路,应用非常广泛。但由于它存在着死机、程序跑飞等致命缺陷,使它在许多重要场合的应用受到限制。在抗干扰方面的许多技术,比如设软件陷阱、加硬件看门狗电路等,可使这一问题有较好的解决,但仍然存在问题:① 看门狗动作时,意味着已经出现了错误,且运行了一段时间,这在有些场合是不允许的
[应用]
串口通讯程序(单片机接收后再发送到电脑)
下次写一个程序在发送回 电脑 的基础上还要在液晶上显示 #include reg52.h unsigned char temp; void init(); //初始化函数 void main(void) { init(); while(1) { } } void init() { SCON=0x50; TMOD=0x20; TH1=0XF3; TL1=0XF3; EA=1; ES=1; TR1=1; } void usb() interrupt 4 { temp=SBUF; RI=0; SBUF=temp; while(!TI); TI=0; }
[单片机]
基于DSP单片机在电动车控制系统设计
1 引 言 2001年,美国发明家Kamen发明了一种新型的方便快捷的两轮交通工具“Segway”,行走平衡控制技术成为全球机器人控制技术的研究热点。以平行双轮电动车作为移动平台为机器人的研究提供了技术支持,同时由于他的行为与火箭飞行和两足机器人有很大的相似性,因而对其运动平衡控制研究具有重大的理论和实际意义。文献 介绍了平行双轮电动车的控制器电路,以C8051F020单片机为控制核心通过调整车体平台的运行位置,从而使车体平台始终保持平衡状态。然而其并没有考虑载人、载物的因素以及转向和特殊路面、打滑等方面。再者,作为一种交通工具,由于没有考虑初始自平衡的设计,将会给以后的产业化进程提出新的挑战。因此需要寻找控制方法、原理均不同的其
[单片机]
单片机控制12864显示多行汉字
PROTEUS仿真电路图: 仿真实验结果展示: 汉字取模过程(软件下载链接在文末): 第一步:打开液晶仿真排版软件 设定相关参数: 输入汉字: 随便找个位置将图片保存: 第二步:打开液晶汉字模提取软件 设定相关参数: 将刚才保存的图片打开并保存数据: C语言程序代码: #include reg51.h #define LCDLCDDisp_Off 0x3e #define LCDLCDDisp_On 0x3f #define Page_Add 0xb8//页地址 #define LCDCol_Add 0x40//列地址 #define Start_Line 0xC0/
[单片机]
24位高精度A/D芯片ADS1211的应用
摘要: ADS1211是美国Burr-Brown公司生产的高精度模数转换芯片。它具有24位精度并内含自校正∑-Δ转换器、二阶∑-Δ调制器、可编程数字滤波器和微处理器,可以和89C52单片机进行接口以测量三相电流和电压。文中简明扼要地介绍了24位高精度A/D芯片AD1211的结构特点,并以测量三相电压、电流应用为例子,给出了硬件测量电路、软件流程和相关的测量软件程序。 1 ADS1211的结构及特点 ADS1211是美国Burr-Brown公司生产的高精度模数转换(A/D)芯片,它采用24脚双列直插式封装形式,图1是ADS1211的引脚排列,各引脚的功能如表1所列。 表1 ADS1211的引脚功能 引脚号 引脚
[模拟电子]
单片机硬件系统7个设计原则
一个单片机硬件系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。 系统的扩展和配置应遵循以下原则: 1、尽可能选择典型电路,并符合单片机硬件系统常规用法。为硬件系统的标准化、模块化打下良好的基础。 2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。 3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响
[单片机]