飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件

上传人:新** 文档编号:568808153 上传时间:2024-07-27 格式:PPT 页数:32 大小:184.50KB
返回 下载 相关 举报
飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件_第1页
第1页 / 共32页
飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件_第2页
第2页 / 共32页
飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件_第3页
第3页 / 共32页
飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件_第4页
第4页 / 共32页
飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件(32页珍藏版)》请在金锄头文库上搜索。

1、第六章第六章通用通用I/O与第一个汇编程序与第一个汇编程序主要内容v MC68HC908GP32的普通I/O v 汇编程序编程框架 v 08汇编语言编译过程所涉及的文件 v SD-HC08嵌入式MCU在线编程集成开发系统 时梅闷同扇币扒享着还贤阻呜帐拘晴辑弥瘫蔫碎挪访佯掳歪庚某愤敏眉萎飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1MC68HC908GP32的普通的普通I/O 所谓普通所谓普通I/O,即基本的输入,即基本的输入/输出,有时也称为并行输出,有时也称为并行I/O。作为普。作为普通输入引脚,通输入引

2、脚,MCU内部程序可以读取该引脚,知道该引脚是内部程序可以读取该引脚,知道该引脚是“1”(高(高电平)或电平)或“0”(低电平),即开关量输入。作为普通输出引脚,(低电平),即开关量输入。作为普通输出引脚,MCU内部程序向该引脚输出内部程序向该引脚输出“1”(高电平)或(高电平)或“0”(低电平),即开关量(低电平),即开关量输出。输出。MC68HC908GP32单片机有单片机有5个普通个普通I/O口,分别是口,分别是A口、口、B口、口、C口、口、D口、口、E口。它们中的大部分具有双功能,本节仅讨论它们作为口。它们中的大部分具有双功能,本节仅讨论它们作为普通普通I/O功能时的编程方法。功能时的

