MC68HC08单片机程序设计速成.docVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MC68HC08单片机程序设计速成.doc

MC68HC08单片机程序设计速成 MC68HC08端口简介和程序的一般框架 作为第一篇从软件介绍MC68HC08的文章,我们先从软件的角度认识认识这个四十多只脚的东东吧。 虽然它只有四十多只管脚,但是,几乎所有的管脚都是复用的,即身兼两职。主要可分为电源,晶振,ABCDE五组端口,中断,复位等等。 趁着大家精力还算旺盛,先说最有用的,最容易的。ABCDE五组端口 每组端口都有两个寄存器,一个叫方向寄存器,用来说明这个端口用作输入还是输出。五个端口的方向寄存器分别叫做:DDRA,DDRB,DDRC,DDRD,DDRE。每个寄存器都有八位,分别为对应管脚的输入输出方向。如DDRB=0(b指二进制数。此数亦可以写成十六进制数0x60)规定B端口的第五第六两管脚作为输出,其它作为输入。 另一个叫数据寄存器,也是八位。分别是PTA到PTE。端口当作输出的时候,可以写寄存器。端口当作输入的时候可以读寄存器。当某位为1的时候,端口为管脚高电平,当为、0的时候,端口管脚为低电平。比如,我想让B端口的第五位(作输出)为低电平,则写作PTB_PTB5=0; 每个端口都能作为平常的输入输出端口。另外,每个端口都有第二功能。 A端口:八个管脚 常用作键盘输入。此时,端口作为输入。硬件自动置A口所有位为高电平。某键被按下时,产生低电平,从而达到检测按键的目的。键盘操作见《外部中断和键盘中断》一文。 B端口:八个管脚 常用作A/D转换器输入端口。对应了八个输入通道。 C端口:六个管脚 可用作LED指示灯的输出接口。如本实验室的开发板将PB0-PB4与五个指示灯相连。低电平点亮。 D端口:六个管脚 功能比较多,有计数器输入管脚2个,SPI通信管脚2个等 E端口:只有两个管脚 经常作为串口收发端,PTE0为TX,PTE1为RX 中断信号: 管脚,平常为高电平,当收到低电平信号时产生一个外部中断。 晶振:OSC2 OSC1 和COMXFC 复位信号管脚 。 电源管脚:略 第二个主题:程序的基本框架 MC68HC08程序的框架比较统一,下面介绍两种最常用的。 查询式程序框架: //step0 变量定义 #include hidef.h #include MC68HC908GP32.h void main(void){ //step1 初始化CONFIG控制字 CONFIG1=0x01; CONFIG2=0x01; //step3 初始化锁相环 PCTL=0X00; PBWC=0X80; PMSH=0X03; PMSL=0XD1; PMRS=0XD0; PMDS=0X01; PCTL=0X32; DDRC=0XFF; PTC=0XFF; //step4设置其它初始化控制字 //step4 进入循环 for(;;){ //step5 在循环中作端口输入输出的工作 if (寄存器可以读) 读寄存器; if(寄存器可以写)写寄存器; … } 中断式程序框架: Step1-3 与查询式一样 //Step4 设置其它初始化控制字,并开启有关中断。 //step5开中断 EnableInterrupts; //step6 进入死循环 For(;;); } //step7 设计中断服务程序,就是中断响应函数,有几个中断向量就写几个 Interrupt 中断号 intResponce(void){ 禁止有关中断; 进行寄存器读写操作等; 允许有关中断; } //其中intResponce是函数的名称,可以自行订制。 熟悉查询与中断的基本工作方式是了解单片机程序的前提。下面就要介绍各种很有用的功能啦。不过为了先拣好玩的说,另外为了给以后的文章做基础。先说一说它最友好的输出方式——五位七段数码的显示方法 五位七段数码管驱动芯片MC14489编程说明 ??? MC14489是一个将五个七段数码管和MPU相连的驱动器,它与MPU通过SPI串行外设通讯协议进行通讯。 ??? 它有两个状态:显示状态和设置数值状态,当PTE_PTE1==0时,切换到设置状态,当PTE_PTE==1 时,切换到显示状态。 显示字符 数码管显示的值与输入到底是什么关系呢?首先,看它的显示字符表 ? ??? 可见,它有两种显示模式,当我们输入一个十六进制的数字时,若为第一种模式,就直接显示出它,若为第二种模式,则显示对应的字符。 ??? 那么怎么切换这两种模式呢?在传递完五个十六进制数字之后,还要传递一个模式选择的8位二进制数,这个数字规定了每一个七段显示器到底用第一个模式还是第二个模式。 位 7 6 5 4 3 2 1 0 ? ? ? 第五管模式 第四管模式 第三管模式 第二管模式 第一管模式 1 ??? 1到5位中,置0代表十六进制

文档评论(0)

mghkfg58 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档