首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
飞思卡尔™半导体(Freescale Semiconductor)
» [分享]关于使用飞思卡尔单片机的心得
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
[分享]关于使用飞思卡尔单片机的心得
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
1
#
打印
字体大小:
t
T
康桥人
发表于 2008-4-22 22:57
|
显示全部帖子
[分享]关于使用飞思卡尔单片机的心得
单片机
,
卡尔
,
心得
,
分享
大家有什么关于使用飞思卡尔的心得与体会可以写在这里,与大家共享啊,呵呵.另个欢迎大家关注我的BLOG:http://blog.eccn.com/go.asp?user=super323
收藏
分享
评分
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
订阅
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
2
#
康桥人
发表于 2008-4-22 23:01
|
显示全部帖子
对于单片机而言,IO口是十分重要的,了解了IO口后,能够进行一些小的控制,如控制一个LED灯的亮灭等.
对于飞思卡尔S12单片机,80LQFP封装的芯片有59个IO口,112LQFP有91个IO口.一般情况下,如果我们不考虑其功耗问题,主要用到了以下几个寄器。DDRT,PTT,PTIT。.
以T口为例。DDRT:方向寄存器,选择IO口的方向,是输入还是输出。PTT:数据寄存器,写端口一般用这个,如果将T0引脚输出为1,则为:PTT_PT0=1;为0:则可用:PTT_PTT0=0;另外,当引脚处于输出状态,然要读回引脚的状态,也可以调用些寄存器。但是,如果当引脚是输出而又要知道当前引脚状态,这时候如果读PTT寄存器就有可能错误了,为什么呢?因为有可能引脚状态是由外部决定的,比如:输出为1,然而外部确强制拉低,如果读PTT,读回来的为1,然后读PTIT则为0了。
IO口的系统图如下:
另外对于IO口方面的寄存器,还有RDRX,PERX,PPSX等寄存器!
注意:上面例子中的PTT_PTT0=1,并不表示S12单片机可以位寻址,而是编译器作了相应的变换。具体可以查阅其头文件!
有些爱好者,先前用过51单片机,而51单片机可以位寻址,如sbit Led = P0^0.[upload=image/pjpeg]uploadImages/422710960.jpg[/upload]
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
3
#
康桥人
发表于 2008-4-23 12:50
|
显示全部帖子
呵呵,又长见识了,能几个举例子吗?开关中断好象是位寻址的“DisableInterrupts;”
“EnableInterrupts”
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
4
#
康桥人
发表于 2008-4-23 16:06
|
显示全部帖子
http://bbs.chinaecnet.com/uploadImages/IO.rar
上传一个IO的例子,下载到清华的板子里面会有LED闪烁的现象!
接下来说中断了:先上传一个外部中断的例子再说:http://bbs.chinaecnet.com/uploadImages/INT.rar
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
5
#
康桥人
发表于 2008-4-24 12:48
|
显示全部帖子
对于中断的一些注意事项,首先中断程序必须放在非分页地址中,其次中断有很多种写法,这里介绍两种,1,用中断矢量对应的中断号;2:修改PRM文件,将中断加进去.注意:如果用监控程序调试目标板,不能用中断号,必须在PRM文件中修改,否则不能进入中断,或者进入错误.
中断矢量对应的中断号,可以在头文件中找到,也可也在数据手册中找到,对于数据手册,在"9S12DT128DGV2.pdf"第81页,有一个中断向量表,Table 5-1 Interrupt Vector Locations,从上往下数数,从0开始,找到相对应的中断地址,然后找到号就得到了此中断对应的中断号!
对于头文件,以DG128为例,在MC9S12DG128.h中,
#define VReserved63 0x0000FF80
#define VReserved62 0x0000FF82
#define VReserved61 0x0000FF84
#define VReserved60 0x0000FF86
#define VReserved59 0x0000FF88
#define VReserved58 0x0000FF8A
#define Vpwmesdn 0x0000FF8C
#define Vportp 0x0000FF8E
#define Vcan4tx 0x0000FF90
#define Vcan4rx 0x0000FF92
#define Vcan4err 0x0000FF94
#define Vcan4wkup 0x0000FF96
#define VReserved51 0x0000FF98
#define VReserved50 0x0000FF9A
#define VReserved49 0x0000FF9C
#define VReserved48 0x0000FF9E
#define VReserved47 0x0000FFA0
#define VReserved46 0x0000FFA2
#define VReserved45 0x0000FFA4
#define VReserved44 0x0000FFA6
#define VReserved43 0x0000FFA8
#define VReserved42 0x0000FFAA
#define VReserved41 0x0000FFAC
#define VReserved40 0x0000FFAE
#define Vcan0tx 0x0000FFB0
#define Vcan0rx 0x0000FFB2
#define Vcan0err 0x0000FFB4
#define Vcan0wkup 0x0000FFB6
#define Vflash 0x0000FFB8
#define Veeprom 0x0000FFBA
#define Vspi2 0x0000FFBC
#define Vspi1 0x0000FFBE
#define Viic 0x0000FFC0
#define VReserved30 0x0000FFC2
#define Vcrgscm 0x0000FFC4
#define Vcrgplllck 0x0000FFC6
#define Vtimpabovf 0x0000FFC8
#define Vtimmdcu 0x0000FFCA
#define Vporth 0x0000FFCC
#define Vportj 0x0000FFCE
#define Vatd1 0x0000FFD0
#define Vatd0 0x0000FFD2
#define Vsci1 0x0000FFD4
#define Vsci0 0x0000FFD6
#define Vspi0 0x0000FFD8
#define Vtimpaie 0x0000FFDA
#define Vtimpaaovf 0x0000FFDC
#define Vtimovf 0x0000FFDE
#define Vtimch7 0x0000FFE0
#define Vtimch6 0x0000FFE2
#define Vtimch5 0x0000FFE4
#define Vtimch4 0x0000FFE6
#define Vtimch3 0x0000FFE8
#define Vtimch2 0x0000FFEA
#define Vtimch1 0x0000FFEC
#define Vtimch0 0x0000FFEE
#define Vrti 0x0000FFF0
#define Virq 0x0000FFF2
#define Vxirq 0x0000FFF4
#define Vswi 0x0000FFF6
#define Vtrap 0x0000FFF8
#define Vcop 0x0000FFFA
#define Vclkmon 0x0000FFFC
#define Vreset 0x0000FFFE
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
6
#
康桥人
发表于 2008-4-28 21:51
|
显示全部帖子
对TCNT分频用的
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
发短消息
加为好友
康桥人
当前离线
UID
187580
帖子
525
精华
2
积分
1821
阅读权限
70
在线时间
19 小时
注册时间
2008-3-19
最后登录
2013-6-23
金牌会员
UID
187580
性别
男
7
#
康桥人
发表于 2008-4-30 16:00
|
显示全部帖子
好像不能上传附件了,只能等到论坛好用了再说吧,唉,写好的中断方法没有办法上传
个人BLOG:http://blog.eccn.com/u/107300/index.htm
回复
引用
TOP
返回列表
测试测量
ARM
软件开发
MCU 单片机技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议