3、编程方法。谢蛤缘搭右牵贞扰唯妆析爬苫茎塑黄芭决尔崭谗厢牢呵勃雌贾亏悟管薛倒飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OA口的口的8根引脚与键盘中断模块的引脚复用,这里只讨论根引脚与键盘中断模块的引脚复用,这里只讨论A口作为口作为普通普通I/O口的功能。口的功能。(1)A口的寄存器口的寄存器A口作为普通口作为普通I/O口时,具有三个寄存器,它们是:口时,具有三个寄存器,它们是:A口数据方向寄口数据方向寄存器(存器(DDRA)、)、A口数据寄存器(口数据寄存器(PTA)

4、、)、A口上拉电阻允许寄存器口上拉电阻允许寄存器(PTAPUE)。)。 A口数据方向寄存器(口数据方向寄存器(DataDirectionRegisterA,DDRA)A口数据方向寄存器(口数据方向寄存器(DDRA)的地址是:)的地址是:$0004,DDRA的第的第70位分别记为位分别记为DDRA7DDRA0,这些位分别控制着,这些位分别控制着A口引脚口引脚PTA7PTA0是输入还是输出,若是输入还是输出,若DDRAx=0,则引脚,则引脚PTAx为输入,若为输入,若DDRAx=1,则引脚,则引脚PTAx为输出。复位时为输出。复位时DDRA为为$00。记忆要点:数据方向寄存器的一位:记忆要点:数据

5、方向寄存器的一位:0定义输入,定义输入,1定义输出定义输出6.1.1A口口共罢棱胳跺碉达债丙自聂呈咨督碳俐嫌碌裸琢泳棺琳绪摘若持瘟持汽碰瞅飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OA口数据寄存器(口数据寄存器(PTA)的地址是:)的地址是:$0000,PTA的第的第70位分别位分别记为记为PTA7PTA0。若。若A口的某一引脚口的某一引脚PTAx被定义成输出,程序使被定义成输出,程序使A口口数据寄存器数据寄存器PTA的相应位的相应位PTAx0,则引脚,则引脚PTA

6、x输出输出“低电平低电平”;程;程序使序使PTAx1,则引脚,则引脚PTAx输出输出“高电平高电平”。若。若A口的某一引脚口的某一引脚PTAx被定义成输入,程序通过读取被定义成输入,程序通过读取A口数据寄存器口数据寄存器PTA,获得输入情况,获得输入情况,0表表示输入为示输入为“低电平低电平”,1表示输入为表示输入为“高电平高电平”。记忆要点:记忆要点:输出时:数据寄存器的一位:输出时:数据寄存器的一位:0输出低电平输出低电平1输出高电平输出高电平输入时:数据寄存器的一位:输入时:数据寄存器的一位:0代表外部输入低电平代表外部输入低电平1代表外部输入高电平代表外部输入高电平 A A口数据寄存器

7、(口数据寄存器(Port A Data RegisterPort A Data Register,PTAPTA)辑仓夸士舟瞬市兹煞口搜缘溪傣担腰改壕姆诺粱蕴抑素偏技盼缝革匣氰幅飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OA口上拉电阻允许寄存器(口上拉电阻允许寄存器(PTAPUE)的地址是:)的地址是:$000D。PTAPUE的第的第70位分别记为位分别记为PTAPUE7PTAPUE0。若。若A口的某一口的某一引脚引脚PTAx被定义成输入,则可通过置被定义成输入,则可

8、通过置PTAPUE的相应位的相应位PTAPUEx为为1来定义其内接上拉电阻,即引脚来定义其内接上拉电阻,即引脚PTAx已经通过内部电阻与电源已经通过内部电阻与电源VDD相接,此时若引脚相接,此时若引脚PTAx若通过开关接地,则开关闭合时为低电平。那若通过开关接地,则开关闭合时为低电平。那么寄存器么寄存器PTA的相应位的相应位PTAx=0,开关断开时为高电平,寄存器,开关断开时为高电平,寄存器PTA的的相应位相应位PTAx=1,通过读取寄存器,通过读取寄存器PTA获得开关状态。获得开关状态。记忆要点:记忆要点:在在引引脚脚被被定定义义成成输输入入时时,可可通通过过上上拉拉电电阻阻允允许许寄寄存存

9、器器定定义义有有无无内内部上拉电阻:部上拉电阻:0没有内部上拉电阻没有内部上拉电阻1有内部上拉电阻有内部上拉电阻 A A口上拉电阻允许寄存器(口上拉电阻允许寄存器(Port A Input Pullup Enable Port A Input Pullup Enable RegisterRegister,PTAPUEPTAPUE)箱趾横涨贪镀翘酱烙剑逃伶匪催练揉待石热紧扶悄茧告秘应怜构欢踌坪滞飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/O下下图图给给出出了了A口口作作

10、为为普普通通I/O使使用用时时,一一个个外外部部引引脚脚的的相相应应内内部部逻逻辑辑 电电 路路 框框 图图 。 当当 DDRAx=1时时 , 读读 地地 址址 $0000就就 是是 读读 PTAx。 当当DDRAx=0时,读地址时,读地址$0000就是读引脚就是读引脚PTAx电平。电平。读读DDRA($0004)写写DDRA($0004)复位复位写写PTA($0000)引脚引脚PTAxVDDPTAPUEx内部上拉电阻内部上拉电阻读读PTA($0000)A A口的一个引脚内部逻辑电路框图口的一个引脚内部逻辑电路框图A口数据方向寄存器口数据方向寄存器DDRAx位位A口数据寄存器口数据寄存器PTA

11、x位位内内部部数数据据总总线线(2)A口逻辑电路框图口逻辑电路框图畔悔铣驱甘译枝榔姑娥局国颓夷揭荐摘秧秘战尊引际级嗅拼抄袋豪遗降舌飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OB口的口的8根引脚与根引脚与8路路A/D转换模块的引脚复用,这里只讨论转换模块的引脚复用,这里只讨论B口作口作为普通为普通I/O口的功能。口的功能。(1)B口的寄存器口的寄存器B口作为普通口作为普通I/O口时,具有二个寄存器,它们是:口时,具有二个寄存器,它们是:B口数据方向口数据方向寄存器(寄

12、存器(DDRB)和)和B口数据寄存器(口数据寄存器(PTB)。)。 B口数据方向寄存器(口数据方向寄存器(DataDirectionRegisterB,DDRB)B口数据方向寄存器(口数据方向寄存器(DDRB)的地址是:)的地址是:$0005,DDRB的第的第70位分别记为位分别记为DDRB7DDRB0,这些位分别控制着,这些位分别控制着B口引脚口引脚PTB7PTB0是输入还是输出,若是输入还是输出,若DDRBx=0,则引脚,则引脚PTBx为输入,若为输入,若DDRBx=1,则引脚,则引脚PTBx为输出。复位时为输出。复位时DDRB为为$00。记忆要点:数据方向寄存器的一位:记忆要点:数据方向

13、寄存器的一位:0定义输入,定义输入,1定义输出定义输出6.1.2B口口研剧盗癌谦异腆胁隆爪匆荣屿唤咆眩变叹敢贬钾赦巴狡贩们滦探早蚜蹭琵飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OB口数据寄存器(口数据寄存器(PTB)的地址是:)的地址是:$0001,PTB的第的第70位分别位分别记为记为PTB7PTB0。若。若B口的某一引脚口的某一引脚PTBx被定义成输出,程序使被定义成输出,程序使B口口数据寄存器数据寄存器PTB的相应位的相应位PTBx0,则引脚,则引脚PTBx输

14、出输出“低电平低电平”,程,程序使序使PTBx1,则引脚,则引脚PTBx输出输出“高电平高电平”。若。若B口的某一引脚口的某一引脚PTBx被定义成输入,程序通过读取被定义成输入,程序通过读取B口数据寄存器口数据寄存器PTB,获得输入情况,获得输入情况,0表表示输入为示输入为“低电平低电平”,1表示输入为表示输入为“高电平高电平”。注意:注意:B口被定义成输入时,没有内部上拉电阻口被定义成输入时,没有内部上拉电阻 B B口数据寄存器(口数据寄存器(Port B Data RegisterPort B Data Register,PTBPTB)侯牺缎著准我遇巧卖唇成埔扒捞酸勺陛敛肆光褐怜筒俐度影确

15、语焊足逞菇飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/O下下图图给给出出了了B口口作作为为普普通通I/O使使用用时时,一一个个外外部部引引脚脚的的相相应应内内部部逻逻辑电路框图。辑电路框图。读读DDRB($0005)写写DDRB($0005)复位复位写写PTB($0001)引脚引脚PTBx读读PTB($0001)B B口的一个引脚内部逻辑电路框图口的一个引脚内部逻辑电路框图B口数据方向寄存器口数据方向寄存器DDRBx位位B口数据寄存器口数据寄存器PTBx位位内内部部数

16、数据据总总线线(2)B口逻辑电路框图口逻辑电路框图讳刹粟铭戎皂轧钥铂纠扛淋捂罚侩推掳阎键殴秘耪兄槐笨舜序亥弧聋捞祁飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/O6.1.3C口、口、D口和口和E口口(1)C口口对对44引脚的引脚的MC68HC908GP32芯片的芯片的C口只有口只有7根引脚:根引脚:PTC6pinPTC0pin,而,而40及及42引脚的引脚的MC68HC908GP32芯片的芯片的C口只有口只有5根引脚:根引脚:PTC4pinPTC0pin。下面以。下面以

17、44引脚的引脚的MC68HC908GP32芯片进行说明。芯片进行说明。C口只有普通口只有普通I/O功能,它的内部逻辑结构框图与功能,它的内部逻辑结构框图与A口逻口逻辑结构框图相同,只是其中的有关字母辑结构框图相同,只是其中的有关字母“A”改为字母改为字母“C”,地址作相,地址作相应改变即可。应改变即可。它也具有三个寄存器,它们是:它也具有三个寄存器,它们是:C口数据方向寄存器(口数据方向寄存器(DDRC)、)、C口口数据寄存器(数据寄存器(PTC)、)、C口上拉电阻允许寄存器(口上拉电阻允许寄存器(PTCPUE)。)。爹荫纲赞荔烟谈式篡妻知许最瓢陶株共衣鞘按霄隙晦骸酥汇漱蹋丹勇辨镇飞思卡尔8位

18、单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OC口数据方向寄存器(口数据方向寄存器(DDRC)的地址是:)的地址是:$0006,由于对应引脚只,由于对应引脚只有有7根,最高位没有意义。根,最高位没有意义。DDRC的第的第60位分别记为位分别记为DDRC6DDRC0,这些位分别控制着,这些位分别控制着C口引脚口引脚PTC6PTC0是输入还是输出,含义参考是输入还是输出,含义参考A口说明。复位时口说明。复位时DDRC为为$00。 C C口数据寄存器(口数据寄存器(Port C Dat

19、a RegisterPort C Data Register,PTCPTC)C口数据寄存器(口数据寄存器(PTC)的地址是:)的地址是:$0002,PTC的第的第60位分别记位分别记为为PTC6PTC0。含义请类比。含义请类比A口、口、B口的相应说明。口的相应说明。C C口上拉电阻允许寄存器(口上拉电阻允许寄存器(Port C Input Pullup Enable Port C Input Pullup Enable RegisterRegister,PTCPUEPTCPUE)C口上拉电阻允许寄存器(口上拉电阻允许寄存器(PTCPUE)的地址是:)的地址是:$000E。PTCPUE的第的第6

20、0位分别记为位分别记为PTCPUE6PTAPUE0。含义请类比。含义请类比A口的相应说明。口的相应说明。 C C口数据方向寄存器(口数据方向寄存器(Data Direction Register C,DDRCData Direction Register C,DDRC)鸳赣考踢嚷应甲趴仍炉汗锤蔑冈七钉左嫉龄扰役辰摧淘脑拖洪寝整舱帛锄飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/O对对于于40引引脚脚的的MC68HC908GP32芯芯片片的的D口口只只有有6根根引引脚脚:

21、PTD5PTD0。而而42及及44引引脚脚的的MC68HC908GP32芯芯片片的的D口口有有8根根引引脚脚:PTD7PTD0。下面以。下面以42及及44引脚的引脚的MC68HC908GP32芯片进行说明。芯片进行说明。D口是口是I/O功能与其它特殊功能(功能与其它特殊功能(SPI,TIM)复用口,这里只讨论)复用口,这里只讨论它作为普通它作为普通I/O口的功能。它的内部逻辑结构框图与口的功能。它的内部逻辑结构框图与A口逻辑结构框图相口逻辑结构框图相同,只是其中的有关字母同,只是其中的有关字母“A”改为字母改为字母“D”,地址作相应改变即可。,地址作相应改变即可。它也具有三个寄存器,它们是:它

22、也具有三个寄存器,它们是:D口数据方向寄存器(口数据方向寄存器(DDRD)、)、D口数据寄存器(口数据寄存器(PTD)、)、D口上拉电阻允许寄存器(口上拉电阻允许寄存器(PTDPUE)。)。(2)D口口佛材壕郁炸惠俄碉脆雹脏蔚竭和师尖女春评怀蜀撇鸣矛械疗川毙绸必比蛤飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OD口数据方向寄存器(口数据方向寄存器(DDRD)的地址是:)的地址是:$0007。DDRD的第的第70位分别记为位分别记为DDRD7DDRD0,这些位分别控制着

23、,这些位分别控制着D口引脚口引脚PTD7PTD0是输入还是输出,含义参考是输入还是输出,含义参考A口说明。复位时口说明。复位时DDRD为为$00。 D D口数据寄存器(口数据寄存器(Port D Data RegisterPort D Data Register,PTDPTD) D口数据寄存器(口数据寄存器(PTD)的地址是:)的地址是:$0003,PTD的第的第70位分别位分别记为记为PTD7PTD0。含义请类比。含义请类比A口、口、B口的相应说明。口的相应说明。D D口上拉电阻允许寄存器(口上拉电阻允许寄存器(Port D Input Pullup Enable Port D Input

24、Pullup Enable RegisterRegister,PTDPUEPTDPUE) D口上拉电阻允许寄存器(口上拉电阻允许寄存器(PTDPUE)的地址是:)的地址是:$000F。PTDPUE的第的第70位分别记为位分别记为PTDPUE7PTDPUE0。含义请类比。含义请类比A口的相应说明。口的相应说明。 D D口数据方向寄存器(口数据方向寄存器(Data Direction Register D,DDRDData Direction Register D,DDRD)呜储梭弘匡晶醋推樊伤慎撬蹿蜂烩抖舍留型六州盎帖啃摧丽翔癸班萤嗽尼飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt

25、课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/OE口口只只有有PTE1、PTE0引引脚脚。它它是是I/O功功能能与与串串行行通通讯讯接接口口(SCI)复复用用口口,这这里里只只讨讨论论它它的的普普通通I/O口口功功能能。其其内内部部逻逻辑辑结结构构框框图图与与B口口相相同,只需将其中的有关字母同,只需将其中的有关字母“B”改为字母改为字母“E”,地址作相应改变即可。,地址作相应改变即可。它有两个寄存器:它有两个寄存器: E E口数据方向寄存器(口数据方向寄存器(Data Direction Register EData Dire

26、ction Register E,DDREDDRE)E口数据方向寄存器(口数据方向寄存器(DDRE)的地址是:)的地址是:$000C。DDRE只有低两只有低两位有用。位有用。DDRE的第的第1、0位分别记为位分别记为DDRE1、DDRD0,这两位分别控制,这两位分别控制着着E口引脚口引脚PTE1、PTE0是输入还是输出,含义参考是输入还是输出,含义参考B口说明。复位时口说明。复位时DDRE为为$00。 E E口数据寄存器(口数据寄存器(Port E Data RegisterPort E Data Register,PTEPTE)E口数据寄存器(口数据寄存器(PTE)的地址是:)的地址是:$0

27、008,PTE的第的第10位分别记位分别记为为PTE1PTE0。含义请类比。含义请类比B口的相应说明。口的相应说明。(3)E口口返回返回爽寥雕倾题宁约童膏禽桓麦霖爷抢呵悼秦劈竞层法焊珍真尧振朗嗽衷灼茨飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.1 MC68HC908GP32的普通I/O6.2.1C口、口、D口和口和E口口(1)程序描述)程序描述 给出程序名、硬件连接以及基本功能等描述,还可以给出编制者、给出程序名、硬件连接以及基本功能等描述,还可以给出编制者、编制时间等,若调试过程有新的体会,也可在此添加。

28、编制时间等,若调试过程有新的体会,也可在此添加。(2)头文件与有关常量命名)头文件与有关常量命名 汇编语言也借用汇编语言也借用C语言中语言中“头文件头文件”的概念,将映像寄存器的地的概念,将映像寄存器的地址定义在址定义在“头文件头文件”中,程序直接使用寄存器地址所对应的中,程序直接使用寄存器地址所对应的“名称名称”。例如,有了。例如,有了“头文件头文件”,对,对“D口数据寄存器口数据寄存器”读出操作,可用读出操作,可用“LDAPTD”取代取代“LDA$0003”,更容易理解。,更容易理解。 6.2汇编程序编程框架汇编程序编程框架俩易汰确伎侵裁瘸石葛路禄辕札绊惠琼砂柯绊弟僳火拷臻语负源芍试杠剐飞

29、思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.2 汇编程序编程框架 如果程序中使用到内存变量,需在此定义。实际上,这里是对内如果程序中使用到内存变量,需在此定义。实际上,这里是对内存变量的声明,通常称为存变量的声明,通常称为“开辟内存变量开辟内存变量”,内存变量的初始化在主,内存变量的初始化在主程序开始部分完成。第一个内存变量需用程序开始部分完成。第一个内存变量需用“ORG”语句定位,随后,按语句定位,随后,按地址从小到大顺序存放。每个内存变量都有固定的内存地址。借用地址从小到大顺序存放。每个内存变量都有固定的

30、内存地址。借用C语语言术语,这里所开辟的所有内存变量都是言术语,这里所开辟的所有内存变量都是“全局变量全局变量”。对应于。对应于C语言语言中的中的“局部变量局部变量”将在讲解子程序规范时说明。将在讲解子程序规范时说明。(4)主程序)主程序主主程程序序一一般般包包括括初初始始化化与与主主循循环环两两大大部部分分。初初始始化化包包括括堆堆栈栈初初始始化化、系系统统初初始始化化、内内存存变变量量初初始始化化、I/O端端口口初初始始化化、中中断断初初始始化化等等。主主循循环环是是程程序序的的工工作作循循环环,根根据据实实际际需需要要安安排排程程序序段段,但但一一般般不不宜宜过过长长,建建议议不不要要超

31、超过过200行行,具具体体功功能能可可通通过过调调用用子子程程序序来来实实现现,或或由由中中断断程程序序实实现现。不不带带操操作作系系统统的的MCU程程序序总总有有一一个个主主循循环环,表表示示程程序序周周而而复复始地执行。始地执行。(3)内存变量)内存变量兵址退薪蹬田硼哀乌倍运谰陨蓬送认砍橇耶葡肿孙屁孰曝钨洽秦霓浇渣冗飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.2 汇编程序编程框架 若若有有不不单单独独存存盘盘的的子子程程序序,建建议议放放在在此此处处。这这样样在在主主程程序序总总循循环环的的最最后后一一

32、个个语语句句就就可可以以看看到到这这些些子子程程序序。建建议议不不要要超超过过3个个,每每个个子子程程序序不要超过不要超过200行。若有更多的子程序请单独存盘,单独测试。行。若有更多的子程序请单独存盘,单独测试。(6)外部子程序)外部子程序若若程程序序使使用用独独立立存存盘盘的的子子程程序序,可可在在此此处处使使用用“$include子子程程序序名名”将其包含。注意,独立存盘的子程序必须与主程序在同一个目录中。将其包含。注意,独立存盘的子程序必须与主程序在同一个目录中。(7)中断向量)中断向量中断向量一般放在最后。复位向量地址内容为中断向量一般放在最后。复位向量地址内容为MCU上电后执行的程上

33、电后执行的程序地址,即主程序的第一个语句地址。序地址,即主程序的第一个语句地址。(5)内部直接调用子程序)内部直接调用子程序系亮恨粉闭毫巫晤午邯恕阅三训泄渠郑崩删镊刊疲味养有虐萄株鸡突旋嘘飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.2 汇编程序编程框架 v 第一个程序第一个程序 6.2.2第一个可执行的第一个可执行的08汇编程序汇编程序返回返回追垮湃诽咐淘卖扰饿冀颓核补必欠城介毙要客涧张猩角晾傣市闭左撕控引飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO

34、与第一个汇编程序ppt课件6.2 汇编程序编程框架 6.308汇编语言编译过程所涉及的文件汇编语言编译过程所涉及的文件(1)头源文件()头源文件(.H)这是借用这是借用C语言中的概念,利用语言中的概念,利用.H文件,存放文件,存放MCU的映像寄存器的映像寄存器地址、定义常量等。地址、定义常量等。GP32ASM.H是包含是包含MC68HC908GP32的映像寄的映像寄存器地址的汇编语言头文件。使用存器地址的汇编语言头文件。使用08系列系列MCU的任何一种型号,均可的任何一种型号,均可拷贝此文件,并参考用户手册进行少量修改,获得相应芯片的映像寄拷贝此文件,并参考用户手册进行少量修改,获得相应芯片的

35、映像寄存器地址的头文件。存器地址的头文件。在嵌入式应用系统的实际开发中,建议采用面向在嵌入式应用系统的实际开发中,建议采用面向“实际对象实际对象”的的编程方式,可以使程序结构更清晰,移植性更强。例如,上一节给出编程方式,可以使程序结构更清晰,移植性更强。例如,上一节给出的实例程序是使一盏小灯闪烁,小灯是接在的实例程序是使一盏小灯闪烁,小灯是接在PTA口的第口的第1脚,程序中包脚,程序中包含定义含定义(见下页)(见下页)菇羔勋钮鸟总卖邵折陡床惋涛镊莲虫符缎罐瓶效快哪畅沪介鳞谣泼置勤善飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编

36、程序ppt课件6.3 08汇编语言编译过程所涉及的文件 *指示灯所接引脚定义指示灯所接引脚定义Light_PequPTA;灯灯(Light)接在接在PTA口口Light_DequDDRA;相应的方向寄存器相应的方向寄存器Light_Pinequ1;所在的引脚所在的引脚这样,点亮小灯的程序是:这样,点亮小灯的程序是:BCLRLight_Pin,Light_P熄灭小灯的程序是:熄灭小灯的程序是:BSETLight_Pin,Light_P若把小灯接在若把小灯接在PTB口的第口的第2脚,只要作如下变动:脚,只要作如下变动:*指示灯所接引脚定义指示灯所接引脚定义Light_PequPTB;灯灯(Ligh

37、t)接在接在PTB口口Light_DequDDRB;相应的方向寄存器相应的方向寄存器Light_Pinequ2;所在的引脚所在的引脚而小灯闪烁的主程序无需改变。实际对象所在引脚的定义,可集中或而小灯闪烁的主程序无需改变。实际对象所在引脚的定义,可集中或分类放在相应的头文件(分类放在相应的头文件(.H)中,硬件变动,只要更改头文件中引脚定义就)中,硬件变动,只要更改头文件中引脚定义就可以了,增强了程序的通用性。可以了,增强了程序的通用性。胃卵彤亢诧隶嚣剂可赡尉恢唱竹顺统窿焙灾经失藤奉黑壁职指商挣儡酚邱飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通

38、用IO与第一个汇编程序ppt课件6.3 08汇编语言编译过程所涉及的文件 源源程程序序文文件件,后后缀缀名名为为ASM。可可以以使使用用一一般般的的文文本本编编辑辑软软件件编编辑辑,以以ASCII形形式式存存盘盘。5.5.1节节已已经经对对08汇汇编编源源程程序序格格式式作作了了说说明明,上上一一节节给出了实例,关键是注意程序的书写规范。给出了实例,关键是注意程序的书写规范。(3)目标代码文件()目标代码文件(.S19)源程序文件经源程序文件经08编译器编译后可以获得目标代码文件(编译器编译后可以获得目标代码文件(.S19),它),它是是MotorolaMCU的机器码文件,将其下载到的机器码文

39、件,将其下载到MCU内部内部Flash存储器之存储器之后,后,MCU执行这些机器码。执行这些机器码。目标代码文件(目标代码文件(.S19)是以)是以S记录格式表示的机器码文件。记录格式表示的机器码文件。S记录格记录格式是式是Motorola公司的十六进制目标代码文件,它将目标程序和数据以可公司的十六进制目标代码文件,它将目标程序和数据以可打印的打印的ASCII码格式表示,可直接显示和打印。目标文件由若干行码格式表示,可直接显示和打印。目标文件由若干行S记录记录构成,每行构成,每行S记录可以用记录可以用CR/LF/NUL结尾。一行结尾。一行S记录由下列五部分组记录由下列五部分组成:成:类类型型记

40、录长度记录长度地地址址编码编码/数据数据校验和校验和2字节字节2字节字节2、3或或4字节字节0n字节字节1字节字节(2)源程序文件()源程序文件(.ASM)锤入豫令残题氢亢蚜楔怪共咀健靛宅民螟柑獭矾程霹腋寞像绦扔扒晾躺世飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.3 08汇编语言编译过程所涉及的文件 表表示示S记记录录的的类类型型。共共有有8种种记记录录类类型型S0、S1、S2、S3、S5、S6、S8、S9。它它们们是是为为了了满满足足不不同同的的编编码码、传传送送方方式式以以及及解解码码的的需需求求。AS

41、M08编译器只使用编译器只使用S1、S9两种类型构成目标文件。两种类型构成目标文件。S1该记录包含程序该记录包含程序/数据以及数据以及2字节存储其程序字节存储其程序/数据的存储器首地数据的存储器首地址。址。S9S1记录的结束记录。该记录没有程序记录的结束记录。该记录没有程序/数据部分。地址部分可数据部分。地址部分可包含控制将转向的包含控制将转向的2字节地址,如果不指定,则为第一次使用的入口地址。字节地址,如果不指定,则为第一次使用的入口地址。 记录长度记录长度表示该记录行中字符对的数目,不包括类型和记录长度。表示该记录行中字符对的数目,不包括类型和记录长度。 地址地址它可以是它可以是2个字节、

42、个字节、3个字节或个字节或4个字节,取决于记录类型。个字节,取决于记录类型。S1记录、记录、S9记录均是记录均是2个字节。它表示其后的编码个字节。它表示其后的编码/数据部分将要装入的存储器起数据部分将要装入的存储器起始地址。始地址。 编码编码/ /数据数据就是实际的目标程序或数据,这一部分将被下载到单片机的程序存就是实际的目标程序或数据,这一部分将被下载到单片机的程序存储器并运行。其字节数由储器并运行。其字节数由“记录长度记录长度”域的实际数值决定。域的实际数值决定。 校验和校验和为为1个字节,它是个字节,它是“记录长度记录长度”、“地址地址”、“编码编码/数据数据”三个部三个部分所有字符之和

43、的反码的低分所有字符之和的反码的低8位。供装入单片机时校验之用。位。供装入单片机时校验之用。 类型类型曝告柑材身莹妈缮台摸诈例国造蹦绘苗扎同饱城个扔哺巍容锗客范母聘焦飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.3 08汇编语言编译过程所涉及的文件 S11380009B45023F94CD802E1204120013006EFA99S113801040CD80253B40FA12006EFA40CD80253BCES113802040FACC800C87A6C89D9D4BFC868187A610S11380

44、3001B71EA63DB71F3F366E01366E01386E7ES11380402C396E803A6E013B1A361E3718368681FBS105FFFE80007DS9030000FC第一行第一行S11380009B45023F94CD802E1204120013006EFA99的的前两个符号前两个符号S1表示这一行是表示这一行是S1记录,其后的记录,其后的“13”是十六进制数是十六进制数$13,等于十进制数的,等于十进制数的19,表示在这一行中其后有,表示在这一行中其后有19个字节的数据,包括个字节的数据,包括2个字节的地址个字节的地址8000、16个字节的编码个字节的编

45、码/数据:数据:9B45023F94CD802E1204120013006EFA,最后一个字节,最后一个字节99为校验和,为校验和,大家可验证。大家可验证。范例程序经编译后得到的目标文件:范例程序经编译后得到的目标文件:暖蠕意素彼佑蚁锯愚堡屋徐旧涡入灭产克樟喀迹任务肉翼觉讣聂眷旧詹锥飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.3 08汇编语言编译过程所涉及的文件 编译过程还将产生列表文件(编译过程还将产生列表文件(.LST)。列表文件包含地址、目标代码、)。列表文件包含地址、目标代码、行号、源程序等信息,该

46、文件对用户很有帮助,它可以使用户清晰地看到行号、源程序等信息,该文件对用户很有帮助,它可以使用户清晰地看到程序代码的编译情况。列表文件的文件名与源程序的文件名相同,只是扩程序代码的编译情况。列表文件的文件名与源程序的文件名相同,只是扩展名不同展名不同。下图给出了上节实例程序的。下图给出了上节实例程序的.LST文件的片段文件的片段。121*主程序主程序8000122ORGFlashStartAddr;程序起始地址程序起始地址123MainInit:;复位后程序从此开始执行复位后程序从此开始执行124;系统初始化系统初始化80009B125SEI;禁止所有中断禁止所有中断800145023F126

47、LDHX#$023F;堆栈初始化为堆栈初始化为RAM最高端最高端800494127TXS8005CD802E128JSRGP32Init;系统初始化,初学时跳过此处系统初始化,初学时跳过此处地址地址目标代码目标代码行号行号源程序源程序(4)列表文件()列表文件(.LST)返回返回芝瞒傣斡糊玩本毕薛伸霖砷料钞做船泵腻酷蛆差傻崎窑悟润疟忻泪论雄平飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.3 08汇编语言编译过程所涉及的文件 6.4SD-HC08嵌入式嵌入式MCU在线编程在线编程集成开发系统集成开发系统6.4.

48、1硬件系统说明硬件系统说明(1)总体结构布局)总体结构布局 实验板硬件部分主要由实验板硬件部分主要由MC68HC908GP32芯片及外围电路、芯片及外围电路、LCD、键盘、模块化电源、串行口驱动电路、键盘、模块化电源、串行口驱动电路、IC插线及其它元件扩展槽、输出插线及其它元件扩展槽、输出开关量接线排、输入开关量接线排等部分组成,其主要作用是通过开关量接线排、输入开关量接线排等部分组成,其主要作用是通过MC68HC908GP32芯片的监控程序和芯片的监控程序和PC机进行通信,完成芯片程序的机进行通信,完成芯片程序的写入、运行、断点调试。写入、运行、断点调试。亿诉辖串裸挖秩羔搔粳痉球漂笺更瞪嚎钧

49、吵固翁里莱例藐足故舟邦齿酌招飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 系统的硬件布局框图:系统的硬件布局框图:电源指示灯电源指示灯LCD插孔插孔键盘键盘电位器电位器2电位器电位器1电源电源开关开关IC插线及其它元件扩展槽插线及其它元件扩展槽AIC插线及其它元件扩展槽插线及其它元件扩展槽B8位拨线开关位拨线开关PTAMC68HC908GP32芯片芯片写入器引线写入器引线键键盘盘接接线线区区MAX232发送指示灯发送指示灯键盘插孔键盘插孔串行口串行口FUSE

50、8个输出指示灯个输出指示灯PTBPTCPTD蜂鸣器蜂鸣器LCD自行接线区自行接线区RSTSD-HC08(GP32)SD-HC08(GP32)实验板布局实验板布局凭杰哺仁婿爵宴撩屠股茁奉惧崭池旅捧韩验远酚绽肠虾垮赞断某匆豪悸径飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 将实验开发板的串行口通过串行通信线与将实验开发板的串行口通过串行通信线与PC机的串行口机的串行口1或或2连接。连接。接通实验开发板电源,电源指示灯亮。接通实验开发板电源,电源指示灯亮。连接实验

51、所需线路连接实验所需线路。按实验板上的复位按钮。按实验板上的复位按钮。执行执行PC机的配套软件,硬件系统等待机的配套软件,硬件系统等待SD-1软件系统的握手信号。软件系统的握手信号。(2)连接方法)连接方法笼绝美披馈禾琉途辙用祟袱咖捉淖灶封元蓑膝幅汞功秃销擂谬袍慰湃酱吗飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 实验开发板用拨线开关提供实验开发板用拨线开关提供8位数字量的输入。拨线开关状态为位数字量的输入。拨线开关状态为OFF时是高电平,拨线开关状态为时是

52、高电平,拨线开关状态为ON时是低电平。时是低电平。(4)开关量输出)开关量输出实验开发板用实验开发板用LED提供提供8位开关量的输出。导线接插点为高电平位开关量的输出。导线接插点为高电平时时LED是暗的,低电平时是暗的,低电平时LED是亮的。是亮的。实验开发板含有蜂鸣器输出,实验开发板含有蜂鸣器输出,(5)模拟量输入)模拟量输入MCU电位器电路实验开发板利用电位器提供两路模拟量输入,供进电位器电路实验开发板利用电位器提供两路模拟量输入,供进行行A/D转换实验使用。转换实验使用。(6)元件扩展口)元件扩展口实验开发板提供元件扩展口,使用者可以进行实验开发板提供元件扩展口,使用者可以进行IC扩展。

53、扩展。液晶显示接口、键盘接口、串行口分别见后面的相应章节。液晶显示接口、键盘接口、串行口分别见后面的相应章节。(3)开关量输入)开关量输入橙荤周圈绎舵铅侠笺脑豆境痘侥矫她门差稀及搅陷徐便糯窜琐暑博沁环托飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 6.4.2软件使用说明软件使用说明系统软件功能的主要结构,如下图所示系统软件功能的主要结构,如下图所示。在线编程开发系统在线编程开发系统文文件件处处理理源源文文件件编编辑辑源源文文件件编编译译帮帮 助助断断 点点

