《匠人手记》推荐网上购书渠道:
  互动出版网(china-pub)   >>>
  当当网(dangdang)   >>>
  卓越亚马逊网    >>>
  淘宝网(taobao)   >>>
  更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴新100贴

载入中...

广告3号位
百宝日历
载入中...

百宝专栏

说明:请先返回首页,再点击下列专栏即可进入。
  • 首页 相册 标签
  • 匠人公告(87)
  • 匠人笔记(144)
  • 匠人文集(167)
  • 写书近况(189)
  • 团队撰写(96)
  • 与非门专栏(566)
  • 比尔熊专栏(12)
  • 网络酷文(492)
  • 程序宝典(477)
  • 程序算法(28)
  • 编程技巧(482)
  • 资料宝藏(280)
  • 硬件技术(178)
  • 汽车电子(52)
  • 藏经宝阁(47)
  • 项目管理(15)
  • 趣味设计(6)
  • 社区热贴(5)
  • 开发工具(19)
  • 电脑应用(66)
  • 供需信息(24)
  • 最新货色

    载入中...

    粉丝评论

    载入中...

    载入中...



    百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)


    匠人手记

    购书攻略勘误表

    开发板专卖——淘宝店

     编程技巧: 优质代码的十诫

    MC68HC908JL8匠人应用手记4
    程序匠人 发表于 2005-9-11 22:02:00  阅读全文 | 回复(0) | 引用通告 | 编辑

    MC68HC908JL8

    匠人应用手记

    17.如何产生LST文件

    系统缺省时不会产生LST文件.如果需要查看LST文件,可以:

    1.     选择菜单[edit]->[P&E ICD SETTINGS]

    2.     在弹出窗口中选择[TARGET]->[ASSEMBLER FOR ……](汇编);或[COMPILER FOR ……](C)

    3.     在窗口右边点击[options]

     

    4.     在新弹出窗口中切换到[OUTPUT]页

    5.     [generate listing file]前打勾即可

     

     

    18.工程文件的组织方法

    huangxd 发表于 2005-7-11 10:28 侃单片机   

     

    一个大的单片机程序往往包含很多模块,我是这样组织的

    1。每一个C源文件都要建立一个与之名字一样的H文件,里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义啊等等不应该有。

     

    2。建立一个所有的文件都要共同使用的头文件,里面当然就是单片机的管脚使用的定义,还有里面放那些需要的KEIL系统的头文件,比如 include<reg52.h>,#i nclude<absacc.h>等等,把这个文件命名为common.h,或者干脆就叫main.h

     

    3,每个C源文件应该包含自己的头文件以及那个共同的使用的头文件,里面还放自己本文件内部使用的全局变量或者以extern定义的全局变量

     

    4。主文件main.c里面包含所有的头文件包括那个共同使用的文件,main.c里面的函数可以再做一个头文件,也可以直接放在文件的开头部分声明就可以了,里面一般还有中断服务程序也放在main.c里面

     

    5。对于那些贯穿整个工程的变量,可以放在那个共同的使用的头文件里面,也可以用extern关键字在某个C源文件里面定义,哪个文件要使用就重复定义一下

     

    6.建立工程的时候,只要把C源文件加到工程中,把H文件直接放到相应的目录下面就可以了,不需要加到工程里面。

     

    19.关于MON08

    MON08中疑惑的问题?

    我看可很多freescale的单片机的datasheet,MONitor ROM一章中会提到有两种进入monitor rom的方式,一种为normal方式,一种为forced方式.forced方式较为简单,不需要占用太多的I/O,不需要一个高电压,但是它需要一个特殊的条件,就是

    If $FFFE and $FFFF contain $FF

    其中$FFFE and $FFFF 是复位时的地址,也就是说只有在复位向量中包含FFFF,FFFF时在能进入这种方式.我对这一点不是很理解.它的意思是不是在芯片中没有程序的时候.才能进入forced mode.

    因为在上电复位的时候,$FFFE and $FFFF 中的数据会装入程序计数器中,我想问下,$FFFE and $FFFF 中在芯片为空的时候是什么数据?在芯片非空的时候是什么数据?

    ----------------------------------------------

    发贴时间: Jul 21 2005 9:15AM ||          

     

    strongchen    

     头衔:版主

    对,$FFFE$FFFF就是复位中断的矢量地址。当芯片为空时,复位矢量也为空,其中的数据为$FFFF。当芯片复位后,监控程序会检测复位矢量的值,如果发现数据为空(即为$FFFF),监控程序会强制启动,使芯片进入监控模式,即所谓的强制方式(forced)。

    ----------------------------------------------

    发贴时间: Jul 21 2005 9:56AM ||         

     

    天涯倦客    

    那这种烧写方式意义好像不大啊,只有是空芯片才能进入监控方式.如果单只有这种方式,那好像就是一次性烧写了.

    ----------------------------------------------

    发贴时间: Jul 21 2005 10:16AM ||         

     

    strongchen    

     头衔:版主

    所以还有一种正常方式(normal)。当芯片不空时,通过特殊电平的设置,仍可以进入监控模式。

    ----------------------------------------------

    发贴时间: Jul 21 2005 11:34AM ||         

     

    天涯倦客    

    谢谢版主,这个我知道,但是这种方式需要占用一些I/O,不过现在也在凑合着用.i/o口尽量复用吧

    ----------------------------------------------

    发贴时间: Jul 21 2005 11:45AM ||         

     

    strongchen    

     头衔:版主

    只是复位时需要几个口线的电平设置。进入监控状态后,只需一个口进行通讯,其余的口线都被释放,可用回正常功能。

    ----------------------------------------------

    20.mon08的仿真模式的断点

    黄果树 发表于 2005-8-1 00:24 侃单片机 ←返回版面   

    code warrror功能强大,但是感觉界面没有PICMPALB友好,特别是仿真时另外弹出一个窗口,不能在此窗口修改源代码,编译.!

    听说code warrror软仿真功能强大,一直没有琢磨过,期望那天有高手出马,写本教程!

    mon08的仿真模式,断点只能设一个,占用IO,没有经验的很难连接上,连接上也会很容易死掉,必须复位..还不如一些小***的mcu(也用片上仿真).目前我用过的最好的片上仿真的8bit mcuzilog的新款flash mcu,专用一个DBG口仿真烧录,一连就上.百发百中:)

    21.关于MON08调试的频率

    由于强制通讯波特率为FBUS/256,因此总线频率受到主机软件允许的标准波特率的限制

    当晶振=9.8304MHZ,内部总线=9.8304/4=2.4576MHZ.

     

    这里会有一个问题,即调试时的工作频率和产品的实际工作频率不一致

     

    22.关于运算中需要注意的问题

    当不同长度的变量进行运算时,要特别当心,避免某些变量被截肢

    //比如:

    unsigned long aaa;

    unsigned int bbb;

    unsigned int ccc;

            bbb=1000    ;

            ccc=2000;

    //下面的指令计算后,aaa并没有如预期的变成20000000,而是变成了33920,原因是高位被裁减掉了

            aaa=bbb*ccc;

    //改成下面的指令后,结果正确

            aaa=ccc;

            aaa=aaa*bbb;

    23.PLL功能的启动方式

     

    //--------------------------------------------------------

    //启动PLL功能(8MHZ)

    //

    //总线频率与参数值表(外部晶振=32.768KHZ)

    //--------------------------------------------------------

    void PLL_ON(void)

    {

           PCTL = 0 ;                          //设置PCTL,关闭中断

     

           PCTL_PRE = 0 ;                         //P

           PCTL_VPR = 2 ;                         //E

           PMS = 0X03D1 ;                        //N

           PMRS = 0XD0 ;                         //L

           PMDS = 1 ;                         //R

     

           PCTL_PLLON = 1 ;                    //启动VCO时钟

           PBWC_AUTO = 1 ;                            //设置工作模式自动

           while(!PBWC_LOCK) ;                //等待PLL稳定

           PCTL_BCS = 1 ;                         //选择PLL信号为系统时钟源

     

           asm nop ;

           asm nop ;

    }

     

    相关连接:ICS08 FREESCALE(Motolora)单片机仿真编程器

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]

    广告3号位 [投放]

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》废站
  • 《匠人的百宝箱》土豆视频站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     

    推荐阅读

     

    友情连接

     [更多酷站连接]

     

     

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [hotpower 的水潭]

    [八楼的呼吸]

    [柔月阁]

    [PIC论坛]

    [SMARTCODE电子书斋]

    [阿摆手记]

    [电子伙伴]

    [xwj的文君阁]

    [所长的BLOG]

    [海边淘沙]

    [单片机开发联盟]

    [数字电视之家]

    [软件开发之窗]

    [unaided的笔记]

    [小飞的笔记]

    [ICC AVR开发网]

    [我爱研发网]

    [infernal的笔记]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [水牛的仓库]

    [逍遥电子]

    [ningpanda的博客]

    [雄鹰的空中加油站]

    [一网见天下]

    [Armoric]

    [股剩是怎样炼成的]

    [嵌入式365]

    [C-Design]

    [AVR猎手的地盘]

    [中国高校自动化网]

    [SunK]

    [工控365网]

    [煮透社]

    [白沙的香烟盒]

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    大学生电子网 

     

     

     

     

     

     

     

     《匠人的百宝箱》