打印

pfc161+tm1651_01

[复制链接]
507|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2021-5-25 20:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PFC, IO, AN, se, IDT, SRAM
/******************pfc161+tm1651*******************/
/******************qq:774145445********************/
/******************快手:共同学习stm8***************/
/******************20210523************************/
//               _______    ______
//          dio-|1 pb7  \_/  pb010|-clk
//              |2 vdd       gnd 9|
//        cs-||-|3 pa7       pa0 8|-hong
//          tk8-|4 pa6       pa4 7|-lv
//          tk9-|5_pa5_______pa3_6|-lan
#include        "extern.h"
/**************************************************/
tm1651_clk                bit                pb.0;                //tm1651时钟输入
tm1651_dio                bit                pb.7;                //tm1651数据输入输出
void                        tm1651_xiesram();        //tm1651写sram数据
void                        tm1651_xie();                //tm1651写数据
void                        tm1651_yanshi();        //tm1651延时

byte                        tm1651_a1;
/**************************************************/
/**************************************************/
/**************************************************/
/**************************************************/
void        FPPA0 (void)
{
.ADJUST_IC        SYSCLK=IHRC/4                //        SYSCLK=IHRC/4

while (1)
{
tm1651_xiesram();
}
}

/*
void        Interrupt (void)
{
        pushaf;

        if (Intrq.T16)
        {        //        T16 Trig
                //        User can add code
                Intrq.T16        =        0;
                //...
        }

        popaf;
}

*/
/**************************************************/
void                        tm1651_xiesram()        //tm1651写sram数据
{
tm1651_a1        =0b;        tm1651_xie();                //设置数据
tm1651_a1        =0b;        tm1651_xie();                //设置地址
tm1651_a1        =0b;        tm1651_xie();                //显示数据
tm1651_a1        =0b;        tm1651_xie();                //显示数据
tm1651_a1        =0b;        tm1651_xie();                //显示数据
tm1651_a1        =0b;        tm1651_xie();                //显示数据
tm1651_a1        =0b;        tm1651_xie();                //控制显示



}
/**************************************************/
void                        tm1651_xie()                //tm1651写数据
{
$        tm1651_clk        out;        $        tm1651_dio        out;

tm1651_clk        =1;        tm1651_dio        =1;        tm1651_yanshi();
tm1651_dio        =0;        tm1651_yanshi();        //star

tm1651_clk        =0;        if(tm1651_a1.0)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}//先发低
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.1)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.2)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.3)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.4)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.5)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.6)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();
tm1651_clk        =0;        if(tm1651_a1.7)        {tm1651_dio        =1;}        else{tm1651_dio        =0;}
tm1651_clk        =1;        tm1651_yanshi();

$        tm1651_clk        out;        $        tm1651_dio        in,pull;
tm1651_clk        =0;        tm1651_yanshi();                //第九脉冲
tm1651_clk        =1;        tm1651_yanshi();
while(tm1651_dio==0){}                                        //ack

}
/**************************************************/
void                        tm1651_yanshi()        //tm1651延时
{
.delay        1000;
}
/**************************************************/
/**************************************************/

使用特权

评论回复

相关帖子

发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

300

主题

457

帖子

61

粉丝