⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psd913f2 ds80c320.txt

📁 c51经典子程序代码全集
💻 TXT
字号:
用【 小 | 中 | 大 】字体浏览 
C51编程:请问谁能给我一个双串口应用的C51例程 [desertzhao] [14次] 01-12-28 下午 12:11:28

我准备用DALLAS的DS80C320,谁有这类双串口的C51例程呀? [desertzhao] [9次] 01-12-28 下午 12:44:29 

请看我很早前编的一个测试程序: [cmosttl] [38次] 01-12-28 下午 12:57:16 
//PSD913F2 DS80c320接口程序     2000.7.20
#include <REG320.H>
#include <ABSACC.H>
#include <INTRINS.H>
#define uchar unsigned char
#define unint unsigned int
//#################################################

//#################################################
#define CSIOPBASE    0x0200    //PSD特殊寄存器初始化
#define CTLA XBYTE[CSIOPBASE+0x0002]
#define DIRA XBYTE[CSIOPBASE+0x0006]
#define OUTA XBYTE[CSIOPBASE+0x0004]
#define INA  XBYTE[CSIOPBASE+0x0000]
#define CTLB XBYTE[CSIOPBASE+0x0003]
#define DIRB XBYTE[CSIOPBASE+0x0007]
#define OUTB XBYTE[CSIOPBASE+0x0005]
#define INB  XBYTE[CSIOPBASE+0x0001]
#define DIRC XBYTE[CSIOPBASE+0x0014]
#define OUTC XBYTE[CSIOPBASE+0x0012]
#define INC  XBYTE[CSIOPBASE+0x0010]
#define DIRD XBYTE[CSIOPBASE+0x0015]
#define OUTD XBYTE[CSIOPBASE+0x0013]
#define IND  XBYTE[CSIOPBASE+0x0011]
#define RAMSTART   XBYTE[0x2000]
#define CSLCD      XBYTE[0x030f]
//#################################################
sbit LS_SDA=P1^7;    //定义74LS164接口引脚
sbit LS_SCK=P1^3;
//#################################################

//#################################################
#include <delay.c>
//#################################################

//*******************************串行口0初始化、发送接收子程序
void Comstart0(void)    //
{            //
    TMOD=0X20;    T2CON=0x30;    //Baud=19200;    Fosc=11059200
    RCAP2H=0xff;RCAP2L=0xee;    //(RCAP2H,RCAP2L)=65536-
(Fosc/32/Baud)
    SCON0=0x40;PCON=0x00;TR2=1;    //方式1,波特率不加倍,计数器开 
    IE=0x00;}    //中断总允许,允许串行中断    
//*************************************************
void Txd2a(uchar z)    //串口发送子程序
{    SBUF0=z;    while(TI==0);  TI=0;    }//为0等待
//*************************************************
void Pc_com0(unint a){    unint m,n;  uchar w;
    m=a/10000;w=(uchar)(m+0x0030);Txd2a(w);        //万位
    m=a%10000;n=m/1000;w=(uchar)(n+0x0030);Txd2a(w);    //千位
    n=m%1000;m=n/100;w=(uchar)(m+0x0030);Txd2a(w);    //百位
    m=n%100;n=m/10;w=(uchar)(n+0x0030);Txd2a(w);    //十位
    n=m%10;w=(uchar)(n+0x0030);Txd2a(w);Txd2a(0x0d);Txd2a(0x0a);}//个位 
回车
//*************************************************

//*************************************************  串行口初始化、发送接收子程
void Comstart1(void)
{    
    T2MOD=0X20;
    TH1=0xfd;TL1=0xfd;    //256-11059200/384/9600=0xfd
    SCON1=0x40;PCON=0x00;TR1=1;    //方式1,波特率不加倍,计数器开 
    IE=0x00;}    //中断总允许,允许串行中断    
//*************************************************
void Txd2b(uchar z)    //串口发送子程序
{    SBUF1=z;    while(TI1==0);  TI1=0;    }//为0等待
//*************************************************
void Pc_com1(unint a){    unint m,n;  uchar w;
    m=a/10000;w=(uchar)(m+0x0030);Txd2b(w);        //万位
    m=a%10000;n=m/1000;w=(uchar)(n+0x0030);Txd2b(w);    //千位
    n=m%1000;m=n/100;w=(uchar)(m+0x0030);Txd2b(w);    //百位
    m=n%100;n=m/10;w=(uchar)(n+0x0030);Txd2b(w);    //十位
    n=m%10;w=(uchar)(n+0x0030);Txd2b(w);Txd2b(0x0d);Txd2b(0x0a);}//个位 
回车
//*************************************************

//*************************************************
main()
{    
    uchar a;unint m;
    Comstart0();    Comstart1();
    //*****************************************
    CTLA=0x00;DIRA=0xff;        //PSD端口初始化
    CTLB=0x00;DIRB=0xff;
    DIRC=0xff;DIRD=0x06;
    OUTC=0x00;Delayl(0xff);OUTC=0xff;Delayl(0xff);
    //*****************************************
    Pc_com0(12345);    Pc_com1(54321);
    OUTC=0x00;Delayl(0xaf);
    OUTC=0xff;Delayl(0xaf);    //PCB板上的LED闪烁
    //*****************************************
    while(1)
    {
        a=0x00;
        for(m=0;m<0xffff;m++)
        {
            Pc_com0(m);
            Pc_com1(0xffff-m);
            OUTC=a;    a=~a;
            Delayl(0x7f);Delays(0xaf);
        }    
    }    
} 
 

 
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2002 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -