资源简介
单片机型号:STC12C5A60S2 显示型号:MAX7219 温度芯片:DS18B20
超声波测距芯片:HRS420
代码片段和文件信息
#include
#include //包含_nop_()函数
#include
/*********************定时器0、定时器1初始化******************/
void timer_init()
{
TMOD|= 0x01;//定时器0工作方式1
TH0=0x00;
TL0=0x00;
ET0=1;
EA=1;
}
/*void timer0() interrupt 1
{
static unsigned int i;
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==1000)
{
i=0;
led=~led;
}
} */
void DelayUs2x(unsigned char t)
{
while(--t);
}
unsigned int test_distan() //测试距离函数。 晶振fosc=11.0592Mhz时,一个机器周期为0.9216us
{
double time=0;
timer_init();
TRIG=1; //触发信号是高电平脉冲,宽度大于10us
DelayUs2x(10);
TRIG=0;
while(!ECHO); //等待高电平
TR0=1;
while(ECHO); //等待低电平
TR0=0;
time = TH0*256+TL0;//取出定时器值高8位和低8位合并
TH0=0;
TL0=0;
return time;
}
/*************************************
有关串口通信的初始化
****************************************/
void uart_init()
{
TMOD=0x21; //TMOD=0
TH1=0xfd; //11.0592MHZ ,BPS:9600,N,8,1
TL1=0xfd;
PCON=0x00; //方式一8位数据位,一位起始位和一位结束位
TR1=1; //
SCON=0x50; //串口通信控制寄存器 模式一
}
/*** 串口中断函数 ***/
/*void uart_Serial(void) interrupt 4
{
if(RI) //接收中断
{
TH0 = T0MS; //每收到一位数据,定时器重新赋初值(位与位之间发送时间大约1us)
TL0 = T0MS>>8;
REV[index++] = SBUF; //接收
RI = 0; //RI中断软件清零,准备接收下一帧数据
TR0 = 1; //打开定时器T0
}
} */
void uart_putchar(unsigned char dat)
{
SBUF=dat; //把数据送给sbuf缓存器中
while(TI!=1);//发送标志位 TI如果发送了为1,没发送为0,没发送等待,到了退出循环
TI=0; //到了,TI清为0
}
void uart_printf(unsigned char *buff)
{
while(*buff)
uart_putchar(*buff++);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-29 11:07 超声波测距\
文件 4228 2018-05-23 15:40 超声波测距\bsp_timer.lst
文件 2763 2018-05-22 09:53 超声波测距\KEIL.DSK
文件 2116 2018-05-22 09:53 超声波测距\KEIL.PRJ
文件 22288 2018-05-25 08:40 超声波测距\seg
文件 5211 2018-05-25 08:40 超声波测距\SEG.C
文件 6983 2018-05-25 08:40 超声波测距\SEG.HEX
文件 70 2018-05-25 08:40 超声波测距\SEG.LNP
文件 9540 2018-05-25 08:40 超声波测距\seg.LST
文件 27169 2018-05-25 08:40 超声波测距\SEG.M51
文件 11560 2018-05-25 08:40 超声波测距\seg.OBJ
文件 1447 2018-05-22 09:53 超声波测距\seg.opt.bak
文件 171 2018-05-29 11:07 超声波测距\SEG.PLG
文件 2210 2018-05-22 09:53 超声波测距\seg.Uv2.bak
文件 82383 2018-05-29 11:07 超声波测距\seg.uvopt
文件 13797 2018-05-23 11:14 超声波测距\seg.uvproj
文件 1447 2018-05-22 09:53 超声波测距\seg_Opt.Bak
文件 2173 2018-05-22 09:53 超声波测距\seg_Uv2.Bak
文件 82403 2018-05-25 08:44 超声波测距\seg_uvopt.bak
文件 13627 2018-05-22 09:53 超声波测距\seg_uvproj.bak
文件 6376 2018-05-22 09:53 超声波测距\STARTUP.A51
文件 14048 2018-05-25 08:40 超声波测距\STARTUP.LST
文件 749 2018-05-25 08:40 超声波测距\STARTUP.OBJ
文件 1948 2018-05-25 08:39 超声波测距\super.c
文件 265 2018-05-24 09:17 超声波测距\super.h
文件 4322 2018-05-25 08:40 超声波测距\super.LST
文件 4778 2018-05-25 08:40 超声波测距\super.OBJ
文件 3908 2018-05-24 10:19 超声波测距\template.c
文件 1279 2018-05-24 10:24 超声波测距\template.h
文件 8930 2018-05-25 08:40 超声波测距\template.LST
文件 7830 2018-05-25 08:40 超声波测距\template.OBJ
............此处省略0个文件信息
- 上一篇:基于FPGA的神经网络PID控制器设计与实现
- 下一篇:IEEE期刊论文模板.zip
相关资源
- 基于单片机的LED彩灯控制器
- 基于单片机的汽车尾灯控制器设计.
- 电子-基于战舰版RC522IIC.rar
- 电子-STM32硬件I2CMaster接口函数V1.01.z
- 单片机与DSP中的利用8279实现显示扫描
- 实用的单片机在线式UPS电路图
- 基于MC9S12XS128的电磁智能小车的硬件设
- 单片机如何通过ADC模块采集模拟信号
- 基于MCS-51单片机的智能 时钟控制系统
- mega16单片机科学计算器程序(带有加
- 冷库单片机控制系统设计
- IAR EW430软件的安装
- 基于51单片机DS1302四位数码管可调时钟
- 蜂鸣片的逆向应用——检测振动和噪
- 基于MSP430单片机的开关稳压电源设计
- 基于单片机控制的双向DC-DC变换器设计
- 用MC9S12XS128实现超声波测距使用PIT模块
- 基于单片机的电动自行车速度与里程
- sct15单片机读取mpl3115a2高度温度
- 基于51单片机的红外遥控转发器程序
- 51单片机串口通信并用数码管显示接收
- 16路抢答器
- DAC 单片机程序
- DS3231+12864 0.96oled 51单片机程序
- Proteus模拟基于51单片机的断电保护实
- proteus仿真--播放音乐
- 节日彩灯控制设计
- 51单片机红外遥控时钟
- 基于GPS的小孩防丢器的设计开题报告
- 基于51单片机的出租车计费器
评论
共有 条评论