单片机cpu初始化的方法解析
- 格式:doc
- 大小:21.50 KB
- 文档页数:5
g代码单片机解析单片机是一种集成电路,可用于控制各种电子设备和系统。
它具有小巧、低功耗、高性能等特点,广泛应用于家电、汽车、通信等领域。
下面我将以人类的视角,为大家介绍一下单片机的解析过程。
我们需要了解单片机的基本结构。
单片机主要由中央处理器(CPU)、存储器、输入输出(IO)口以及各种外设组成。
中央处理器是单片机的核心,负责执行指令和控制系统的运行。
存储器用于存储程序和数据,其中程序存储器用于存放程序代码,数据存储器用于存放输入、输出和中间结果等数据。
输入输出口用于与外部设备进行数据交互,比如接收传感器信号、控制电机运动等。
在单片机解析过程中,我们首先需要编写程序代码。
通过编程语言(如C语言)编写程序代码,然后将代码烧录到单片机的存储器中。
代码中包含了系统的逻辑和功能,通过执行代码,单片机可以实现各种任务和功能。
接下来,我们需要对单片机进行初始化设置。
初始化设置包括设置时钟频率、IO口的输入输出模式、中断优先级等。
这些设置会影响单片机的运行速度和功能。
通过合理设置这些参数,可以使单片机能够更好地适应实际应用需求。
然后,单片机开始执行程序。
程序代码中的指令会被逐条执行,从而实现相应的功能。
在执行过程中,单片机会不断读取输入数据,处理数据,并将结果输出给外部设备。
这样,单片机就可以实现各种控制和计算任务。
在单片机解析过程中,我们还可以通过调试工具对单片机进行调试和监控。
调试工具可以实时查看单片机的运行状态、寄存器的值以及程序的执行过程,帮助我们分析和解决问题。
总的来说,单片机的解析过程包括编写程序、初始化设置、程序执行和调试等步骤。
通过合理地设计和编写程序,我们可以充分发挥单片机的功能,实现各种应用需求。
单片机的解析过程需要一定的技术和经验,但只要我们认真学习和实践,就可以掌握这个技能,为实际应用提供有效的解决方案。
80C51 单片机外部中断初始化的步骤如下:
1. 设置中断优先级:通过设置特殊功能寄存器IP 来确定中断的优先级。
可以设置不同的优先级以确定中断的响应顺序。
2. 允许中断:通过设置特殊功能寄存器IE 来允许相应的中断源。
将对应中断源的使能位设置为1。
3. 设置触发方式:通过设置特殊功能寄存器TCON 来选择外部中断的触发方式。
可以选择低电平触发、下降沿触发或上升沿触发。
4. 配置中断向量:中断向量是指中断服务程序的入口地址。
可以通过设置特殊功能寄存器Interrupt Vector Table(中断向量表)来指定中断服务程序的入口地址。
这些步骤是80C51 单片机外部中断初始化的一般流程。
具体的实现方式可能会因不同的单片机型号和编译器而有所差异。
在实际编程中,还需要根据具体的需求和硬件连接来进行相应的配置。
单片机原理及接口技术pdf单片机(Microcontroller Unit, MCU)是一种集成了中央处理器(CPU)、内存和输入输出接口等功能的微型计算机,它被广泛应用于嵌入式系统中。
在本文中,我们将介绍单片机的基本原理及接口技术。
一、单片机的基本原理单片机的基本原理是通过中央处理器(CPU)来执行程序代码,它包含了指令寄存器和程序计数器等关键部件。
通过程序计数器,CPU能够自动读取存储器中的指令,并根据指令中的操作码进行相应的操作。
同时,单片机还包含了一些寄存器,用于存放数据和临时结果。
单片机的工作过程可以大致分为以下几个步骤:1.初始化:在程序开始执行之前,单片机需要进行一些初始化操作,例如设置时钟源、端口方向等。
2.读取指令:单片机从存储器中读取一条指令,并将其存入指令寄存器中。
3.解码指令:CPU解析指令包含的操作码,并根据操作码执行相应的操作。
4.执行指令:根据指令中的操作码,CPU执行相应的操作,例如运算、存储数据等。
5.更新程序计数器:在执行一条指令后,CPU将程序计数器的值递增,以指向下一条指令。
二、单片机的接口技术单片机的接口技术是指单片机与外部设备之间的连接和通信方式。
常见的单片机接口技术包括串口、并口、I2C、SPI等。
1. 串口(Serial Port Interface):串口是单片机与其他设备之间进行数据传输的一种常见接口技术。
串口通信包括异步串口和同步串口两种方式。
异步串口通信适用于短距离和低速度传输,同步串口通信适用于长距离和高速度传输。
2. 并口(Parallel Port Interface):并口是一种广泛应用的单片机接口技术,它能够同时传输多位数据。
并口通常通过其中一种并口控制器与其他设备相连,该控制器负责将单片机内部的并行信号转换为相应的串行信号。
3. I2C(Inter-Integrated Circuit):I2C是一种双线制的串行总线接口,用于连接单片机与其他设备。
单片机的初始化作用是什么单片机(Microcontroller)是一种集成了微处理器核心、存储器和各种输入输出接口的微型计算机系统。
它广泛应用于各种电子设备中,如家用电器、汽车电子、医疗设备等。
在单片机的使用过程中,初始化是非常重要的一步,它的作用是为单片机系统的正常运行做好准备,包括设置寄存器、初始化外设等。
单片机的初始化作用主要有以下几个方面:1. 设置寄存器。
在单片机系统中,有许多寄存器需要在初始化时进行设置,包括时钟寄存器、控制寄存器、中断寄存器等。
这些寄存器的设置对单片机的整体性能和功能起着至关重要的作用。
通过初始化设置这些寄存器,可以确保单片机能够按照预期的方式运行。
2. 初始化外设。
单片机通常会连接各种外设,如LED、LCD、键盘、传感器等。
在初始化过程中,需要对这些外设进行初始化设置,以确保它们能够正常工作。
例如,对于LED显示屏,需要设置其驱动方式、亮度等参数;对于传感器,需要进行校准和参数设置。
只有在初始化时对这些外设进行正确的设置,才能确保它们在后续的使用中正常运行。
3. 初始化存储器。
单片机通常会搭载一定的存储器,包括闪存、RAM等。
在初始化过程中,需要对这些存储器进行初始化设置,包括清零、写入初始数值等。
这样可以确保在后续的程序运行中,存储器中的数据是正确的,不会出现意外的错误。
4. 确保系统稳定。
在单片机初始化过程中,还需要进行一些系统级的设置,以确保整个系统的稳定性。
例如,设置时钟源、复位电路、电源管理等。
这些设置可以确保单片机在各种环境下都能够稳定运行,不受外部干扰的影响。
总的来说,单片机的初始化是确保整个系统正常运行的重要一步。
通过正确的初始化设置,可以确保单片机在后续的使用中能够稳定、可靠地工作。
因此,在单片机的开发过程中,初始化工作必须被重视,并且需要根据具体的应用需求进行合理的设置。
单片机初始化过程-概述说明以及解释1.引言1.1 概述单片机是一种集成了中央处理器、存储器和输入/输出设备的微型计算机系统。
在单片机的使用过程中,初始化是非常重要的一个步骤。
它涉及到对单片机硬件及软件的一系列设置和配置,确保单片机能够正常工作。
本文将从单片机初始化的概念、步骤和重要性进行探讨,并对未来单片机初始化的发展趋势和展望进行分析。
通过对单片机初始化过程的深入理解,可以更好地在实际应用中利用单片机的功能,提高系统性能和稳定性。
文章结构部分的内容如下:1.2 文章结构本文主要分为三个部分,即引言、正文和结论。
引言部分将介绍单片机初始化过程的概述,文章结构和目的,以便引起读者的兴趣和理解文章的主题。
正文部分将详细介绍单片机初始化的概念、步骤和重要性,帮助读者全面了解单片机初始化的过程和作用。
结论部分将总结单片机初始化的关键点,探讨单片机初始化的发展趋势和未来展望,为读者提供一个对单片机初始化过程的全面思考和理解。
通过这样的文章结构,读者可以系统地了解单片机初始化的全貌,深入思考单片机初始化的重要性和未来发展趋势,从而更好地应用和理解单片机初始化过程。
1.3 目的本文旨在深入探讨单片机初始化过程,介绍单片机初始化的概念、步骤以及其重要性。
通过对单片机初始化的详细解析,读者可以更好地理解单片机初始化的关键点,认识到单片机初始化在嵌入式系统设计中的重要作用。
同时,本文也将展望未来单片机初始化的发展趋势,为读者提供对未来单片机初始化技术的深入认识和思考。
通过本文的阅读,读者可以获取关于单片机初始化的全面知识,以便在实际应用中更加灵活和有效地进行单片机初始化工作。
2.正文2.1 单片机初始化的概念单片机初始化是指在单片机系统通电或复位时,系统从初始状态切换到可以正常工作状态的过程。
在单片机初始化过程中,系统需要进行一系列的设置和配置,以确保单片机可以正确地运行用户程序。
这个过程包括对各种硬件模块和外围设备进行初始化配置,如串行通信口、定时器、中断控制器等。
单片机的工作过程以及原理单片机是一种专用的小型计算机芯片,它集成了处理器核心、存储器和各种外设接口等组成部分。
它广泛应用于嵌入式系统中,是现代电子产品中的重要组成部分。
本文将详细介绍单片机的工作过程和原理。
一、单片机的工作过程:1.初始化阶段:初始化是单片机启动的第一个阶段,其目的是准备单片机所需的各种资源。
在这个阶段,单片机会执行一系列预定义的操作,如清除寄存器、设置工作模式、配置外设接口等。
2.执行阶段:执行阶段是单片机进行计算、控制和通信等任务的阶段。
在这个阶段,单片机根据程序的指令和数据,通过寄存器、算术逻辑单元(ALU)和存储器等功能模块进行计算、存储和控制。
单片机的执行可以分为两个层次:指令层和操作层。
(1)指令层:指令层是单片机执行的最基本单位,包括指令的获取、解码和执行等过程。
指令的获取是指从存储器中读取指令,并将其送入指令寄存器中。
单片机采用顺序读取的方式获取指令,即按照指令的地址从存储器中读取指令,并将地址自动增加,以获取下一条指令。
指令的解码是指根据指令的格式和功能,将其解析成相应的操作。
单片机根据指令的操作码和操作数,通过控制逻辑单元将指令解码成相应的操作。
指令的执行是指根据指令的操作,进行计算、存储和控制等操作。
单片机根据指令的操作码和操作数,通过寄存器和算术逻辑单元进行相应的运算和存储,同时进行控制相关的外设接口。
(2)操作层:操作层是单片机执行的高级单位,包括各种操作的组合和执行过程。
在操作层,单片机根据程序的逻辑和需要,进行各种任务的操作。
例如,单片机可以进行算术运算、逻辑运算、移位运算、存储和读取数据等。
同时,单片机可以通过外设接口与外部设备进行通信和控制。
例如,单片机可以通过串口和计算机进行通信,通过IO口控制LED灯和蜂鸣器等外设。
3.终止阶段:终止阶段是单片机工作的最后阶段,其目的是释放已占用的资源,并保存必要的状态信息。
在这个阶段,单片机会执行一些清理工作,如关闭外设接口、保存相关寄存器的值等。
单片机数码管初始化在单片机中,数码管的初始化涉及到配置引脚、设置数码管的显示模式、亮度等。
以下是一个通用的示例,以STM32为例,使用CubeMX和HAL库进行数码管的初始化。
假设使用的是STM32CubeMX工具,你可以按照以下步骤初始化数码管:1.打开STM32CubeMX,创建一个新的工程。
2.在“Pinout & Configuration”选项卡中,找到你所连接数码管的引脚,将其配置为输出。
3.如果你的数码管需要外部电源,则在"Configuration"选项卡中找到"Power Consumption",设置外部供电。
4.在"Configuration"选项卡的"Project Manager"中,选择生成相应的工程文件(如Keil、IAR等)。
5.在生成的代码中找到main.c文件,添加数码管的初始化代码。
下面是一个STM32CubeMX生成的HAL库代码的示例,用于STM32的数码管初始化:#include "main.h"#include "stm32f4xx_hal.h"void SystemClock_Config(void);static void MX_GPIO_Init(void);int main(void) {HAL_Init();SystemClock_Config();MX_GPIO_Init();while (1) {// Your application code}}void SystemClock_Config(void) {RCC_OscInitTypeDef RCC_OscInitStruct = {0};RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};__HAL_RCC_PWR_CLK_ENABLE();__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_S CALE1);RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;RCC_OscInitStruct.HSEState = RCC_HSE_ON;RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;RCC_OscInitStruct.PLL.PLLM = 25;RCC_OscInitStruct.PLL.PLLN = 360;RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;RCC_OscInitStruct.PLL.PLLQ = 7;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {Error_Handler();}RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK |RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1 |RCC_CLOCKTYPE_PCLK2;RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct,FLASH_LATENCY_5) != HAL_OK) {Error_Handler();}}void MX_GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOA_CLK_ENABLE();// 数码管连接到GPIOA的Pin 0-7GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 |GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);}void Error_Handler(void) {// 用户自定义的错误处理代码while (1) {}}#ifdef USE_FULL_ASSERTvoid assert_failed(char *file, uint32_t line) {// 用户自定义的断言处理代码}#endif在这个例子中,数码管连接到GPIOA的引脚0到7,这些引脚被配置为输出,并用于驱动数码管的显示。
ARM处理器系统初始化过程在嵌入式系统中,ARM处理器是最常用的处理器之一。
ARM处理器的系统初始化过程可以分为硬件初始化和软件初始化两个阶段。
本文将介绍ARM处理器系统初始化的具体流程。
硬件初始化在系统上电后,ARM处理器进入硬件初始化阶段。
主要任务是对处理器的外设进行初始化。
1.初始化时钟系统:ARM处理器的时钟系统是处理器运行的根底,因此在初始化过程中需要设置适当的时钟频率和时钟源。
这可以通过配置PLL〔Phase Locked Loop〕或者外部晶振来实现。
2.使能缓存:缓存是提高处理器性能的关键。
在初始化过程中,需要配置L1缓存和L2缓存的大小、映射方式等参数,并使能它们。
3.配置中断控制器:中断是处理器与外设交互的一种方式。
在初始化过程中,需要配置中断控制器,使其能够正确地响应外设发出的中断请求。
4.初始化外设:根据系统的需求,初始化各个外设,包括串口、SPI、I2C等外设。
这些外设的初始化过程涉及到设备的存放器配置、中断使能等操作。
5.设置存储器映射:ARM处理器通过存储器映射来访问外部存储器。
在初始化过程中,需要设置存储器映射表,使处理器能够正确地访问外部存储器。
软件初始化在硬件初始化完成后,ARM处理器进入软件初始化阶段。
主要任务是加载和运行操作系统及应用程序。
1.复位处理器:在软件初始化过程中,可以选择复位处理器,将处理器重新置于初始状态。
这通常通过将Reset引脚拉低来实现。
2.加载引导程序:引导程序是系统启动的第一段代码,其功能是加载操作系统的核心代码。
在软件初始化过程中,需要将引导程序加载到适当的内存位置,并设置处理器的执行起点。
3.初始化操作系统:一旦引导程序加载完成,操作系统开始初始化。
这包括初始化内核数据结构、初始化设备驱动程序、启动任务调度器等。
4.加载应用程序:在操作系统初始化完成后,可以选择加载应用程序。
应用程序的加载可以通过文件系统来实现,将应用程序从存储设备读取并加载到内存中。
单片机的4种工作方式介绍单片机共有复位、程序执行、低功耗和编程与加密四种工作方式,下面分别加以介绍。
1.复位方式(1)为什么要复位大家知道,单片机执行程序时总是从地址0000H 开始的,所以在进入系统时必须对CPU 进行复位,也叫初始化;另外由于程序运行中的错误或操作失误使系统处于死锁状态时,为了摆脱这种状态,也需要进行复位,就象电脑死机了要重新启动一样。
(2)复位的原理单片机复位的方法其实很简单,只要在RST 引脚(9 脚)上加一个持续时间为24 个振荡周期(即两个机器周期)的高电平就可以了。
如果晶振为12M,计算一下这个持续脉冲需要多长时间?(3)如何进行复位复位操作有上电自动复位、按键复位和外部脉冲复位3 种方法,上电自动复位是通过外部复位电路的电容充电来实现的,当电源刚接通时电容C 对下拉电阻开始充电,由于电容两边的电压不能突变,所以RTS 端维持高电平,只要这个充电时间不超过1ms,就可以实现对单片机的自动上电复位,即接通电源就完成了系统的初始化,在实际的工程应用中,如果没有特殊要求,一般都采用这种复位方式;按键复位的电路如图2 所示,它其实就是在上电复位的基础上加了R2 和SA,这种电路一般用在需要经常复位的系统中;外部脉冲复位的电路如图3 所示,外部复位通常用于要求比较高的系统,比如希望系统死锁后能自动复位。
外部复位是由专门的集成电路来实现的,也就是我们通常俗称的“看门狗”电路,这种电路有很多,它们不但能完成对单片机的自动复位功能,而且还有管理电源、用作外部存储器等功能,比如X25045,MAX813L 等等就是比较常用的此类芯片。
(4)复位后的状态这就是单片机复位后内部系统的状态。
2.程序执行方式程序执行是单片机的基本工作方式,由于复位后PC=0000 ,所以程序就从地址0000H 开始执行,此时单片机就根据指令的要求完成一系列的操作控制,比如前面讲的让LED 灯闪烁起来,不过在实际使用中,程序并不会从0000H 开始执行,而总是安排一条跳转指令,比如LJMP START ,为什么要这样安排,我们讲到中断时再来解释。
C8051F020单片机初始化程序和编译步骤2011-02-15 12:20:06| 分类:默认分类| 标签:|字号大中小订阅C8051F020编程步骤一、编程步骤:1、看门狗设置2、系统初始化3、端口初始化4、对应功能初始化(如:串口,定时器,I2C,SPI,PCA,DAC/ADC,中断等等)5、功能函数或中断函数(如需要)6、包含的头文件7、项目说明二、对应功能初始化要点:1、Uart:(1)串口工作模式由SCON设定(2)定时器工作方式设定TMOD (3)波特率TH载入值设定(4)启动TR1 (5)时钟基准CKCON (6)波特率加倍设定PCON(7)开中断使能TI2、Time:(1)工作方式设定TMOD (2)定时器时钟基准CKCON (3)启动/停止TCON设定TRn3、Interrupt:(1)中断允许IE (2)触发方式设定(上下沿,电平)(3)对应控制位允许设定,如ES串口允许C8051F020单片机初始化程序; $INCLUDE (C8051F020.inc) /C8051F020单片机功能强大,初始化也比较繁杂,为了便于初始化各功能模块,我们编了此程序可看着“说明”初始化。
ORG SYS_INIT;※▲◆●◎★☆△;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆;■-- <1> --电源管理; PCON ; POWER CONTROL;■-- <2> --系统时钟和振荡器; OSCXCN ; EXTERNAL OSCILLATOR CONTROL; OSCICN ; INTERNAL OSCILLA TOR CONTROL;■-- <3> --复位及看门狗管理; RSTSRC ; RESET SOURCE; WDTCN ; WA TCHDOG TIMER CONTROL;■-- <4> --FLASH存储器编程和安全管理; FLSCL ; FLASH MEMORY TIMING PRESCALER; PSCTL ; PROGRAM STORE R/W CONTROL; FLACL ; FLASH ACESS LIMIT;■-- <5> --中断控制; IE ; INTERRUPT ENABLE; EIE1 ; EXTERNAL INTERRUPT ENABLE 1; EIE2 ; EXTERNAL INTERRUPT ENABLE 2; IP ; INTERRUPT PRIORITY; EIP1 ; EXTERNAL INTERRUPT PRIORITY REGISTER 1; EIP2 ; EXTERNAL INTERRUPT PRIORITY REGISTER 2 ; P3IF ; PORT 3 EXTERNAL INTERRUPT FLAGS;■-- <6> --端口IO初始化及交叉开关设置; XBR0 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 0; XBR1 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 1; XBR2 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 2 ; P0MDOUT ; PORT 0 OUTPUT MODE CONFIGURATION; P1MDOUT ; PORT 1 OUTPUT MODE CONFIGURATION; P2MDOUT ; PORT 2 OUTPUT MODE CONFIGURATION; P3MDOUT ; PORT 3 OUTPUT MODE CONFIGURATION; P74OUT ; PORTS 4 - 7 OUTPUT MODE;■-- <7> --外部RAM和片内XRAM; EMI0CN ; EXTERNAL MEMORY INTERFACE CONTROL; EMI0CF ; EXTERNAL MEMORY INTERFACE (EMIF) CONFIGURA TION; EMI0TC ; EXTERNAL MEMORY;■-- <8> --定时器设置; TMOD ; TIMER MODE; TCON ; TIMER CONTROL; T2CON ; TIMER 2 CONTROL; T4CON ; TIMER 4 CONTROL; TMR3CN ; TIMER 3 CONTROL; TMR3RLL ; TIMER 3 RELOAD REGISTER - LOW BYTE; TMR3RLH ; TIMER 3 RELOAD REGISTER - HIGH BYTE; TMR3L ; TIMER 3 - LOW BYTE; TMR3H ; TIMER 3 - HIGH BYTE;■-- <9> --串行通讯; SCON0 ; SERIAL PORT 0 CONTROL; SCON1 ; SERIAL PORT 1 CONTROL; SBUF1 ; SERAIL PORT 1 DA TA; SADDR1 ; SERAIL PORT 1; PCON ; POWER CONTROL; RCAP2L ; TIMER 2 CAPTURE REGISTER - LOW BYTE; RCAP2H ; TIMER 2 CAPTURE REGISTER - HIGH BYTE; RCAP4L ; TIMER 4 CAPTURE REGISTER - LOW BYTE; RCAP4H ; TIMER 4 CAPTURE REGISTER - HIGH BYTE; SADDR0 ; SERIAL PORT 0 SLAVE ADDRESS;■-- <10> --可编程计数器阵列; PCA0CN ; PCA 0 COUNTER CONTROL; PCA0MD ; PCA 0 COUNTER MODE; PCA0CPM0 ; CONTROL REGISTER FOR PCA 0 MODULE 0; PCA0CPM1 ; CONTROL REGISTER FOR PCA 0 MODULE 1; PCA0CPM2 ; CONTROL REGISTER FOR PCA 0 MODULE 2; PCA0CPM3 ; CONTROL REGISTER FOR PCA 0 MODULE 3; PCA0CPM4 ; CONTROL REGISTER FOR PCA 0 MODULE 4;■-- <11> --SMBus通讯; SMB0CN ; SMBUS 0 CONTROL; SMB0CR ; SMBUS 0 CLOCK RA TE; SMB0STA; SMBUS 0 STA TUS; SMB0DA T ; SMBUS 0 DATA; SMB0ADR ; SMBUS 0 SLAVE ADDRESS;■-- <12> --SPI总线通讯; SPI0CKR ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RA TE CONTROL ; SPI0DAT ; SERIAL PERIPHERAL INTERFACE 0 DA TA ; SPI0CFG ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION ; SPI0CN ; SERIAL PERIPHERAL INTERFACE 0 CONTROL;-- <13> --ADC转换; AMX0CF ; ADC 0 MUX CONFIGURATION; AMX0SL ; ADC 0 MUX CHANNEL SELECTION; ADC0CF ; ADC 0 CONFIGURA TION; ADC0CN ; ADC 0 CONTROL; ADC0L ; ADC 0 DA TA - LOW BYTE; ADC0H ; ADC 0 DATA - HIGH BYTE; ADC1CF ; ADC 1 ANALOG MUX CONFIGURATION; AMX1SL ; ADC 1 ANALOG MUX CHANNEL SELECT; ADC1CN ; ADC 1 CONTROL; ADC0GTL ; ADC 0 GREA TER-THAN REGISTER - LOW BYTE; ADC0GTH ; ADC 0 GREA TER-THAN REGISTER - HIGH BYTE ; ADC0LTL ; ADC 0 LESS-THAN REGISTER - LOW BYTE; ADC0LTH ; ADC 0 LESS-THAN REGISTER - HIGH BYTE; REF0CN ; VOLTAGE REFERENCE 0 CONTROL; ADC1 ; ADC 1 DA TA;■-- <14> --DAC转换; PCA0L ; PCA 0 TIMER - LOW BYTE; PCA0H ; PCA 0 TIMER - HIGH BYTE; DAC0CN ; DAC 0 CONTROL; DAC1L ; DAC 1 REGISTER - LOW BYTE; DAC1H ; DAC 1 REGISTER - HIGH BYTE; DAC1CN ; DAC 1 CONTROL;■-- <15> --比较器设置; CPT0CN ; COMPARA TOR 0 CONTROL; CPT1CN ; COMPARA TOR 1 CONTROL; EMI0TC ; EMIF TIMING CONTROL;■-- <16> --时钟/电压基准设置; CKCON ; CLOCK CONTROL; SADEN1 ; SERIAL PORT 1 SLAVE ADDRESS MASK; SADEN0 ; SERIAL PORT 0 SLAVE ADDRESS MASK; P1MDIN ; PORT 1 INPUT MODE; PSW ; PROGRAM STATUS WORD; B ; B REGISTER; WDTCN ; WA TCHDOG TIMER CONTROL;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆;;==================================================================== ; function: Init_CTS 定时器/计数器,中断和串行通讯初始化子程序; input: -----------------; output: -----------------; usage: -----------------;====================================================================THS0 equ 0a8hTLS0 equ 09ah; THS1 equ 0fah;0feh;0fah;-4800;0f4h; TLS1 equ 0fah;0feh;0fah;-4800;0f4h;; THS2 equ 0ffh;0feh;0fah;-4800;0f4h; TLS2 equ 0b8h;0feh;0fah;-4800;0f4hInit_TCS: ;定时器/计数器,中断和串行通讯初始化子程序;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓; ◆◆◆8051内部控制寄存器◆◆◆;************************************************************************************ ;|名称| 代号| 地址|位寻| B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|电源控制| PCON | 87H | NO |SMOD | -- | -- | -- | GF1 | GF0 | PD | IDL | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|计时控制| TCON | 88H | YE |TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|计时模式| TMOD | 89H | NO |1GATE| 1C/T | 1M1 | 1M0 | 0GA TE| 0C/T | 0M1 | 0M0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|串行控制| SCON | 98H | YE |SM0| SM1 | SM2 | REN | TB8 | RB8 | TI | RI | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|中断允许| IE | A8H | YE |EA| -- | ET2 | ES | ET1 | EX1 | ET0 | EX0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|中断优先| IP | B8H | YE |-- | -- | PT2 | PS | PT1 | PX1 | PT0 | PX0 | ;************************************************************************************;时钟频率为:11.059200MHz;;机器周期为:12/fosc=1.085069μs;;CT0定时器设定延时为:2000μs;;CT0定时器工作于模式0;;CT0溢出处理采用中断方式;;CT0选择内部时钟;;CT0启动由TR0的0/1决定;;设定波特率为:4800bps;;串口0工作于方式1--T1定时器工作于方式2;;串口1工作于模式3--T2定时器用于波特率发生器4800bpsmov TH0, #THS0mov TL0, #TLS0; mov TH1, #THS1; mov TL1, #TLS1; mov TH2, #THS2; mov TL2, #TLS2;▲■-- <1> --电源管理;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓;87H---PCON-------电源控制寄存器;复位值: 00000000;位7-2:保留。