c语言adc0809小数点,ADC0809做AD转换的C程序
ADC0809做AD转换的C程序
(2012-11-29 16:51:58)
标签:
杂谈
分类:
电学
#include
unsigned char code dispbitcode[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdata;
unsigned int temp;
unsigned int temp1;
unsigned char count;
unsigned char d;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P17=P1^7;
void TimeInitial();
void Delay(unsigned int i);//
void TimeInitial()
{
TMOD=0x10;
TH1=(65536-200)/256;//定时时间为2us,亦即CLK周期为0.4us
TL1=(65536-200)%6;
EA=1;
ET1=1;
TR1=1;
}
void Delay(unsigned int i)//延时函数
{
unsigned int j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
void Display()//
{
P1=dispbitcode[dispbuf[3]];//十位
P20=0;
P21=1;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[2]];//个位
P17=1;//显示小数点
P20=1;
P21=0;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[1]];//十分位
P20=1;
P21=1;
P22=0;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[0]];//百分位
P20=1;
P21=1;
P22=1;
P23=0;
Delay(10);
P1=0x00;
}
void main()//主函数
{
TimeInitial();
while(1)
{
ST=0;//关闭转换
OE=0;//关闭输出
ST=1;//开启转换
ST=0;//关闭转换
P34=0;//选择通道0
P35=0;
P36=0;
while(EOC==0);//判断是否转换结束:是则执行以下语句,否则等待
OE=1;//开启数据输出允许
getdata=P0;//将数据取走,存放在变量getdata中
OE=0;//关闭输出
temp=getdata*1.0/255*500;//电压值转换,5V作为参考电压,分成256份
dispbuf[0]=temp;//百分位
dispbuf[1]=temp/10;//十分位
dispbuf[2]=temp/100;//个位
dispbuf[3]=temp/1000;//十位
Display();
}
}
void t1(void) interrupt 3 using 0//定时器中断服务函数;作用:产生CLK信号
{
TH1=(65536-200)/256;
TL1=(65536-200)%6;
CLK=~CLK;
}
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
c语言adc0809小数点,ADC0809做AD转换的C程序相关推荐
- c语言p16f877a编译器,PIC16F877A单片机-AD转换经典C程序
#include #define HC595_SER RB7 #define HC595_SCK RB6 #define HC595_RCK RB5 #define key_164_data RB3 ...
- da0809 c语言程序,ADC0809做AD转换和DA转换的C程序.doc
ADC0809做AD转换的C程序 #include unsigned char code dispbitcode[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x0 ...
- 单片机ad转换测电压c语言,大家帮我看下这个STC AD转换 测电压程序错在哪里,谢谢了...
大家帮我看下这个STC AD转换 测电压程序错在哪里,谢谢了 [复制链接] #include"ADC电压表.H" #include uchar value; void adc_in ...
- c语言编程TLC2543AD采集,51单片机驱动12位AD转换TLC2543电路图+程序
51单片机驱动12位AD转换TLC2543电路图+程序 2015-06-18 16:51:15 来源:51hei void resultvolt() { volt=volt*5000.0/4334 ...
- ad模数转换采集电压程序c语言,使用单片机自带AD转换采样电位器,进行PWM调光...
本帖最后由 张全武5 于 2015-6-26 18:36 编辑 请问各位一下,AD转换结果,需要经过什么处理,,然后用if语句判断输出不同占空比的PWM.......... 写了这样的一段程序,,为什 ...
- AD转换实验 编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则
编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值.(如:AD转换后的数字量为128,则数码管应该显示2 ...
- 基于51单片机的AD转换设计
一.设计目的 掌握AD转换芯片的基本工作原理: 掌握一个完整的C语言程序结构: 熟悉AD转换与单片机的使用的编程. 二.设计环境 Keil开发环境 Proteus软件. 三.设计及调试 (1) 设计内 ...
- C51数码管动态显示+AD转换
老师让做AD转换的实验,并把转换结果用数码管显示出来.由于疫情的原因,没有C51的小试验箱,就只能用protues进行仿真. 一.AD部分 AD转换我用的是ADC0808芯片.ADC0808的内部结构 ...
- 单片机模数转换实验c语言程序,单片机实验AD转换实验
<单片机实验AD转换实验>由会员分享,可在线阅读,更多相关<单片机实验AD转换实验(5页珍藏版)>请在人人文库网上搜索. 1.实验报告课程名称: 单片机原理及应用 实验项目: ...
最新文章
- 常量池、perm(持久代)、方法区、栈
- 互联网产品发布之灰度发布
- iOS高级-RunLooper
- samba登陆密码不正确
- incc与oracle连接_Oracle 连接和会话的区别
- linux c语言获取时间
- ROS: global_planner 整体解析
- Y15BeTa蜂鸣器-演奏版-简化版
- [转载]spring使用PropertyPlaceholderConfigurer加载properties文件处理中文乱码
- 计算机专业专业课代号408,计算机408有多难
- oligo包常用函数
- epson机器人编程 范例_EPSON工业机器人编程.pdf
- 小学计算机网络教室简介,市中小学计算机网络教室(网络学习室)
- 【BZOJ4049】[Cerc2014] Mountainous landscape(线段树+凸包+二分)
- 中国富豪第一桶金挖掘的九大方式
- 流量上不去?那是因为你不会这招标题优化技巧
- h.265系列快速操作指南_H2O-快速指南
- 操作系统简史(1)东方会有新的操作系统诞生吗?让历史告诉未来
- 安卓android银联支付Unionpay
- Vue的生命周期过程详解
热门文章
- Samba服务+Samba实验
- 什么是CRM?2023年15家全球顶级CRM系统推荐
- 【新书速递】图解IT-用Python轻松设计控制系统
- foxmail 发不出邮件,被电脑管家云查杀引擎检测出带有病毒:Win32.Trojan.Agent.hryf ...
- github上fork分支后再合入原master分支的改动
- win10没有管理员执行权限
- LeetCode: 868. Transpose Matrix
- 江苏省高校微课比赛参赛经验总结
- Navicat使用pgSQL报错不能建表
- c4d打开没反应_(图文+视频)C4D野教程:来制作一个类似蹦床的布料动画