/*****************pfc161+tm1651********************/
/******************20210608************************/
/****************qq:774145445**********************/
/****************快手:共同学习stm8*****************/
/**************************************************/
// _______ ______
// 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
// 5v
// pb0--clk
// pb7--dio
// gnd
/**************************************************/
#include "extern.h"
tm1651_clk bit pb.0;
tm1651_dio bit pb.7;
/**************************************************/
byte tm1651_a1;
/**************************************************/
void tm1651_yanshi(); //延时
void tm1651_start(); //起始信号
void tm1651_data(); //数据
/**************************************************/
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
$ tm1651_clk out,high; //输出,高
$ tm1651_dio out,high;
/**************************************************/
tm1651_start();
tm1651_yanshi();
while (1)
{
tm1651_clk =1;
tm1651_clk =0;
}
}
void tm1651_yanshi() //延时
{
.delay 50;
}
/**************************************************/
void tm1651_start() //起始信号
{
tm1651_clk =1;
tm1651_dio =1;
tm1651_yanshi();
tm1651_dio =0;
tm1651_yanshi();
}
/**************************************************/
void tm1651_data() //数据
{
byte tm1651_b1;
byte tm1651_b2;
byte tm1651_b3;
tm1651_b1 =tm1651_a1;
tm1651_b2 =8;
while(tm1651_b2--)
{
tm1651_clk =0;
nop; nop; nop;
if(tm1651_b1 && 0x01) {tm1651_dio =1;} else{tm1651_dio =0;}
tm1651_clk =1;
nop; nop; nop;
tm1651_b1 >>=1;
}
tm1651_clk =0; //应答
nop; nop; nop;
tm1651_clk =1; //第九脉冲
nop; nop; nop;
$ tm1651_dio in,pull;
nop; nop; nop;
while(tm1651_dio){nop;}
$ tm1651_dio out,low;
nop; nop; nop;
tm1651_clk =0;
nop; nop; nop;
}
/**************************************************/
/**************************************************/
/**************************************************/
/**************************************************/ |