一个51的小系统代码

    我有一个自己重头写的51的小系统代码.

    那还是在我第一份工作的时候,为了,真正的理解一个电视的芯片是如何的时候,自己重新写的系统代码,后来用到了很多单片机(Renesas 16p62)中,也在别的项目中加了一些有用的元素进去,成为一个自己的小小的参考代码.

    包含了:

    1. GPIO的控制----51的GPIO控制很简单,只要写1或0到对应的P口,而其他的单片机就不一样,需要配置pin的使用方式,输入或输出等,然后才能用另外的寄存器来控制它.一般我写单片机程序,这是第一步(如果不是那种别人已经建立好了系统的话,呵呵)

    2. UART-----很早以前以为UART是必须用中断的,但是现在发现在有些芯片的"简单"程序里可以不用,比如arm有自己的FIFO.但是还是比较倾向于用中断,这样比较可靠.这段程序,使用了一个FIFO来存储信息,FIFO里用了一个哑元节点,用数组实现的.

    3. 有一个IR5的遥控解码的代码,最开始那个代码写的很乱,或者是我当时水平不够,呵呵,总之我重新写了,参考协议,利用了FSM(有限状态机),还总结了一个在没有仿真器的情况下调试这种协议的小技巧(因为协议的处理是有时间限制的,有时候要在中断里处理),呵呵,很是有用.

    4. 有一个NEC的遥控解码的代码,事实上这部分代码不是我自己写的,但是我看明白了,而且把其中的错误找出来了,当时是一个有专用timer的51上面,后来把这部分代码改成用一个外部沿中断配合timer中断的双中断互相依赖的一个程序,可以用到普通的51或其他单片机上.

    5. 一个终端服务程序,接受串口FIFO里的信息,然后解析,处理,比较简单的程序,但是可移植性高,而且程序存储空间消耗低.

    6. 另一个终端,说是终端,但是,它是接收一个包一包的发的,所以,可以移植到网络上,不过PC端不能用普通的超级终端了.

    7. 一个学习<<嵌入式系统编程>>以后,掌握的一个内存的测试方法,可以测试内存有没有在地址线和数据线上短路或者断路之类的方法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值