- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
~直流电源设计.doc
数控直流稳压电源 1)输出电压:范围0~+9.9V,步进0.1V,纹波不大于8mV。 2)输出电流:500mA。
3) 输出电压值用数码管LED显示。
4)用+、—两键分别控制输出电压的步进增减。
5)为实现上述几个部件工作,自制一台稳压直流电源,输出+ 、-15V、+5V。
发挥部分:1)输出电压可预置在0~9.9V之间的任何一个值。
2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变)。
3)扩展输出电压种类(如三角波等)。#include reg51.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
#define DataPort P2
sbit LCM_RS=P1^5;
sbit LCM_RW=P1^6;
sbit LCM_EN=P1^7;
sbit K1=P3^4;
sbit K2=P3^2;
sbit K3=P3^0;
sfr P1ASF=0x9D;
sfr ADC_CONTR = 0xbc;
sfr ADC_RES = 0xbd;
sfr ADC_RESL= 0xbe;
void GET_AD_Result();
void AD_init( );
extern void WriteCommandLCM(uchar CMD,uchar Attribc);
extern void InitLcd();
extern void DisplayoneChar(unsigned char X,unsigned char Y,unsigned char DData);
extern void DisplayListChar(uchar X,uchar Y,uchar code *DData);
unsigned char code dispcode[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};
uchar AD_value,key,Vd=60;
unsigned char i,j,temp8,temp9,temp10,temp11;
float tt=0.0;
uchar tt1=0,tt2=0,tt3=0,m=0;
uchar code str0[]={by;
//uchar code str1[]={beyond};
void delay5ms()
{
unsigned int i=5552;
while(i--);
}
void delay400ms()
{
unsigned char jj=5;
unsigned int jjj;
while(jj--);
{jjj=7269;while(jjj--);};
}
void delay(unsigned int k)
{
unsigned int i,j;
for(i=0;ik;i++)
{
for(j=0;j121;j++)
{;}
}
}
//------------AD convert----------------------------------------
void AD_init( )//void AD_init(uchar AD_port_sel ) //ADC初始化
{
ADC_CONTR|=0x80; //开ADC电源
P1ASF=0x01; //设置P1.0高阻输入方式
ADC_CONTR|=0x08; //启动AD转换 START=1
}
void GET_AD_Result()//启动AD转换并返回转换值
{
uchar temp;
temp=0x10; //判转换结束标志 ADC_FLAG
temp=ADC_CONTR;
if ( temp )
{
AD_value=ADC_RES; //读取AD数据
ADC_CONTR=0xe4; //清转换结束标志ADC_FLAG
}
else
{
ADC_RES=0; //清转换数据高8位
ADC_RESL=0; //清转换数据低2位
ADC_CONTR|=0xe8; //启动AD转换 ADC_START
}
}
/////////////////LCD display///////////////////////////////
v
您可能关注的文档
- thehaunt游戏攻略.doc
- thehaunt游戏攻略78834.doc
- ThenewestGreendatacenterinLupfig:最新的绿色数据中心lupfig.docx
- THEOFFSRINGOFDIABETICMOTHERS-European…:糖尿病母亲的offsring欧洲….doc
- TheProfitRateandStagesofDevelopmentofUS…:发展我们的利润率和阶段….doc
- ThermoFisher程序降温仪操作规程x.docx
- TheSocietyforVascularTechnologyof-HomePage:血管技术协会-首页.doc
- ThinkpadT420BIOS设置方法.doc
- ThreeLecturesontheRateofWages:对工资率三讲座.doc
- TitleEstimatingaTime-VariantPharmacokineticParamet:标题估计时变的药代动力学参数.doc
文档评论(0)