资源简介
使用C语言编写利用AT89C52单片机和ADC0809芯片实现的AD模数转换实验,内含proteus仿真和keil4的项目,供学习实验参考
代码片段和文件信息
#include
#include
#include
#include
#include
//0809地址锁存
sbit ADDC=P1^6;
sbit ADDB=P1^5;
sbit ADDA=P1^4;
sbit CLK=P1^3; //clock
sbit ST=P1^2; //start (转换启动信号)
sbit EOC=P1^1; //end of conversion (转换结束信号)
sbit OE=P1^0; //output enable (输出允许信号用于)
//0~9
unsigned char code SEG7[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x00};
/*
* 延时
*
* @param x 时间(不精确)
* @return
*/
void delay_ms(int i)
{
int j=0;
while(i--)
{
for(j=0;j<120;j++);
}
}
/*
* 显示函数
*
* @param ADx AD转换过后的八位数值
* @return
*/
void display(unsigned char ADx)
{
int AD = ADx*500.0/255.0;
P2=0xFD; P0=SEG7[AD/100]; delay_ms(5);//1111_1101 -> P2^1
P2=0xFB; P0=SEG7[(AD/10)%10]; delay_ms(5);//1111_1011 -> P2^2
P2=0xF7; P0=SEG7[AD%10]; delay_ms(5);//1111_0111 -> P2^3
}
/*
* 初始化
*
* @return
*/
void init()
{
// ABC=110选择第三通道
ADDC=0;
ADDB=1;
ADDA=1;
CLK=0;
ST=1; //内部寄存器清零
EOC=1; // 转换结束(未开始)
OE=0;
}
/*
* 中断
*
* @return
*/
void t0() interrupt 1
{
CLK=!CLK;
}
//主函数
void main()
{
init();
//TMOD定时器
TMOD=0x02; //0000_0010 8位 0~255
TH0=200;
TL0=200;
EA=1; // 总中断开关置高
ET0=1; // T0定时器总中断开关置高
TR0=1; // 启动T0的开定时器位置高
while(1)
{
ST=0;_nop_();ST=1;_nop_();ST=0;
while(EOC==0);
OE=1;
display(P3);
OE=0;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-05-30 15:44 AD模数转换实验0809\keil4工程\
文件 8365 2020-05-24 10:54 AD模数转换实验0809\keil4工程\ADC0809P
文件 3002 2020-05-24 10:54 AD模数转换实验0809\keil4工程\ADC0809P.hex
文件 46 2020-05-24 10:54 AD模数转换实验0809\keil4工程\ADC0809P.lnp
文件 8760 2020-05-24 10:54 AD模数转换实验0809\keil4工程\ADC0809P.M51
文件 184 2020-05-30 15:44 AD模数转换实验0809\keil4工程\ADC0809P.plg
文件 55656 2020-05-30 15:44 AD模数转换实验0809\keil4工程\ADC0809P.uvopt
文件 13402 2020-05-24 01:41 AD模数转换实验0809\keil4工程\ADC0809P.uvproj
文件 55650 2020-05-24 12:48 AD模数转换实验0809\keil4工程\ADC0809P_uvopt.bak
文件 13767 2020-05-24 01:19 AD模数转换实验0809\keil4工程\ADC0809P_uvproj.bak
文件 1482 2020-05-24 10:54 AD模数转换实验0809\keil4工程\mainX.c
文件 4043 2020-05-24 10:54 AD模数转换实验0809\keil4工程\mainX.LST
文件 7166 2020-05-24 10:54 AD模数转换实验0809\keil4工程\mainX.OBJ
文件 6376 2020-05-24 01:19 AD模数转换实验0809\keil4工程\STARTUP.A51
文件 14061 2020-05-24 10:54 AD模数转换实验0809\keil4工程\STARTUP.LST
文件 749 2020-05-24 10:54 AD模数转换实验0809\keil4工程\STARTUP.OBJ
目录 0 2020-05-30 15:43 AD模数转换实验0809\proteus仿真\
目录 0 2020-05-30 15:41 AD模数转换实验0809\proteus仿真\proteus2\
文件 3002 2020-05-24 10:54 AD模数转换实验0809\proteus仿真\proteus2\ADC0809P.hex
文件 19632 2020-05-30 15:41 AD模数转换实验0809\proteus仿真\proteus2\ADC0809模数转换与显示.pdsprj
文件 2199 2020-05-30 15:41 AD模数转换实验0809\proteus仿真\proteus2\ADC0809模数转换与显示.pdsprj.DESKTOP-OC16VVM.hope and freedom.workspace
文件 19641 2020-05-24 11:08 AD模数转换实验0809\proteus仿真\proteus2\Backup Of ADC0809模数转换与显示.pdsbak
文件 19658 2020-05-24 11:49 AD模数转换实验0809\proteus仿真\proteus2\Last Loaded ADC0809模数转换与显示.pdsbak
- 上一篇:算法竞赛入门经典 第2版 -刘汝佳清晰非扫描版
- 下一篇:C语言考研真题汇编
相关资源
- C语言考研真题汇编
- 树莓派智能小车开发C语言源码
- 两输入单输出模糊控制c语言程序
- C语言实战——基于51单片机的RFID射频
- 黑客帝国C语言
- C语言程序扑克发牌
- C语言考研真题汇编(2)
- Windows+C语言构建网络聊天室内含源程
- ISD4004语音芯片C语言程序
- NES 游戏 C语言开发教程
- C语言100道练习题
- c语言 linux 贪吃蛇.doc
- 标准H.264编解码源代码,C语言实现
- c语言实现的模板(list queue stack)
- 基于51单片机的c语言程序 电机转速测
- BCH编译码c语言实现
- SM2算法C语言实现
- 用C语言实现成绩表的快速排序程序设
- GPS网间接平差C语言程序
- RSA算法纯C语言代码实现,带测试dem
- c语言标准库源码大全
- [算法:C语言实现(第1-4部分)基础知
- MPI与OpenMP并行程序设计:C语言版
- C语言程序设计课件全套
- 几本英文原版的c语言经典图书
- 单片机交通灯课程设计.zip
- 课程设计--C语言学生成绩管理系统内
- 利用C语言实现的ATM机
- C语言程序设计第四版谭浩强课后习题
- 现代优化设计黄金分割法和二次插值
评论
共有 条评论