最新日志

发表于:2008-7-18 11:30:53
标签:无标签

0

评论(0) | 阅读(26)
发表于:2008-7-16 17:09:50
标签:无标签

0

发一个coldfire(52235)UART中断的工程

程序好使的,FLY6朋友看来对UART有点疑问,这样我把我调试过的程序拿过来,里面内容不多也不难,我就不注释了哈。呵呵。
点击下载

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(6) | 阅读(66)
发表于:2008-7-13 22:00:33
标签:无标签

0

c-ncap想翻案,真不容易。

别的不说什么了,只是在中国做事情,首先不要把别人都当成是傻子。

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类:    |    来源: 原创

评论(0) | 阅读(117)
发表于:2008-7-11 14:57:24
标签:9S12  汇编  

0

在codewarrior环境中看汇编指令机器码和机器码查询表的使用(图)

有时候查询机器码是很有用的,这里汇编语言编程调试使用codewarrior 4.6版,在全片仿真调试界面右上角的Assembly窗口点右键,选择“display”然后选择“code”就可以在窗口中看到机器码了。如下图所示:
点击看大图
图1 操作说明
其实不必每条指令都这样查询,在官方给的CPU12指令机器码表上,可以查到所有指令的机器码。
以上图中“LDX #1”为例。
在机器码表1中,可以看到LDX指令位于倒数第二行最后4个,而我们很清楚这条语句为立即数寻址,这样的话我们看到这4个中的第1个如下:
CE   2
  LDX
IM   3

这个表的含义如下:CE表示该指令机器码,2表示指令执行的机器周期,IM表示立即数寻址,3表示语句整个指令所占的字节数。这样就知道了除了CE后面还有2个字节的内容,这两个字节的内容显然就是需要传递给寄存器X的参数,当然也就是十六进制的0001了,所以这条语句的机器码是“CE0001”。
其他指令的查询大同小异,在这里就不多说了。


点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(127)
发表于:2008-7-8 12:12:16
标签:无标签

0

新做的51蓝板,很漂亮.

看图片,嘿嘿!

点击看大图

点击看大图

点击看大图

点击看大图

点击看大图

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(6) | 阅读(264)
发表于:2008-7-3 11:48:23
标签:9s12  mc9s12dg128  lcd1602  1602  LCD  液晶显示  

0

MC9S12DG128单片机使用LCD1206的程序

一开始使用USB供电,发现VCC只能到4V,因为还有使用些其他外设,还有些必须供电的(比如244)等,USB驱动能力不足。
后加上适配器供电,把以前51上用的LCD1602的程序拷过来,修改好,I/O定义都不一样,9S12还有特有的方向寄存器。如此下来,可以在LCD1602上显示英文了。不带字库,所以无法显示中文。
硬件是这样的,振荡器4M,未使用PLL,芯片是QFP112的MC9S12DG128MPVE,RS是PK5,RW是PK4,e是PJ1,data是PORTB,busy是PORTB BIT7。

程序可以正常运行没问题,如果有下载后不能运行或者结果不对的情况,请检查一下振荡器频率或者引脚定义。程序见附件。
点击下载

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(83)
发表于:2008-6-23 10:53:26
标签:位图  bitmap  格式  

1

256色、65536色位图格式分析(续)

  学单片机(嵌入式应用)的搞清楚图象处理的一些基本概念,是非常必要的,我们看看现在的示波器,很多支持USB口,就算是低档的,也可以把图象以图片的格式直接保存到大量数据存储器(U盘)中。而BMP文件就是最简单明了的图片文件了,JPG要复杂些,不过总体思路都差不多的。
1、256色位图需要注意的一些问题。
  按照位图格式,256色以下(含)的位图都有调色板,也就是说除了54个字节的文件头和信息头,还有一定大小的调色板数据在里面。以256色位图为例,我们可以计算一下它的调色板有多少字节。上篇文章讲过,一个颜色的调色板数据占用4个字节,而256中颜色,一共是1024字节,所以调色板数据一共占有1024字节,加上54字节的信息,则除了真正的图象数据外,还附加有1078字节的非图象数据。这样,我们可以计算出一张200*150的图片文件大小。因为图象数据每个像素点是用一个字节表示的,所以数据占有30000字节,加上1078字节,一共是31078字节。这个是显然的。当然,这幅位图无论是一张白纸或者是复杂的图象,图片大小是不会有变化的,因为30000字节的数据是逐个像素表示的,无论像素是什么颜色,都不可以省略。
  那么我们在计算一个343*260 256色的位图文件大小,343*260=89180,再加上1078等于90258,但是通过属性查看,文件大小为90518字节,和计算有较大的差距,这说明计算方法有问题。
  其实,200*150的图象只是一个特例。位图规定,如果图象数据一行的数据,不是4的整数倍,则必须用数据补齐。200自然是4的整数倍,不需要补齐,而343不是,所以343必须补充到344才可以。所以实际位图的大小是344*260+1078,这就和大小吻合了。这个图片每行补1个字节,而最多是要补3个字节。所以341*260图片和343*260图片,在大小上没什么区别。
