/*
CX20106A 超声波发送与接受程序
40KHz脉冲由单AT89S52单片机P1.0口送出,由P3.2(INT0)采用中断方式接收。
定时器0,定时器1中断方式工作,T1为8位自动重装模式(定时12.5us),T0为16位定时器(定时约65ms)
超声波接受采用外部中断INT0,接受到返回脉冲后,在外部中断程序中计算距离。
65ms超声波传播距离约65×10^(-3) × 340m/s =22.1m,距离足够了,远超CX20106A的测量范围。
40KHz对应波周期T=1/40KHz =25us,方波高占空比50%,高低电平宽度分别占0.5T=12.5us。
定时器T1采用8位自动重装模式(定时12.5us), 在单片机采用12MHz晶振的前提下,(2^8-X)×12/12 us =12.5us
(1) 当X=0xF3时,2^8-X=13, (2) 当X=0xF4时,2^8-X = 12,
所以,取X=0xF3,0xF4均可以满足计时要求。
距离显示在4位数码管上,单位为cm。
*/
/*
单片机P2口接74HC138(三八译码器)P2.3--74HC138:/EI、P2.2--74HC138:A2、P2.1--74HC138:A1、P2.0--74HC138:A0
译码器输出 Y0,Y1、Y2、Y3、Y4、Y5、Y6、Y7均低电平有效,分别选通1~8个数码管。包括2个四位一体数码管LG3641BH,共2x4=8个数码管。
数码管数据口为P0口。数码管为共阳4位一体数码管。
功能:
译码器输出为1——8个数码管的段选信号,轮流选择1——8数码管。
dispaly(uint d)将d(distance)的千、百、十、个依次显示在1~3号数码管上。
显示原理:
1、送出要显示的段数
2、P2译码,选择要显示的位
3、延时1——2ms,时间不能太长,否则会闪烁,也不能太短,否则会很暗。
4、取消段选,消隐!
若要显示多段,重复以上4步!
*/
1