原创 EDNChina FM实验板套件LED显示测试程序

2008-10-10 23:12 1978 5 7 分类: MCU/ 嵌入式

        最近在玩《51单片机工程应用实例》小组的FM实验板,昨天收到快递,少了3个74LS164,不过不要紧,星期六去华强北买几片回来,先焊好板子再说。今天刚焊好板子,顺便写了个LED测试程序试试板子的功能,由于只有一片74LS164,只有一个LED会亮,说明程序基本正常了。


        可能是2051的I/O口比较少和基于成本的考虑,唐工的这块板子使用了串口+4片74LS164扩展I/O口静态显示4个LED。这种用法串口工作在方式0,即同步移位寄存器输出方式。


     在工作方式0下,8位串行数据是从RXD 输入或输出,TXD 是用来输出同步脉冲的. 当串行端口作为输出时,向SBUF写入一字节数据便启动了串行发送.串行端口从RXD引脚上将SBUF中的8位数据(低位在前)以fosc/12的波特率逐位输出,TXD则以fosc/12为频率输出同步移位脉冲.发送过程中,要保持TI为低电平,数据发送完后,TI自动置1.如果再发送数据,必须用软件将TI清零。


     当串行端口作为输入时,REN=1,RI为低电平,RXD为数据输入端,TXD同串口作为输出时一样,仍以fosc/12为频率输出同步移位脉冲,使外部数据逐位移入RXD(低位在前),当接收到8位数据后,RI自动置1.如果要再接收,必须用软件将RI清零,同串口作为输出时的TI类似。


以下给出我的测试程序,可能有错,仅供参考。


/******************************************
* Copyright (c) 2008
* All rights reserved.
*
* 文件名称:FM_dis_test.c
* 摘    要:EDNChina FM实验板套件LED显示测试程序
*
*
* 当前版本:V1.11
* 作    者:acbear
* 时    间:2008-10-14
********************************************/


#include <reg51.h>
#include <string.h>


unsigned char code led_7[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};  //0..9,数码管段码表                  
unsigned char dis_buff[4]={2,0,0,8};   //四位LED显示缓冲区,这里没有用到


 


/*延时函数*/
//大约1ms
delay(unsigned int ms)
{
 unsigned int i,j;
 for(i=0;i<110;i++)
  for(j=0;j<ms;j++) ;
}


/*串口发送字节函数*/
//调用函数前串口必须初始化为工作方式0,即SCON = 0x00
void uart_send_byte(unsigned char dat)
{
 SBUF = dat;
 while(TI == 0);             //循环等待
 TI = 0;
}


void display_4led(void)
{
 unsigned char i;


for(i=0;i<4;i++)


{


uart_send_byte(led_7[dis_buff]);


delay(10);


}


}
void main(void)
{
  unsigned char i="0";
  SCON = 0x00;                //串口初始化,工作方式0, 同步移位寄存器输出方式
 
  while(1)
  {
     display_4led();
     delay(2000);


  }
   
}


Protues仿真图如下
点击开大图


===========================


10月14日更新


下面是在实验板上运行的照片(手机拍的不是很清晰)


点击开大图



   

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户239234 2009-12-2 16:32

能给我发一份吗? coffee_niat@126.com

用户197005 2008-12-27 08:50

谢谢!

用户1121609 2008-10-17 16:48

一起学习了,我也在搞这个学

用户152563 2008-10-14 22:43

今天在实验板上试了下程序,发现有点小问题,已经修改了。上面的程序是经过验证的可以在板上显示2008。

用户532871 2008-9-26 09:00

是四个压缩包,得都下载下来才行,不过我已经重新上传,看看能否下载!如果还是不行的话,请留下你的Email,我给你发过去!

用户1630661 2008-9-23 22:14

解压缩的时候提示缺少文件。。。。。

用户1630661 2008-9-23 22:13

解压缩的时候提示缺少文件。。。。。
相关推荐阅读
用户152563 2008-11-02 20:04
FM收音机程序
程序开始是参考OURAVR网友的例子成功收到台,由于程序生成的hex文件太大,2051装不下,只是放在博客发表,一直没有时间整理出来。后来深圳市广视美电子有限公司的老姜发了一份SP3767的参考代码给...
用户152563 2008-10-19 23:11
FM收音机初步成功,可以收到台了
今天参考ouravr的几个TEA5767的帖子,修改了他的程序,用在FM板上,可以显示和收到台了。原帖地址:http://www.ouravr.com/bbs/bbs_content.jsp?bbs_...
用户152563 2008-08-13 23:07
TCP/IP学习板调通了
星期一收到彩云的包裹,花了1个小时整理8019的管脚,才焊上去,回家用笔记本下程序,发现STC的单片机可以连上,但是不能进入编程模式,郁闷的要死,我用的是USB转的RS-232口。今天有点时间,在公司...
EE直播间
更多
我要评论
2
5
关闭 站长推荐上一条 /3 下一条