今天小编要和大家分享的是控制,MCU相关信息,接下来我将从STC89C51单片机对LCD显示的串口调试关照强度程序设计,用qt写的一个串口调试工具这几个方面来介绍。

控制,MCU相关技术文章STC89C51单片机对LCD显示的串口调试关照强度程序设计用qt写的一个串口调试工具

控制,MCU相关技术文章STC89C51单片机对LCD显示的串口调试关照强度程序设计

最近在调试传感器的那块程序,这里总结一下自己的心得。

调试程序的方法

方法1:led显示法,在程序中调用这一句函数led = 0;可以知道程序运行到哪里,为什么会出错,到什么地方陷入了死循环。

方法二:串口打印法,串口打印法可以知道函数输出的东西是什么,程序中只需要使用串口中断就可以了,关于串口怎么样使用,我觉得等一下我需要总结一下最近编程的问题。

现在这里要好好总结一下串口调试法,天祥哥在他的书上总结了串口调试的方法,开始的时候虽然开了一下,了解了他是什么情况,会用串口之外,其他的什么都不懂,到现在才真正明白串口中断的真正含义是什么,串口中断可以打断单片机的执行,让单片机在执行主函数的时候去执行别的函数。

STC89C51单片机对LCD显示的串口调试关照强度程序设计

// BH1750FVI IIC测试程序

// 使用单片机STC89C51

// 晶振:11.0592M

// 显示:LCD1602

// 编译环境 Keil uVision2

//****************************************

#include

#include //Keil library

#include //Keil library

#include

#define uchar unsigned char

#define uint unsigned int

sbit SCL=P1^0; //IIC时钟引脚定义

sbit SDA=P1^1; //IIC数据引脚定义

#define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改

//ALT ADDRESS引脚接地时地址为0xA6,接电源时地址为0x3A

typedef unsigned char BYTE;

typedef unsigned short WORD;

BYTE BUF[8]; //接收数据缓存区

uchar table[5]; //显示变量

int dis_data; //变量

void delay_nms(unsigned int k);

void Init_BH1750(void);

void conversion(uint temp_data);

void Single_Write_BH1750(uchar REG_Address); //单个写入数据

uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据

void Multiple_Read_BH1750(); //连续的读取内部寄存器数据