danpian_12345 2017-05-06 17:10 采纳率: 0%
浏览 1729

合泰单片机ht66f70a的超声波程序

我在用合泰单片机ht66f70a弄一个项目,请问哪位大神有它的超声波例程吗?
请求参考,急用,谢谢。
下面是我写的程序,为啥led不亮。超声波感应不了。哪里有错吗?求大神指点指点
_pf口接led的
#include "HT66F70A.h"
#define led_port _pf
#define led_portc _pfc
#define TX _pa0
#define RX _pa3
#define uchar unsigned char
#define uint unsigned int

uchar outcomeh,outcomel;
/*bit success_flag;*/
uint ju_li;
uint N;

uint ce_ju()
{
float recome_date;
_emi=0;
_t0af=0x00;
_tm0al=0xe8;//比较器A低位 03e8=1000;达到该值,自动清0;
_tm0ah=0x03;//比较器A高位
_tm0dl=0x00;
_tm0dh=0x00;

TX=1;
GCC_DELAY(40);
TX=0;

while(RX=0);
_t0on=1;

_emi=1;

while(RX=1);

_t0on=1;

outcomeh=_tm0dh;
outcomel=_tm0dl;

recome_date=N*500+outcomeh*256+outcomel;
recome_date=recome_date*17/1000;
return recome_date;
}

void main()
{
_cp1c=0x08;
led_portc=0x00;
led_port=0x00;
_mf0e=0x01;
_t0ae=0x01;
_tm0c0=0b00001000;//选择fsys/4时钟//0.5us
_tm0c1=0b11000001;//1100 0001 定时器工作模式
_t0af=0x00;
_mf0f=0x00;
_emi=1;
_tm0al=0xe8;//比较器A低位 03e8=1000;达到该值,自动清0;
_tm0ah=0x03;//比较器A高位
_tm0dl=0x00;
_tm0dh=0x00;
_t0on=1;
while(1)
{
ju_li=ce_ju();
if(ju_li<200)
{
led_port=0xff;

}
else
{
led_port=0x00;

}

}
}

void __attribute((interrupt(0x04))) int_isr(void)
{
N++;
_t0af=0x00;
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?