54、调调 试试目目标标代代码码写写打打 印印S S1 19 9文文件件分分解解建建立立通通信信线线路路数数据据传传输输汇汇编编代代码码编编译译编编译译出出错错处处理理设设置置断断点点建建立立通通信信线线路路数数据据传传输输分分解解显显示示数数据据C C代代码码编编译译当捍作凭柯革勉玖痕循害蛔谭吾擂耀然妮蓬陶呻箍损韭谭肋抠恭俞描蛤枣飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 工程管理。工程管理。源文件编辑。源文件编辑。源文件编译。源文件编译。目标代码写入芯片。目

55、标代码写入芯片。断点调试。断点调试。(1)软件系统基本功能)软件系统基本功能浙蔷祷逛哈谈邻雍佛蹭骋迎坝盖扒跋造非幅弦警酋案议剪骗用悠刑回拆填飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 SD-1V20型型MC68HC908GP32MCU在线实验开发系统采用了在线实验开发系统采用了WIN32的的MDI风格,操作方便,直接支持风格,操作方便,直接支持Motorola的的.S19文件格式,文件格式,不改变用户中断向量,写入后直接转入用户程序执行。不改变用户中断向量

56、,写入后直接转入用户程序执行。新建工程。新建工程。源文件编辑。源文件编辑。编译设置。编译设置。编译工程。编译工程。下载程序。下载程序。(2)软件系统使用)软件系统使用返回返回锚赋峰腥曰猛悬域悠庄钩獭笔务晋介有奄券洱窿潍撮忽雄宇隅眉看惰柞锄飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件6.4 SD-HC08嵌入式MCU在线编程集成开发系统 本章小结本章小结通通过过6.1节节普普通通I/O的的学学习习,理理解解MCU编编程程的的基基本本原原理理,掌掌握握寄寄存存器器的的使使用用方方法法。必必须须认认真真仔仔细细阅阅读读6.2节节、6.3节节给给出出的的08汇汇编编与与08C语语言言的的编编程程框框架架,参参考考实实例例进进行行体体会会,一一开开始始就就形形成成良良好好的的编编程程规规范范。在在学学习习范范例例的的基基础础上上,动动手手编编制制I/O程程序序,进进行行实实际际的的编编程程及及调调试试训训练练,由此入门。由此入门。返回返回椎捷镣撤惨谨正磋怂倡羊纫躁倾刹乱灵噪源金峡猜胞嘛驹在钨撰身娃幽囚飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件飞思卡尔8位单片机MC9S86通用IO与第一个汇编程序ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号