51单片机驱动 adc0804模数转换 ,下面是电路图
#include
#include "lcd.h"
#include
#define uint unsigned int
#define uchar unsigned char
uchar lcd[]="0123456789";
sbit rd=P3^6; //IO口定义
sbit wr=P3^5;
sbit cs=P3^7;
read_adc0804()//控制并读取adc0804转换好的数据
{
uchar a; //写入控制命令,启动转换
cs=1;
wr=1;
cs=0;
wr=0;
_nop_();
wr=1;
P1=0xff; //读取已转换好的数据
rd=1;
rd=0;
_nop_();
a=P1;
rd=1;
cs=1;
return a;
}
void main()
{
uchar a,A1,A2,A3;
lcd_init();
while(1)
{
a=read_adc0804();
A1=a/100; //分出百,十,和个位
A2=a%100/10;
A3=a%10;
lcd_busy();
lcd_xy(3,0);
lcd_write_dat(lcd[A1]);
lcd_busy();
lcd_xy(4,0);
lcd_write_dat(lcd[A2]);
lcd_busy();
lcd_xy(5,0);
lcd_write_dat(lcd[A3]);
}
}
关键字:ADC0804 模数转换 51单片机
引用地址:
ADC0804 模数转换51单片机程序+电路图
推荐阅读最新更新时间:2024-03-16 13:47
51单片机简单的串口通讯-1
大学毕业后从事了PLC电气编程工作,但一直热爱单片机,一直在自学,今天终于对串口通讯有了一个简单的理解,写篇文章纪念一下,同时也感谢CSDN一直这一来的帮助。 实例一,通过单片机A向单片机B发送0-3数字,双机均循环显示输出到P2口的7段数码管上。 电路图 A机程序 #include reg51.h #define uchar unsigned char #define uint unsigned int char code map ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; main() { uchar i; uint j,k;
[单片机]
51单片机PWM占空比调整
//51单片机PWM占空比调整演示程序 //(通过测试,注意:AT89S51单片机,有的单片机P3_7需要改为P3^7) /***************************************************************************** * 程序名称:PWM占空比调整演示程序 * *程序思路说明: * * 只需要4个按键。 * *关于频率和占空比的确定,对于12M晶振,输出频率为1KHZ,这样定时中断次数设定为 * *10,即0.0
[单片机]
MCS51单片机存储器结构
MCS-51单片机存储器结构 MCS-51的存储器可分为四类: 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,
[单片机]
51单片机简单I/O实验(交通灯控制)
一.实验要求 以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。 二.实验目的 1.学习在单片机系统中扩展简单I/O接口的方法。 2.学习数据输出程序的设计方法。 3.学习模拟交通灯控制的方法。 4.学习双色灯的使用。 三.实验电路及连线 四.实验说明 1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,
[单片机]
51单片机位寻址区及能进行位寻址的SFR
(1)位寻址区 在80C51中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这些RAM的每一个位都有自已的地址,能直接用这个地址来对此进行操作。 内部RAM的20H-2FH这16个字节,就是8031的位寻址区。看图1。可见这里面的每一个RAM中的每个位我们都可能直接用位地址来找到它们,而不必用字节地址,然后再用逻辑指令的方式。 (2)能位寻址的特殊功能寄存器 80C51中有一些SFR是能进行位寻址的,这些SFR的特点是其字节地址均可被8整除,如A累加器,B寄存器、PSW、IP(中断优先级控制寄存器)、IE(中断允许控制寄存器)、SCON(串行口控制寄存器)、TCON(定时器/计数器控制寄存器)、P0-P3(I/
[单片机]
51单片机基础之流水灯(一)
代码: #include reg52.h //不再赘述 #define LED P2 //宏定义P2端口,偏于直接操作 void delay(unsigned int u16) //不再赘述 { while(u16--); } void main(void) { int i; //定义一个变量 while(1) { for(i=0;i 8;i++) //循环执行八次 { LED=~(0x01 i); //第一次执行的时候左移一位,第二次左移两位,第三次左移三位,以此类推
[单片机]
51单片机独立按键与矩阵按键的工作原理
独立按键 首先既然是检测输入,对于当然要用到拉电阻,来检测引脚电平变化变化。51单片机中,除了P0口外,P2,P3,P4都是内置上拉电阻的准双向IO口,一般 的 51 P0引脚都外接了上拉电阻,当然也可以用作输入口。 作为输入前需要拉为高电平。当有按键按下,致使单片机的某个引脚接地,变为低电平时,我们就认为这个按键按下了。当按键松开后,由于输入不会锁存,所以此时拉高的引脚回归到高电平。 独立按键的内部原理。 独立按键的4个引脚中,两两为一组。每一组的2个引脚是连在一起的,当按键按键时,2个组又连接了,也就是4个脚都连接一起了。 按键的很重要注意点就是消除抖动,消抖。因为人按下按键不是并瞬间到位的,按键在按下的过程中会有
[单片机]
怎样研发一个以80C51单片机为核心的压力测量控制系统?
1 引言 目前我国发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。 影响开机率的一个主要因素是支架对工作面的顶板控制的好坏,因此,对综采工作面进行矿压监测与控制是很有必要的。要做到这一点,首先需要对井下工作面的液压支架的实际工作状况进行监测,通过对检测数据处理、分析,评定其效果,并采取相应措施,以提高开机率、提高产量。本文以监测综采液压支架的压力为研究内容,开发了一套基于单片机的压力测量控制系统。 2 压力测量控制系统功能设计 压力测量控制系统用于监测支架压力, 每台测量控制系统配有四只传感器, 可分别通过高压油管连接支架的立柱、平衡千斤顶, 前探梁千斤顶的油压腔。压力测量控制系统接收到通讯测量控制
[单片机]