2、65536色位图格式
  这里再简单介绍一下6万高彩色的位图格式。16位位图是没有调色板的,除了位图数据外,只有54个字节的信息。而图片的RGB颜色,是使用2个字节16个bit表示的,具体方法如下。
       MSB      X         XXXXX         XXXXX       XXXXX     LSB
              不使用       R             G             B
可见最高位不使用,RGB颜色每个使用5位表示。使用程序把其还原出来,即可得到图片的RGB颜色,就可以显示了。
  这个就是最简单的65536色555格式图片的表示方法。至于565格式的,也不复杂,我也不太用,所以我在这里就不多说了,有感兴趣的朋友可以在网上搜索一下。
3、未来内容
  由于图象处理领域的确涉及太广,我只做一些我需要的东西,至于24位真彩图,我就不做了,我会主要设计到图象几何变换,灰度及二值画,三维重构等等方面。有兴趣的朋友可以关注一下。下一篇再具体讲讲怎么样使用OPENGL来重构二维图象。


点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(198)
发表于:2008-6-12 10:20:26
标签:BMP  位图  LCD显示  VC  

1

位图(BMP)文件头格式及数据分析,有了这个可以直接在单片机的LCD上显示BMP文件。

由于BMP文件有诸多格式,这里只以256色彩色位图为例来分析一下。
这个图是我自己用画图板做的,如下。


图1 BMP图
  由于这里限制上传BMP文件,所以这个是JPG的。我的原始的BMP文件大小是200*150,文件大小是31078字节,注意看属性的时候不是占用空间大小。
  在这里,我用VC编了一个程序,读入BMP文件的数据,然后分析固有的站用54个字节的文件头和信息头。
点击看大图
图2 文件头和信息头数据
  注意:图中唯一的一条竖线是文件头14个字节和信息头40个字节的分隔线。
本文章来自EDNCHINA的yoyowind的博客。http://blog.ednchina.com/yoyowind
1、BMP文件的4个部分
  BMP文件分文件头、信息头、调色板和数据区四个部分。文件头和信息头里包含一些信息,调色板顾名思义是调色的信息,数据区就是位图数据。
  这里需要注意的是,为什么会有调色板呢?调色板又该有多少数据呢?我们分析一下这个文件。256色位图是用256种颜色表示整个图片信息,也就是说数据从00~FF一共256个数代表256种颜色,而大家都知道,在计算机上,颜色是用RGB来表示的,RGB分别表示红绿蓝三种颜色的分量,必须用三个字节表示,所以数据中一个字节的信息必须经过“翻译”才能得到真正的RGB颜色,所以数据区里的数据可以理解为当前相素颜色的索引号,拿着这个索引号,去调色板里找,找到的才是对应的RGB信息。
  调色板的格式为:
typedef struct tagRGBQUAD{
  BYTE rgbBlue;
  BYTE rgbGreen;
  BYTE rgbRed;
  BYTE rgbReserved;
}RGBQUAD;
  前三个字节一看就明白了,是表示RGB信息,而最后一个字节为保留字节,不用去管。
  那么,调色板需要多少数据呢?因为256种颜色对应256个颜色索引号,每个索引号必须对应1个调色板信息,所以必须有256个调色板信息,而1个调色板信息又有4个字节,所以,调色板区站用字节一共是256*4=1024字节。也就是说,从文件开头到真正的位图数据,一共间隔14+40+1024=1078字节。
2、文件头分析
  文件头占14个字节,如图2所示。前两个字节“42 4d”表示“BM”两字,意思是这个文件是BMP文件;后面4个字节表示整个文件大小,经过计算00007966的对应十进制为31078,正好是本文件的字节数;再后面4个字节为保留字;最后4个字节为数据偏移量,也就是刚才计算的1078字节。
3、信息头分析
  前4个字节表示记录长度,也就是信息头的长度,固定为40(0x28);后面8个字节代表图片长宽信息,表示图片是200*150的;后面两个字节为1,必须是1;后面两个字节是8,表示为8位颜色,也就是256色;后面4个字节是压缩信息,这里是0000;后面4个字节00007530是200*150得到的结果,也就是总像素数;再后面的我们就不去管了。
4、用LCD和PC显示同一位图
  当然这个位图最好是灰度或者双色位图。当然调色板信息就不一样了,但是大同小异,图片大小不要超过LCD总像素数。具体编程流程是这样的。首先把文件数据发送到单片机内存,单片机编程得到数据偏移量,在数据区一一取到数据并在调色板里查到信息,将信息翻译成LCD可认格式,利用LCD的API函数逐一写像素,就可以得到图片。这个图片的显示,应该和PC上用ACDSEE等软件打开的图片一模一样。
5、图片的后处理
  当然,图片也可以进行模糊、锐化、轮廓提取、边沿检测等操作,这样就可以在单片机内编程完成而不需要VC了。我将在以后设计到这部分内容,需要的朋友请耐心等待。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(247)
发表于:2008-6-5 10:56:15
标签:STC  51  CAN总线  

0

EDN举办CAN总线大赛,其实我的51板也支持CAN总线。


不同的是,我的板全部直插件,功能要多些。


点击看大图

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(150)
发表于:2008-6-5 10:11:47
评论(0) | 阅读(140)
总共 , 当前 /,2345678910>>下一页