版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3 3章章 第一个样例程序及第一个样例程序及 CodeWarriorCodeWarrior工程组织工程组织主要内容主要内容v3.1 3.1 通用通用I/OI/O接口基本概念及连接方法接口基本概念及连接方法v3.2 AW603.2 AW60的的GPIOGPIOv3.3 3.3 开发套件开发套件CodeWarriorCodeWarrior开发环境与开发环境与 S08/S12/ColdFireS08/S12/ColdFire写入器写入器v3.4 CW3.4 CW环境环境C C语言工程文件的组织语言工程文件的组织v3.5 3.5 第一个第一个C C语言工程:控制小灯闪烁语言工程:控制小灯闪烁v3.
2、6 3.6 第一个汇编语言工程:控制小灯闪烁第一个汇编语言工程:控制小灯闪烁3.1 3.1 通用通用I/OI/O接口基本概念及连接方法接口基本概念及连接方法1. I/O1. I/O接口的概念接口的概念 I/OI/O接口,即输入输出接口,是微控制器同外界进行交互的接口,即输入输出接口,是微控制器同外界进行交互的重要通道。重要通道。这里的接口英文是这里的接口英文是portport,也可以翻译为,也可以翻译为“端口端口”,另一个英文单词是另一个英文单词是interfaceinterface,也翻译为接口。在嵌入式系统中,也翻译为接口。在嵌入式系统中,接口千变万化,种类繁多,有显而易见的人机交互接口,
3、如操接口千变万化,种类繁多,有显而易见的人机交互接口,如操纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机器设备接口器设备接口2 2通用通用I/OI/O 所谓通用所谓通用I/OI/O,也记为,也记为GPIOGPIO(General Purpose I/OGeneral Purpose I/O),即基),即基本的输入本的输入/ /输出,有时也称并行输出,有时也称并行I/OI/O,或普通,或普通I/OI/O,它是,它是I/OI/O的最的最基本形式基本形式通用通用I/OI/O接口一般应具备接口一般应具备 放置输入或输出控制字的寄存器放置输入
4、或输出控制字的寄存器放置工作方式控制字的寄存器放置工作方式控制字的寄存器放置要交换数据的寄存器放置要交换数据的寄存器放置反映工作状态的寄存器放置反映工作状态的寄存器3 3上拉下拉电阻与输入引脚的基本接法上拉下拉电阻与输入引脚的基本接法 输入引脚有三种不同的连接方式:带上拉电阻的连接、输入引脚有三种不同的连接方式:带上拉电阻的连接、带下拉电阻的连接和带下拉电阻的连接和“悬空悬空”连接。连接。若若MCUMCU的某个引脚通过一个电阻接到电源(的某个引脚通过一个电阻接到电源(VccVcc)上,这)上,这个电阻被称为个电阻被称为“上拉电阻上拉电阻”。与之相对应,若。与之相对应,若MCUMCU的某个引的某
5、个引脚通过一个电阻接到地(脚通过一个电阻接到地(GNDGND)上,则相应的电阻被称为)上,则相应的电阻被称为“下拉电阻下拉电阻”。悬空的芯片引脚被上拉电阻或下拉电阻初。悬空的芯片引脚被上拉电阻或下拉电阻初始化为高电平或低电平。始化为高电平或低电平。I/OI/O输入电路输入电路4.4.输出引脚的基本接法输出引脚的基本接法 作为通用输出引脚,作为通用输出引脚,MCUMCU内部程序内部程序向该引脚输出高电平或低电平来驱动向该引脚输出高电平或低电平来驱动器件工作,即开关量输出。如图所示。器件工作,即开关量输出。如图所示。其中其中O1O1引脚是发光二极管引脚是发光二极管LEDLED的驱动引的驱动引脚,当
6、脚,当O1O1引脚输出高电平时,引脚输出高电平时,LEDLED不亮;不亮;当当O1O1引脚输出低电平时,引脚输出低电平时,LEDLED点亮。点亮。O2O2引脚接蜂鸣器驱动电路,当引脚接蜂鸣器驱动电路,当O2O2脚输出高脚输出高电平时,蜂鸣器响;电平时,蜂鸣器响;O2O2脚输出低电平时,脚输出低电平时,蜂鸣器不响蜂鸣器不响 I/O I/O口输出电路口输出电路内部结构 具有7个I/O端口(A,B,C,D,E,F,G) 最多54个通用I/O管脚 大多数I/O管脚和片内其它外围模块功能复用 Slide 73.2 AW603.2 AW60的的GPIOGPIO外部管脚 具有7个I/O端口(A,B,C,D,
7、E,F,G) 最多54个通用I/O管脚(不同封装有别) A:8; B:8; C:7; D:8; E:8; F:8; G:7Slide 83.2 AW603.2 AW60的的GPIOGPIO外部管脚 具有7个I/O端口(A,B,C,D,E,F,G) 38个通用I/O管脚(不同封装有别) A:4; B:4; C:6; D:4; E:8; F:5; G:7Slide 93.2 AW603.2 AW60的的GPIOGPIO外部管脚 具有7个I/O端口(A,B,C,D,E,F,G) 34个通用I/O管脚(不同封装有别) A:2; B:4; C:6; D:4; E:8; F:4; G:6Slide 103
8、.2 AW603.2 AW60的的GPIOGPIO外部管脚 I/O管脚功能复用 Slide 11复位之后,共享的外围模块功能被禁止,因此I/O端口的所有管脚都是作为并行I/O管脚使用。 3.2 AW603.2 AW60的的GPIOGPIOv管脚管脚方向控制方向控制 在MCU内部每个并行端口都配有一个8位的数据寄存器(PTxD)和一个8位的数据方向寄存器(PTxDD, DD: Data Direction)。 PTxDD的每一位( PTxDDn)和每一个I/O管脚相对应,控制它作输入还是作输出。 PTxDDn = 0:对应管脚PTxDn设为输入(上电复位缺省值) PTxDDn = 1:对应管脚P
9、TxDn设为输出Slide 125.2 IO5.2 IO模块结构及功能模块结构及功能v内部内部输入上拉输入上拉 在MCU内部每个并行端口都配有一个8位的输入上拉控制寄存器(PTxPE),控制对应的输入管脚是否允许内部输入上拉。 PTxPEn = 0:对应输入管脚PTxDn禁止内部输入上拉(上电复位缺省值) PTxPEn = 1:对应输入管脚PTxDn允许内部输入上拉可避免悬空,降低功耗,提高系统可靠性Slide 135.2 IO5.2 IO模块结构及功能模块结构及功能v输出驱动能力输出驱动能力选择选择 在MCU内部每个并行端口都配有一个8位的输出驱动控制寄存器(PTxDS),控制对应的输出管脚
10、是否允许高驱动输出。 PTxDSn = 0:对应输出管脚PTxDn选择低驱动(缺省值,如和IC接口) PTxDSn = 1:对应输出管脚PTxDn选择高驱动(如驱动LED)Slide 145.2 IO5.2 IO模块结构及功能模块结构及功能v输出驱动能力输出驱动能力选择选择 在MCU内部每个并行端口都配有一个8位的输出驱动控制寄存器(PTxDS),控制对应的输出管脚是否允许高驱动输出。 PTxDSn = 0:对应输出管脚PTxDn选择低驱动(缺省值,如和IC接口) PTxDSn = 1:对应输出管脚PTxDn选择高驱动(如驱动LED)Slide 155.2 IO5.2 IO模块结构及功能模块结
11、构及功能v输出摆率输出摆率控制控制 在MCU内部每个并行端口都配有一个8位的输出摆率控制寄存器(PTxSE),控制对应的输出管脚是否允许摆率控制。 PTxSEn = 0:对应输出管脚PTxDn禁止摆率控制(缺省,信号跳变陡,如上图黄) PTxSEn = 1:对应输出管脚PTxDn允许摆率控制(信号跳变平坦,如上图粉)Slide 165.2 IO5.2 IO模块结构及功能模块结构及功能v输出摆率输出摆率控制控制 在MCU内部每个并行端口都配有一个8位的输出摆率控制寄存器(PTxSE),控制对应的输出管脚是否允许摆率控制。 PTxSEn = 0:对应输出管脚PTxDn禁止摆率控制(缺省,信号跳变陡
12、,40/11ns) PTxSEn = 1:对应输出管脚PTxDn允许摆率控制(信号跳变平坦,75/35ns)Slide 175.2 IO5.2 IO模块结构及功能模块结构及功能v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个寄存器的控制:v PTxD (Port x Data Register) PTxDD (Data Direction for Port x Register) PTxPE (Port x Pullup Enable Register) PTxDS (Output Drive Strength Selection for Port x) PTxSE (O
13、utput Slew Rate Control Enable for Port x) v 对对I/OI/O管脚的控制正是通过对管脚的控制正是通过对I/OI/O寄存器的控制来实现寄存器的控制来实现v I/OI/O寄存器分布在寄存器分布在MCUMCU存储区域的存储区域的寄存器寄存器空间空间 PTxD和PTxDD分布于0页寄存器空间 PTxPE、PTxDS和PTxSE分布于高页寄存器空间 Slide 185.2 IO5.2 IO模块内部寄存器模块内部寄存器v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个寄存器的控制: PTxD (Port x Data Register) Sl
14、ide 195.2 IO5.2 IO模块内部寄存器模块内部寄存器v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个寄存器的控制: PTxDD (Data Direction for Port x Register)Slide 205.2 IO5.2 IO模块内部寄存器模块内部寄存器v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个寄存器的控制: PTxPE (Port x Pullup Enable Register)Slide 215.2 IO5.2 IO模块内部寄存器模块内部寄存器v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个
15、寄存器的控制: PTxDS (Output Drive Strength Selection for Port x) Slide 225.2 IO5.2 IO模块内部寄存器模块内部寄存器v每个每个I/OI/O管脚的功能受管脚的功能受5 5个寄存器的控制:个寄存器的控制: PTxSE (Output Slew Rate Control Enable for Port x) Slide 235.2 IO5.2 IO模块内部寄存器模块内部寄存器v管脚管脚复位状态复位状态 PTxD = 0 PTxDD = 0 管脚方向:输入 PTxPE = 0 上拉:禁止 PTxDS = 0 输出驱动:低驱动 PTx
16、SE = 0 输出摆率:禁止 MCU复位之后,所有I/O管脚都被配置为不带内部上拉电阻的高阻抗输入管脚。为了避免悬空的输入管脚产生而外的电流损耗,应用程序中的复位初始化子程序要么允许片内上拉电阻,要么改变未使用的管脚的方向为输出,这样管脚就不再悬空。 应用中没有用到的I/O管脚必须要端接,这可以避免由于输入悬空而导致电流过载并提高抗噪能力。端接方法有: 把未使用管脚通过软件配置为输出,并输出为高或低 把未使用管脚通过软件配置为输入,并使用内部或外部上拉电阻 Slide 245.2 IO5.2 IO模块内部寄存器模块内部寄存器Slide 255.2 IO5.2 IO模块应用举例模块应用举例v 例
17、5.1 根据图示电路编写程序,实现下述功能:将根据图示电路编写程序,实现下述功能:将8 8位开关按键位开关按键SW7:0SW7:0的的状态实时地由状态实时地由8 8位发光二极管位发光二极管LED7:0LED7:0显示出来。显示出来。SWSW开关拨到左边时,输入开关拨到左边时,输入电平为低,要求电平为低,要求LEDLED灭;灭;SWSW开关拨到右边时,输入电平为高,要求开关拨到右边时,输入电平为高,要求LEDLED亮。亮。I/O Output LedsPowerCLKPORTDPORTGPORTFPORTCPORTBPORTAPORTEMC9S08AW60MC9S08AW 60CPUEPTC41
18、IRQ2RESET#3PTF0/TPM1CH24PTF1/TPM1CH35PTF2/TPM1CH46PTF3/TPM1CH57PTF4/TPM2CH08PTC69PTF710PTF5/TPM2CH111PTF612PTE0/TxD113PTE1/RxD114PTE2/TPM1CH015PTE3/TPM1CH116PTE4/SS1#17PTE5/MISO118PTE6/MOSI119PTE7/SPSCK120VSS2121VDD2222PTG0/KBI1P023PTG1/KBI1P124PTG2/KBI1P225PTA026PTA127PTA228PTA329PTA430PTA531PTA632
19、PTA733PTB0/AD1P034PTB1/AD1P135PTB2/AD1P236PTB3/AD1P337PTB4/AD1P438PTB5/AD1P539PTB6/AD1P640PTB7/AD1P741PTD0/AD1P842PTD1/AD1P943VDDAD4444VSSAD4545PTD2/KBI1P5/AD1P1046PTD3/KBI1P6/AD1P1147PTG3/KBI1P348PTG4/KBI1P449PTD4/TPM2CLK/AD1P1250PTD5/AD1P1351PTD6/TPM1CLK/AD1P1452PTD7/KBI1P7/AD1P1553VREFH54VREFL55B
20、KGD/MS56PTG5/XTAL57PTG6/EXTAL58VSS5959PTC0/SCL160PTC1/SDA161PTC2/MCLK62PTC3/TxD263PTC5/RxD264PTB5BKGDPTA0PTB7PTB6RST#GNDPTA2PTA1PTC0PTA3PTG4PTG0PTG1PTG2PTG3PTD4PTD5PTD6PTD7PTD0PTD1PTD2PTD3PTA5PTA4PTE5PTE6PTE0PTE1PTE2PTE3PTE4PTB1PTC3PTA7RST#PTC2PTB0PTA6PTC1PTF4PTF5PTF6PTF0PTF1PTF2PTF3PTC5BKGDPTB2PTC4
21、3.3VPTF7PTC6PTB3PTB4PTE710K213SW 2SW1243LED712213SW 00.1uF330ohmJUMP-2330ohm330ohm330ohm213SW 1330ohm4X10K12345678LED6124MHz1K22pF213SW 70.1uF330ohm330ohm213SW 4330ohmJ72HDR-2X3-Socket1234560.1uF213SW 3LED112LED2120.1uFLED312213SW 6213SW 510MLED412LED51222pF+10uF/Tan12LED012GNDGNDGNDGND3.3V3.3VGND3.
22、3VGNDI/O Input KeysBDM socketGND4X10K123456783.3VSlide 265.2 IO5.2 IO模块应用举例模块应用举例v 例5.1 根据图示电路编写程序,实现下述功能:将根据图示电路编写程序,实现下述功能:将8 8位开关按键位开关按键SW7:0SW7:0的的状态实时地由状态实时地由8 8位发光二极管位发光二极管LED7:0LED7:0显示出来。显示出来。SWSW开关拨到左边时,输入开关拨到左边时,输入电平为低,要求电平为低,要求LEDLED灭;灭;SWSW开关拨到右边时,输入电平为高,要求开关拨到右边时,输入电平为高,要求LEDLED亮。亮。INCL
23、UDEMC9S08AW60.inc; 包含头文件 ORG ROMStartIO_Init:LDA#$FF; 为所有I/O管脚配置内部输入上拉,降低系统功耗STAPTAPE; 为PTA设定内部输入上拉STAPTBPE; 为PTB设定内部输入上拉STAPTCPE; 为PTC设定内部输入上拉STAPTDPE; 为PTD设定内部输入上拉STAPTEPE; 为PTE设定内部输入上拉STAPTFPE; 为PTF设定内部输入上拉STAPTGPE; 为PTG设定内部输入上拉RTSMain: CLRA ; 00HACLRX; 00HXCLRH; 00HHSTA$1802; 00hSOPT,Disable COP
24、JSRIO_Init; 配置I/O管脚内部输入上拉,可选MOV#$00, PTED; 初始化输出端口的数据寄存器,LED全灭,习惯养成LDA#%11111111 STAPTEDD ; 初始化PTE口的八位管脚作为输出STAPTEDS; PTE大电流驱动,使LED更亮,可选Again: LDAPTFD; 读取PTF口的八位开关按键的值 STA PTED; 将按键值实时输出至发光二极管BRAAgain; 死循环ORG VresetDC.W Main; 复位向量GPIOGPIO的基本编程方法:的基本编程方法: 通过通过“数据方向寄存器数据方向寄存器”设置相应引脚为输入或输出设置相应引脚为输入或输出
25、若是输出引脚,则设置若是输出引脚,则设置“端口引脚数据寄存器端口引脚数据寄存器”引脚输出引脚输出高电平或低电平高电平或低电平 若是输入引脚,则通过若是输入引脚,则通过“端口引脚数据寄存器端口引脚数据寄存器”获得引脚获得引脚的状态的状态3.2.2 3.2.2 GPIO GPIO模块寄存器模块寄存器 GPIO GPIO模块的每个口最多对应模块的每个口最多对应8 8个个GPIOGPIO引脚,但各个引脚,但各个GPIOGPIO口口的编程寄存器均为的编程寄存器均为8 8位,没有对应引脚的位无效。位,没有对应引脚的位无效。 GPIOGPIO模块寄模块寄存器的命名有一定的规范,所有寄存器都在存器的命名有一定
26、的规范,所有寄存器都在AW60AW60芯片寄存器及芯片寄存器及相关位定义头文件相关位定义头文件AW60.hAW60.h中定义。其中中定义。其中“端口数据寄存器端口数据寄存器”是是PT+PT+该端口的名称该端口的名称+D+D。“端口输出方向寄存器端口输出方向寄存器”是是PT+PT+该端口的该端口的名称名称+DD+DD。所有寄存器的位编号从。所有寄存器的位编号从0 0开始,且最低位编号为开始,且最低位编号为0 0。例如,一个例如,一个8 8位寄存器的最低位编号为位寄存器的最低位编号为0 0,最高位编号为,最高位编号为7 7。1 1操作操作GPIOGPIO的基本寄存器的基本寄存器 端口数据方向寄存器
27、端口数据方向寄存器DDRDDR(Port Data Direction RegisterPort Data Direction Register) 这些位分别控制着端口引脚是输入还是输出,若为这些位分别控制着端口引脚是输入还是输出,若为0 0,则引,则引 脚为输入,若为脚为输入,若为1 1,则引脚为输出。复位时为,则引脚为输出。复位时为0 x000 x00 端口数据寄存器端口数据寄存器PORTPORT(Port Data RegisterPort Data Register) 若引脚被配置为输出,若引脚被配置为输出,PORTn PORTn 寄存器中每一位数据决定了对寄存器中每一位数据决定了对
28、应引脚的输出电平。应引脚的输出电平。2 2GPIOGPIO的基本编程方法举例的基本编程方法举例 以以D D口第口第3 3脚的脚的GPIOGPIO功能为例功能为例u 为了程序通用性,对要设置的引脚进行宏定义为了程序通用性,对要设置的引脚进行宏定义l #define RUN_PORT PORTD / #define RUN_PORT PORTD / 灯使用的端口灯使用的端口l #define RUNpin 3 / #define RUNpin 3 / 用用RUNpinRUNpin代替代替“3”3”u 当需要对寄存器的具体位进行设置,通常会使用位操作当需要对寄存器的具体位进行设置,通常会使用位操作l
29、 RUN_PORT &= 0b11110111 /RUN_PORT &= 0b11110111 /表示将表示将RUN_PORTRUN_PORT的第的第3 3位设置为位设置为0 0l RUN_PORT |= 0b00001000 /RUN_PORT |= 0b00001000 /表示将表示将RUN_PORTRUN_PORT的第的第3 3位设置为位设置为1 1u 为了程序通用性,以上两行代码需要写成:为了程序通用性,以上两行代码需要写成:l RUN_PORT &= RUN_PORT &= (0 x01 RUNpin) /(0 x01 RUNpin) /将将RUN_P
30、ORTRUN_PORT的第的第3 3位设置为位设置为0 0l RUN_PORT |= 0 x01 RUNpin /RUN_PORT |= 0 x01New ProjectFile-New Project,弹出新建对话框,选择,弹出新建对话框,选择“S08 S08A Family AW60S08 S08A Family AW60”,点击,点击“下一步下一步”,选中,选中“C C”的选项,如果程序中有汇编代码则应该选中的选项,如果程序中有汇编代码则应该选中“Relocatable assemblyRelocatable assembly”,在右侧,在右侧Project nameProject na
31、me中中输入工程名,在输入工程名,在LocationLocation中选择工程所在目录。单击中选择工程所在目录。单击确定即可确定即可 第二种方法是使用已存的工程来建立另一个工程。第二种方法是使用已存的工程来建立另一个工程。当在已有工程的基础上,做另一个项目时,比如在当在已有工程的基础上,做另一个项目时,比如在LightLight工程的基础上编写工程的基础上编写LCDLCD程序,需要进行如下设置程序,需要进行如下设置l更改工程文件夹名为更改工程文件夹名为LCDLCDl更改更改Light.mcpLight.mcp为为LCD.mcpLCD.mcpl文件夹文件夹Light_DataLight_Data
32、更改为更改为LCD_DataLCD_Datal将将binbin文件夹的所有内容删掉文件夹的所有内容删掉3.5 3.5 第一个第一个C C语言工程:控制小灯闪烁语言工程:控制小灯闪烁3.5.1 GPIO3.5.1 GPIO构件构件 GPIOGPIO构件的头文件构件的头文件GPIO.hGPIO.h GPIOGPIO构件的程序文件构件的程序文件GPIO.cGPIO.c3.5.2 Light3.5.2 Light构件构件 LightLight构件的头文件构件的头文件Light.hLight.h LightLight构件的程序文件构件的程序文件Light.cLight.c3.5.3 Light3.5.3
33、 Light测试工程主程序测试工程主程序3.5.4 3.5.4 理解第一个理解第一个C C工程的执行过程工程的执行过程 系统上电系统上电 执行执行Start08.cStart08.c文件中的文件中的_Startup_Startup函数函数 中断程序的执行中断程序的执行3.6 3.6 第一个汇编语言工程:控制小灯闪烁第一个汇编语言工程:控制小灯闪烁 基于汇编语言编程给人的第一感觉是难,相对于其它的基于汇编语言编程给人的第一感觉是难,相对于其它的高级语言编程,汇编语言在编程的直观性、编程效率等方面高级语言编程,汇编语言在编程的直观性、编程效率等方面有所欠缺,但针对资源相对较少的单片机以及时序要求严
34、格有所欠缺,但针对资源相对较少的单片机以及时序要求严格的硬件接口编程,掌握汇编语言还是必不可少的。使用汇编的硬件接口编程,掌握汇编语言还是必不可少的。使用汇编语言编程是基本功,学习和掌握汇编语言编程可以增加编程语言编程是基本功,学习和掌握汇编语言编程可以增加编程者的者的“内力内力”,为使用高级语言编程打下坚实的基础。,为使用高级语言编程打下坚实的基础。3.6.1 3.6.1 汇编工程文件的组织汇编工程文件的组织 小灯闪烁汇编工程相关源文件的树型结构小灯闪烁汇编工程相关源文件的树型结构u主函数文件主函数文件(main.asm)(main.asm)主程序文件主程序文件main.asmmain.as
35、m,包含有:,包含有: 工程描述:工程名、硬件连接索引、程序描述、目的、说工程描述:工程名、硬件连接索引、程序描述、目的、说明、注意、日期等明、注意、日期等 总头文件总头文件 主程序:主程序一般包括初始化与主循环两大部分。初始主程序:主程序一般包括初始化与主循环两大部分。初始化包括堆栈初始化、系统初始化、内存变量初始化、化包括堆栈初始化、系统初始化、内存变量初始化、I/OI/O端端口初始化、中断初始化等口初始化、中断初始化等 内部直接调用子程序:若有不单独存盘的子程序,建议放内部直接调用子程序:若有不单独存盘的子程序,建议放在此处在此处 外部子程序:若程序使用独立存盘的子程序,可在此处使外部子
36、程序:若程序使用独立存盘的子程序,可在此处使用用“INCLUDEINCLUDE子程序文件名子程序文件名”将其包含。注意,独立存盘的将其包含。注意,独立存盘的子程序必须与主程序在同一个目录中子程序必须与主程序在同一个目录中u中断处理程序文件中断处理程序文件(isr.asm(isr.asm)u框架程序文件框架程序文件u汇编软件构件文件汇编软件构件文件u通用程序文件通用程序文件3.6.2 3.6.2 LightLight构件汇编程序构件汇编程序包含:包含:uLightLight构件的汇编头文件构件的汇编头文件Light.incLight.incuLightLight构件的汇编程序文件构件的汇编程序文
37、件Light.asmLight.asm3.6.3 Light3.6.3 Light测试工程主程序测试工程主程序 首先调用首先调用LightInitLightInit函数,初始化所需的每一盏指示灯。注函数,初始化所需的每一盏指示灯。注意初始化时,要让每一盏灯初始状态为意初始化时,要让每一盏灯初始状态为“暗暗”。随后,通。随后,通过过Light_L_ALight_L_A函数控制指示灯亮、暗。在指示灯亮暗之间增函数控制指示灯亮、暗。在指示灯亮暗之间增加适当的延时后,就能够在程序运行时,较明显的看到指加适当的延时后,就能够在程序运行时,较明显的看到指示灯闪烁的现象示灯闪烁的现象3.6.4 3.6.4 理解第一个汇编工程的执行过程理解第一个汇编工程的执行过程 系统上电系统上电 系统在加电过后,芯片内的硬件机制会产生加电复位中断,系统在加电过后,芯片内的硬件机制会产生加电复位中断,这时系统到向量表中查找复位向量地址,并转向这个地址继续这时系统到向量表中查找复位向量地址,并转向这个地址继续执行。在本书所有工程样例,到执行。在本书所有工程样例,到* *.prm.prm文件中都可以找到异常文件中都可以找到异常向量表,在该表的第一行是复位中断向量地址:向量表,在该表的第一行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届吉林省长春汽车经济技术开发区第六中学物理高一上期末检测试题含解析
- 湖北省随州市第二高级中学2025届物理高三第一学期期中调研模拟试题含解析
- 火灾战评课件教学课件
- 2024年天然气安装工程承包合同
- 2024年度0XX办公设备采购合同
- 2024担保合同无效的判定以及相关问题
- 2024养殖业养殖技术咨询服务合同
- 2024年外贸出口木门合同
- 2024年度机械设备安装工程内部承包合同
- 2024小程序开发服务合同范本
- 国际经济与贸易职业规划报告
- 消毒供应中心进修后汇报
- 读书好书开启智慧之门
- 以人民为中心
- 慢性咳嗽中医护理宣教
- 伐檀课件教案
- 小学教育中的体验式学习方法
- 透析中低血压的预防及防治
- Part1-2 Unit5 Ancient Civilization教案-【中职专用】高一英语精研课堂(高教版2021·基础模块2)
- 中药材商品规格等级-款冬花
- 钢厂拆除施工方案
评论
0/150
提交评论