|
自己编写的红外测距程序,通过1602进行显示距离
- #include <string.h>
- #include "Lcd12864.h"
- #include "Lcd1602.h"
- #include "PWM.h"
- #include "config.h"
- #include <ds18b20.h>
- #include "ds1302.h"
- #include "eeprom.h"
- #include "uart.h"
- #include "key.h"
- #include "ad.h"
- #include "Time.h"
- #include "BH1750.h"
- #include "PulseSensor.h"
- #include "hcsr501.h"
- #include "mp3tf16p.h"
- #include "SR04.h"
- //#include "ad.h"
- extern bit Alarmflag;
- bit flag500ms=0;
- void InitTimer0(void);
- extern unsigned char step;
- unsigned char str[12];
- void InitTimer1(void)
- {
- TMOD = 0x10;
- TH1 = 0xA9;
- TL1 = 0x9A;
- EA = 1;
- ET1 = 1;
- TR1 = 1;
- }
- void Sys_Init()
- {
- InitTimer1();
- InitLcd1602();
- InitADC(); //AD初始化
- }
- void main(void)
- {
- EA=1;
- Sys_Init(); //系统初始化
- view();
- while(1)
- {
- KeyScan();
- KeyDriver();
- if(flag500ms==1)
- {
- flag500ms=0;
- refreshvoice();
- }
- }
- }
- void InterruptTimer1() interrupt 3
- {
- static unsigned int cnt_i=0;
- TH1 = 0xFC;
- TL1 = 0x66;
- if(Alarmflag==1)
- {
- beezer=~beezer;
- }
- else
- {
- beezer=1;
- }
- cnt_i++;
- if(cnt_i>=200)
- {
- cnt_i=0;
- flag500ms=1;
- }
- }
复制代码
|
|