导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:那位能否帮我看看这个程序,有很多错误,好像815[易水]

 *第183篇: C51编程:那位能否帮我看看这个程序,有很多错误,好像8155,不能这样送

  
楼 主:易水 2001年8月21日22:30
 C51编程:那位能否帮我看看这个程序,有很多错误,好像8155,不能这样送
#pragma code small
#include <reg51.h>
#include <stdio.h>
#include <string.h>
#include <intrins.h>
#include <absacc.h>
/*定义8155的I/O端口地址*/
#define P8155CW 0x7f00
#define P8155IA 0x7f01
#define P8155IB 0x7f02
#define P8155IC 0x7f03
   XBYTE[P8155CW]=0x0d;        /*send control word to 8155*/
 /*extern uchar AB1[29];*/
 /*extern uchar DP[29];*/
 /*uchar xdata *DPP=0x7f
 uchar DP[30];*/

char code seg[]=
{0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0x08,0x3e,0x44,0x14,0x32,0x11
,0x01,0x3c,0x00,0x10}
 void dsp (char digt)
  {
    unsigned char temp;
    unsigned char number;
  XBYTE[P8155A]=0XFE;       /*send data to 8155A*/
  temp=seg[digt];
  P3^4=0
  temp=!temp 
  number=0x08;
  
 do
 {temp=_cror_(temp,1);
 P3^5=temp
  P3^4=1
  _nop_
  P3^4=0}
  while (number--);
  XBYTE[P8155A]=0XFF;      /*send data to 8155*/

  }
 main()
{
dsp(1)

}


  
2楼:老古 2001年8月21日23:38
 参考:
#pragma code small
#include <reg51.h>
#include <stdio.h>
#include <string.h>
#include <intrins.h>
#include <absacc.h>
/*定义8155的I/O端口地址*/
#define P8155CW 0x7f00
#define P8155IA 0x7f01
#define P8155IB 0x7f02
#define P8155IC 0x7f03
   XBYTE[P8155CW]=0x0d;        /*send control word to 8155*/ 这句要放到main里。
 /*extern uchar AB1[29];*/
 /*extern uchar DP[29];*/
 /*uchar xdata *DPP=0x7f
 uchar DP[30];*/

char code seg[]=
{0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0x08,0x3e,0x44,0x14,0x32,0x11
,0x01,0x3c,0x00,0x10}
 void dsp (char digt)
  {
    unsigned char temp;
    unsigned char number;
  XBYTE[P8155A]=0XFE;       /*send data to 8155A*/
  temp=seg[digt];
  P3^4=0   ;这里不能这样用,要用P3_4=0,在前面定义一下 sbit P3_4=P3^4;
  temp=!temp ;  这里好象 用temp=~temp;
  number=0x08;
  
 do     //用for (number=0;number<8;number++)循环
 {temp=_cror_(temp,1);
 P3^5=temp
  P3^4=1
  _nop_
  P3^4=0}
  while (number--);
  XBYTE[P8155A]=0XFF;      /*send data to 8155*/

  }
 main()
{
dsp(1)

}

  
3楼:易水 2001年8月22日16:17
 在大家的帮助下,程序已经改好,贴上来给初学者看看,也希望高手能提一些意见
这是一个用C写得非常简单的程序,在大家的帮助下,现在已经编译通过,因为我目前刚开
始学,一方面想给那些初学者提供一点点帮助,另一方面也希望高手能给予指点。我的计划
是,写显示程序,键盘程序,主程序是做检测的,将检测结果送给PC机,硬件电路已设计
好,我用汇编写的程序已在运行。我会把自己的每一点收获,都发到这上面。希望能得到大
家的支持。
#pragma code small
#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include <intrins.h>
#include <absacc.h>
/*定义8155的I/O端口地址*/
#define P8155CW 0x7f00
#define P8155IA 0x7f01
#define P8155IB 0x7f02
#define P8155IC 0x7f03
  sbit clk =P3^4;
  sbit mydata =P3^5;
  
unsigned char code seg[]=
{0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0x08,0x3e,0x44,0x14,0x32,0x11
,0x01,0x3c,0x00,0x10};
 void dsp (unsigned char digt)
  {
    unsigned char temp;
    unsigned char number;
  
  temp=seg[digt];
  clk=0;
  temp=~temp;
  number=0x08;
  XBYTE[P8155IA]=0XFE;       /*send data to 8155A*/
 do
 {
 mydata=_cror_(temp,1);
  clk=1;
  _nop_();
  clk=0;
  }
  while (number--);
  XBYTE[P8155IA]=0XFF;      /*send data to 8155*/ 
  }
   
  void main()
{
    XBYTE[P8155CW]=0x0d;        /*send control word to 8155*/
    while (1)
  {
    dsp(0);
   }
}

  
4楼:阿发 2002年9月15日21:07
 请 教
请教程序中:
   do{mydata=_crtr_(temp,1)     //_crtr_(temp,1)是什么意思
    clk=1;
    _nop_()   //""""?
    clk=0;
    }
      temp=~temp;    还有这句是什么意思
  

>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:硬件:大侠指点

[下一篇主题]:C51编程:请问哪里有下载能够获得汉字编码的软件,谢谢!