- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电压表主程序模块
/**电压表主程序模块*/
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
void result(uchar);
uchar value=0;
#includeadc0809.h
#includelcd1602.h
uchar str[5] ;
uchar volt[7];
uchar a=0+0x30;
uchar str1[11]=tanxiaopin ;
sbit CLK=P0^7;
uint n;
void main()
{ //uint i;
ADC0809_init();
lcd_init();
while(1)
{
lcd_zifu(str1,0x01);
value=AD();//原值
str[0]=value/100+0x30;
str[1]=value%100/10+0x30;
str[2]=value%10+0x30;
result(value);
lcd_data(str,0x40);
lcd_data(volt,0x46);
}
while(1);
}
void result(uchar v)//转换成电压值
{
float a;
a=(v/255.0)*500.0;
volt[0]=((int)a)/100+0x30;
volt[1]=.;
volt[2]=((int)a)%100/10+0x30;
volt[3]=((int)a)%10+0x30;
volt[4]= ;
volt[5]=V;
}
void t1(void) interrupt 3
{
CLK=~CLK;
}
/*ADC0809程序模块*/
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
sbit ST=P0^4;
sbit EOC=P0^5;
sbit OE=P0^6;
//sbit CLK=P0^7;
sbit ADDA=P0^0;
sbit ADDB=P0^1;
sbit ADDC=P0^2;
sbit ALE=P0^3;
uchar v;//保存IN0和经AD转换后的数据
/*非精确演示函数*/
void delay(ms)
{
uint i,j;
for(i=ms;i0;i--)
for(j=125;j0;j--);
}
void ADC0809_init()
{
TMOD=0x20;
TH1=(255-250);
TL1=(255-250);
EA=1;//开总中断
ET1=1; //开定时器1中断
TR1=1; //启动定时器1
ST=0;
OE=0;
ALE=0;
}
/*用中断做一个500K HZ的时钟信号*/
/******AD转换函数*******/
uchar AD()
{
uchar temp=0;
ST=0;
//EOC=1;
// ALE=1;
ADDA=0;
ADDB=0;
ADDC=0;
delay(1);
// ALE=0;
//OE=0;
ST=0;
ALE=1;
ST=1;
ALE=0;
ST=0;
delay(2);
while(EOC==0);
OE=1;
temp=P2;
delay(2);
OE=0;
return temp;
}
/*ADC0809 模块封装头文件*/
void ADC0809_init();
uchar AD();
/*LCD1602液晶显示模块*/
#includereg52.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit rs=P1^5;
sbit rw=P1^6;
sbit en=P1^7;
void lcd_1602(uchar comm);
void lcd_write(uchar dat);
bit lcd_busy();
extern void delay(uint);
void lcd_1602(uchar comm);
void lcd_write(uchar dat);
bit lcd_busy();
sbit busy=P3^7;
e
您可能关注的文档
- QlikView全局介绍及操作讲解PPT.pptx
- (go for it)新目标英语七年级课件下册unit4 I want to be an actor.ppt
- 8B unit4 基础知识同步训练10分钟.ppt
- A ROOM WITH VIEW-福斯特介绍.ppt
- GaussView 画图技巧.ppt
- 八年级英语《Module 5 Problems Unit 1 If she goes to a different school,I won’t see my best friend》.ppt
- [中学联盟]江苏省东台市头灶镇曹丿中学八年级英语下册《Unit5 Good manners》课件1.ppt
- Module3_reading_and_vocabulary必修5.ppt
- 初二下册Unit1 Do you want to watch a game show?SectionA_1a--2c.ppt
- 外语教学与研究出版社必修5第三单元.ppt
最近下载
- 新人教PEP版四年级上册小学英语全册单元试卷.pdf VIP
- 分数乘分数(山东泰安-刘万元).ppt
- HAIER 海尔 海尔Haier冰箱 BCD-202STCS 说明书.pdf
- 《风景谈》优秀课件.ppt VIP
- 2024年国有企业纪委书记上半年履行全面从严治党监督责任的报告3篇范文.docx VIP
- 2024年外研版小学六年级上册英语教学计划及进度表(三年级起点).docx
- 0130-3D打印技术应用专业国家技能人才培养工学一体化课程标准(试用) (1) 教案教学大纲教学标准.docx
- 资产运行效率分析报告模版3篇资产运行效率分析范本.docx VIP
- (化工原理下册课件)干燥速率曲线及干燥过程分析.ppt
- 北京城镇园林绿化养护预算定额.PDF
文档评论(0)