- 3
- 0
- 约9.43千字
- 约 13页
- 2017-03-05 发布于重庆
- 举报
HCS12学习笔记-从IO口道其他模块
HCS12?中断向量表
中断向量表是HCS12编程时时常需要查阅和用到的,在此优先贴出来~
?
?
从IO口讲起__HCS12学习笔记(1)
(IO口都有复用功能,在一开始,我只对输入输出做了解,以完成键盘和显示的功能,使用的实验板DP256的DEMO,显示是LED小灯,键盘是开关。
A、B、E、K可以通过寄存器控制是否上拉电阻,他们共用一个使能位PUCR。
H、J、M、P、S、T也可做普通IO口,基本与A口类似。
1.1 输出
程序用到了,PORTB口的输出,控制小灯的亮和暗,设置DDRB都为高位,就可以使得B口输出,也就是IO口的初始化,PORTB的值用来控制小灯的初始亮和灭。
通过软件就可以控制小灯的亮的顺序等等功能。
1.2 输入
同上,DDR变成低位就是输入,这里为了实现键盘,IO口设置其上拉,在空接时为高电平。IO口还可以设置中断,这里没有用到,也没有查到相关资料,先空着。
?
通用寄存器表,以H口为例:
?
数据方向寄存器?? DDRH
IO口寄存器?????? PTH
输入寄存器?????? PTIH 引脚为输入时,值为对应电平,输出时,监视引脚是否超载或短路,是为1.
低功耗驱动寄存器 RDRH
上拉下拉使能寄存器 PERH
上拉下拉选择寄存器 PPSH?0为上拉,1为下拉
?
初始对于嵌入式的了解也需要从最简单的例子开始,比如小灯和键盘,我使用的开发板是摩托罗拉公司的HCS12dp256b的demo板子,键盘只有H口对应的八位开关,LED灯也是最简单的,对应了B口,一开始容易弄错的是硬件上,灯是1亮还是0亮,或者开关方向开的时候是1还是关的时候是1.我的板子,开关是闭合为0,一开始总没有弄对,也是这方面没有搞清楚,最后将开关口(H)上拉后,问题迎刃而解。
串行通信口SCI__HCS12学习笔记(2)
(基本概念:
SCI采用NRZ数据格式,用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。空闲状态为1,发送器通过发送一个0表示一字节传输开始随后是数据位,最后发送1~2位的停止位,表示一字节的传送结束。一个开始位到一个停止位,为1帧Frame。
??? 波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400。随着波特率的提高,信号受干扰的程度也越大,因此,串行口的传输速率有限。
?
寄存器:
对于编程者来说,直接面对的就是寄存器,因此对于寄存器的介绍是非常重要的。
这里只列举,详细各个位的介绍参照数据手册:
波特率寄存器 SCIBDH SCIBDL H的高3位无效,因此一种13位1~8191
控制寄存器?? SCICR1 SCICR2 传输格式,中断使能
状态寄存器?? SCISR1 SCISR2 中断标志,发送与接收状态
数据寄存器?? 收发的数据
?
初始化、收、发子函数:
?
//串行通信需要用到的头文件#include mc9s12dg128.h??? //MCU映像寄存器名#include Type.h?????????? //类型别名定义
//串行通信寄存器及标志位定义#define ReSendStatusR SCI0SR1? ??? //SCI状态寄存器#define ReTestBit???? 5??????? ??? //接收缓冲区满标志位#define SendTestBit?? 7??????? ??? //发送缓冲区空标志位#define ReSendDataR?? SCI0DRL? ??? //数据寄存器
//串行通信相关函数声明void SCIInit(void);??????????? ?????? //串行口初始化函数声明void SCISend1(INT8U o);????????? ?? //串行发送1个字节void SCISendN(INT8U n,INT8U ch[]);??? //串行发送n个字节INT8U SCIRe1(INT8U *p);?????????????? //串行接收1个字节INT8U SCIReN(INT8U n,INT8U ch[]);???? //串行接收n个字节
?
//特别声明,这里的INT8U表示8位无符号数
//[SCI.c]串行通信*//本文件包含:????????????????????????????????????????????????????????????? *//??? (1)SCIInit:串行口初始化????????????????????????????????????????????? *//??? (2)SCISend1:串行发送1个字节???????????????????????????????????????
原创力文档

文档评论(0)