欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
數(shù)字電壓表c51
[打印本頁]
作者:
南辰北星
時(shí)間:
2018-6-12 19:26
標(biāo)題:
數(shù)字電壓表c51
基于單片機(jī)的數(shù)字電壓表設(shè)計(jì)C51原程序
#include
sbit ST=P3^6;
sbit OE=P3^7;
sbit EOC=P3^2;
sbit ZLG7289_pinCS=P1^0;
sbit ZLG7289_pinCLK=P1^1;
sbit ZLG7289_pinDIO=P1^2;
unsigned char ZLG7289_Delay_t=4;
/*
宏定義:ZLG7289_ShortDelay()
功能:短延時(shí)
說明:延時(shí)ZLG7289_ShortDelay_t*2+8)個(gè)機(jī)器周期
*/
void ZLG7289_ShortDelay()
{
unsigned char t=ZLG7289_Delay_t;
while(--t!=0);
}
/*
宏定義:ZLG7289_LongDelay()
功能:長延時(shí)
說明:延時(shí)ZLG7289_LongDelay_t*12+8)個(gè)機(jī)器周期
*/
void ZLG7289_LongDelay()
{
unsigned char t=ZLG7289_Delay_t*6;
while(--t!=0);
}
黑龍江職業(yè)學(xué)院畢業(yè)論文(設(shè)計(jì))
/*
函數(shù):ZLG7289_SPI_Write()
功能:向SPI總線寫入1字節(jié)的數(shù)據(jù)
參數(shù):
dat:要寫入的數(shù)據(jù)
*/
void ZLG7289_SPI_Write(char dat)
{
unsigned char t=8;
do
{
ZLG7289_pinDIO=(bit)(dat&0x80);
dat<<=1;
ZLG7289_pinCLK=1;
ZLG7289_ShortDelay();
ZLG7289_pinCLK=0;
ZLG7289_ShortDelay();
}while(--t!=0);
}
/*函數(shù):ZLG7289_cmd()
功能:執(zhí)行ZLG7289純指令
參數(shù):
cmd:命令字
*/
void ZLG7289_cmd(char cmd)
{
char sav=IE;
IE&=0xFA;
ZLG7289_pinCS=0;
ZLG7289_LongDelay();
ZLG7289_SPI_Write(cmd);
ZLG7289_pinCS=1;
ZLG7289_LongDelay();
IE=sav;
}
//復(fù)位(清除)指令
void ZLG7289_Reset()
{
ZLG7289_cmd(0xA4);
}
/*
函數(shù):ZLG7289_cmd_dat()
功能:執(zhí)行ZLG7289帶數(shù)據(jù)指令
參數(shù):
cmd:命令字
dat:數(shù)據(jù)
*/
void ZLG7289_cmd_dat(char cmd,char dat)
{
char sav=IE;
IE&=0xFA;
ZLG7289_pinCS=0;
ZLG7289_LongDelay();
ZLG7289_SPI_Write(cmd);
ZLG7289_LongDelay();
ZLG7289_SPI_Write(dat);
ZLG7289_pinCS=1;
ZLG7289_LongDelay();
IE=sav;
}
/*
函數(shù):ZLG7289_Download()
功能:下載數(shù)據(jù)
參數(shù):
mod=0:下載數(shù)據(jù)且按方式0譯碼
mod=1:下載數(shù)據(jù)且按方式1譯碼
mod=2:下載數(shù)據(jù)且按方式2譯碼
x:數(shù)碼管編號(hào)(橫坐標(biāo)),取值0~7
dp=0:小數(shù)點(diǎn)不亮
dp=1:小數(shù)點(diǎn)亮
dat:要顯示的數(shù)據(jù)
說明:
譯碼方式的具體含義查參考數(shù)據(jù)手冊(cè)
*/
void ZLG7289_Download(unsigned char mod,char x, bit dp,char dat)
{
code char ModDat[3]={0x80,0xC8,0x90};
char d1;
char d2;
if(mod>2)mod=2;
d1=ModDat[mod];
x&=0x07;
d1|=x;
d2=dat&0x7F;
if(dp)d2|=0x80;
ZLG7289_cmd_dat(d1,d2);
}
/*
函數(shù):ZLG7289_Init()
功能:ZLG7289初始化
參數(shù):SPI總線的延時(shí)值設(shè)置,取值1-40(超出范圍可能導(dǎo)致錯(cuò)誤)
說明:
t的取值可以參考以下公式:t>=5*f1/f2,其中f1表示89C51的
晶振頻率,f2表示ZLG7289的晶振頻率
*/
void ZLG7289_Init(unsigned char t)
{
unsigned char x;
//I/O口初始化
ZLG7289_pinCS=1;
ZLG7289_pinCLK=0;
ZLG7289_pinDIO=1;
//延時(shí)初始化
ZLG7289_Delay_t=t;
//點(diǎn)亮所有數(shù)碼管
for(x=0;x<4;x++)
{
ZLG7289_Download(1,x,1,8);
}
}
/***************************************************
***************主函數(shù)*******************************
****************************************************/
void main()
{
/*********程序初始化***********/
unsigned long int sum;
unsigned char gatdata;
char i,j,x,outdat;
int result;
ST=1;
OE=1;
ZLG7289_Reset();
ZLG7289_Init(4);
/*******初始化結(jié)束***************/
while(1)
{
sum=0;
gatdata=0;
for(i=0;i<=5;i++)
{
ST=0;
ZLG7289_ShortDelay();
ST=1;
while(1)
if(EOC==0)
{
OE=0;
gatdata=P0;
OE=1;
sum=sum+gatdata;
break;
}
}
result=(sum*1000)/255;
for(j=0;j<=3;j++)
{
outdat=result%10;
result=result/10;
if(j==3) x=1;
else x=0;
ZLG7289_Download(1,j,x,outdat);
}
}
}
0.092.jpg
0.081.jpg
0.062.jpg
f
作者:
南辰北星
時(shí)間:
2018-6-12 19:27
好好補(bǔ)補(bǔ)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1