//51程序
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit ADC0832_CS=P1^5;
sbit ADC0832_CLK=P1^6;
sbit ADC0832_DO=P1^7;
unsigned char Seg_CA_Data[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void DelayTime10ms(unsigned int DelayValue);
void Seg_Display(unsigned char DisData);
void SendData(unsigned char senddata);
int DisplayData=4.5;
uchar Get_AD_Result(bit channel)
{
uchar i;
int data1=0x00,data2=0x00;
ADC0832_CLK=0; //初始化
ADC0832_DO=1;
nop();
ADC0832_CS=0;
nop();
ADC0832_CLK=1;
nop();
//在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能
ADC0832_CLK=0; //通道第一位
ADC0832_DO=1;
nop();
ADC0832_CLK=1;
nop();
ADC0832_CLK=0; //通道0的第二位
ADC0832_DO=channel;
nop();
ADC0832_CLK=1;
nop();
ADC0832_CLK=0;
ADC0832_DO=1;
for(i=0;i<8;i++) //读取前8位的值 先高位后低位
{
_nop_();
data1<<=1;
ADC0832_CLK=1;
_nop_();
ADC0832_CLK=0;
if(ADC0832_DO)
data1|=0x01;
else
data1|=0x00;
}
for(i=0;i<8;i++) //读取后8位的值 先低位后高位
{
data2>>=1;
if(ADC0832_DO)
data2|=0x80;
else
data2|=0x00;
_nop_();
ADC0832_CLK=1;
_nop_();
ADC0832_CLK=0;
}
_nop_();
ADC0832_CS=1; //将CS置高电平禁用芯片
ADC0832_DO=1;
ADC0832_CLK=1;
return (data1 == data2) ? data1:0;
}
/*********************************************************************************************
函数名称:main.c
功能描述: 主函数
参数列表:无
返还参数:无
/********************************************************************************************/
void main()
{
SCON=0x50;
TMOD=0x20;
TH1=TL1=0xfd;
TR1=1;
IT0=1; //???
EX0=1;
EA=1;
PX0=1;
DisplayData=0;
SendData(DisplayData);
for(;?
{
}
}
void SendData(unsigned char senddata){
SBUF=senddata;
while(TI==0);
TI=0;
}
/*********************************************************************************************
函数名称:Seg_Display(unsigned char DisData)
功能描述: 显示单个数字0-9
参数列表:显示的数据0-9
返还参数:无
********************************************************************************************/
void Seg_Display(unsigned char DisData){
P2=0x0f;
P0=Seg_CA_Data[DisData];
DelayTime10ms(5);
}
/*********************************************************************************************
函数名称:DelayTime10ms(unsigned int DelayValue)
功能描述: 延时函数
参数列表:延时时间
返还参数:无
********************************************************************************************/
void DelayTime10ms(unsigned int DelayValue){
unsigned int a,b;
for(a =0 ;a < DelayValue; a++)
for(b =0 ;b < 1828; b++);
}
void Irq_External_0() interrupt 0 //???
{
double ADCdata,NTCr,t;
static int t_temp,a=0,b=1,c=2;
// DisplayData++; //???,???
// if (DisplayData==100) //???0-9
// {
// DisplayData=0;
// }
// SendData(DisplayData);
ADCdata = Get_AD_Result(1)*5.0/256;
NTCr= 10*ADCdata/(5-ADCdata);
t=1/(log(NTCr/10)/3900+1/(25+273.15))-273.15;
t_temp=t*100;
SendData(ADCdata*100);
// SendData(b++);
}
//END*****************
//QT部分程序
#include “mainwindow.h”
#include “ui_mainwindow.h”
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//创建串口对象
//设置串口名
serial.setPortName("COM3");
//设置波特率
serial.setBaudRate(QSerialPort::Baud9600);
//设置数据位数
serial.setDataBits(QSerialPort::Data8);
//设置奇偶校验
serial.setParity(QSerialPort::NoParity);
//设置停止位
serial.setStopBits(QSerialPort::OneStop);
//设置流控制
serial.setFlowControl(QSerialPort::NoFlowControl);
//打开串口
serial.open(QIODevice::ReadWrite);
QObject::connect(&serial, &QSerialPort::readyRead, this, &MainWindow::serialPort_readyRead);
}
void MainWindow::serialPort_readyRead()
{
//从接收缓冲区中读取数据
QByteArray buffer = serial.readAll();
//buffer = buffer();
QString recv;
bool ok;
recv += QString(buffer.toHex());//将接收到的数据提出
int dec = recv.toInt(&ok, 16); //十六进制转十进制
double Dou =(double)dec;
Dou = Dou/100;
ui->lcdNumber->display(Dou);
}
MainWindow::~MainWindow()
{
delete ui;
serial.close();
}
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。1
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