ADC0809 数模转换与显示c语言程序
/*名称:ADC0809数模转换与显示
说明:ADC0809采样通道3输入的
模拟量,转换后的结果显示在数码管上。
*/
#include《reg51.h》
#defineucharunsignedchar
#defineuintunsignedint
//各数字的数码管段码(共阴)
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbitCLK=P1^3;//时钟信号
sbitST=P1^2;//启动信号
sbitEOC=P1^1;//转换结束信号
sbitOE=P1^0;//输出使能
//延时
voidDelayMS(uintms)
{
uchari;
while(ms--)for(i=0;i《120;i++);
}
//显示转换结果
voidDisplay_Result(uchard)
{
P2=0xf7;第4个数码管显示个位数
P0=DSY_CODE[d%10];
DelayMS(5);
P2=0xfb;第3个数码管显示十位数
P0=DSY_CODE[d%100/10];
DelayMS(5);
P2=0xfd;第2个数码管显示百位数
P0=DSY_CODE[d/100];
DelayMS(5);
}
//主程序
voidmain()
{
TMOD=0x02;//T1工作模式2
TH0=0x14;
TL0=0x00;
IE=0x82;
TR0=1;
P1=0x3f;//选择ADC0809的通道3(0111)(P1.4~P1.6)
while(1)
{
ST=0;ST=1;ST=0;//启动A/D转换
while(EOC==0);//等待转换完成
OE=1;
Display_Result(P3);
OE=0;
}
}
//T0定时器中断给ADC0808提供时钟信号
voidTImer0_INT()interrupt1
{
CLK=~CLK;
}
关键字:单片机c语言 数模转换 C语言 单片机
引用地址:
单片机C语言程序设计:ADC0809数模转换与显示
推荐阅读最新更新时间:2024-05-03 02:16
单片机 RS485 通信接口、控制线、原理图及程序实例
RS232 标准是诞生于 RS485 之前的,但是 RS232 有几处不足的地方: 接口的信号电平值较高,达到十几 V,使用不当容易损坏接口芯片,电平标准也与 TTL 电平不兼容。 传输速率有局限,不可以过高,一般到一两百千比特每秒(Kb/s)就到极限了。 接口使用信号线和 GND 与其它设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。 传输距离有限,最多只能通信几十米。 通信的时候只能两点之间进行通信,不能够实现多机联网通信。 针对 RS232 接口的不足,就不断出现了一些新的接口标准,RS485 就是其中之一,它具备以下的特点: 采用差分信号。我们在讲 A/D 的时候,
[单片机]
说一说STM32启动过程
STM32上电后是怎么启动的? main函数之前单片机都做了些什么? 带着这些疑问我们开始进入游戏。。。。。 首先,开局一张图,过程全靠编,如有说错的地方望能指正 启动大致流程 1- 上电启动或者硬件复位 2- 单片机从0x00地址开始执行程序,在执行程序前,单片机会根据BOOT引脚设置,将对应的存储器重映射到0x00处,如设置为BOOT0 = 0 ,BOOT1 = X 时,单片机将内部FLASH映射到0x00处,即将0X8000 0000地址映射到0X00处,单片机从FLASH中的程序启动,其他启动方式原理类似,相应的BOOT引脚设置如图 3- 跳转到存储有代码的存储介质(如FLASH)以后,单片机首先找到的是一
[单片机]
用STC15F104E单片机制作闪灯
用STC15F104E单片机,就是一个定时器,上电开始计时,LED每秒闪一次,9小时后继电器吸合3秒,然后释放,计时器重新计时。如此循环。 #include reg51.h typedef unsigned char BYTE; typedef unsigned int WORD; #define SYSclk 6000000L #define MODE1T //Timer clock mode, commendt this line is 12T mode, uncomment is 1T mode #ifdef MODE1T #define T1MS (65536-SYSclk/1000) //1ms
[单片机]
凌阳c61学习笔记_1第一次接触单片机
开发板: SPCE061A精简开发板-61板 参数以后再说 今天 试了一下开发平台,还没搞明白,只是把 自检程序 dowmload进去了,慢慢来吧 今天遇到的问题就是如何运行的问题了: 把程序down到单片机中 要点debug中的go,然后单片机就开始运行了 电源的供电,我选择的是 usb 的5v供电,单片机自带 电源转换模块,将5v电压转换成3.3v的电压! 可以看到这单片机的喇叭可真是不小啊! 哈哈哈
[单片机]
基于PIC单片机及传感器的机器人设计与实现
1 前言
机器人技术是融合了机械、电子、传感器、计算机、人工智能等许多学科的知识,涉及到当今许多前沿领域的技术。一些发达国家已把机器人制作比赛作为创新教育的战略性手段。如日本每年都要举行诸如“NHK杯大学生机器人大赛”、“全日本机器人相扑大会”、“机器人足球赛”等各种类型的机器人制作比赛,参加者多为学生,旨在通过大赛全面培养学生的动手能力、创造能力、合作能力和进取精神,同时也普及智能机器人的知识.
开展机器人的制作活动,是培养大学生的创新精神和实践能力的最佳实践活动之一,特别是机电专业学生开展综合知识训练的最佳平台。本文针对具有引导线环境下的路径跟踪这一热点问题,基于单片机控制及传感器原理,通过硬件电路制作和软件编程,制
[单片机]
触摸传感器QST108与PIC单片机的接口设计
1 概 述
QST108是意法半导体公司针对人机界面的触摸按键控制而推出的电容触摸传感器。其工作原理采用了美国昆腾公司的电荷转移电容专利技术(QProx),支持8个独立按键,且可选择按键状态检测输出或I2C总线控制2种正常工作方式;同时,通过软件命令可使其进入低功耗模式,当有按键按下时可被唤醒。QST108特有的相邻按键抑制算法使得一个按键在按下未松开时,其他按键处于无效状态;自校准和自动漂移补偿功能使其无须人工校准,从而进一步降低了QST108的应用难度。引脚配置如图1所示,各引脚功能如表1所列。
2 QST108的工作方式
2.1 按键状态检测输出方式
[嵌入式]
探析单片机中PWM的原理与控制程序
PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东西。 PWM 是 Pulse Width Modulation 的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效果。这是个什么概念呢?我们一步步来介绍。首先从它的名字来看,脉冲宽度调制,就是改变脉冲宽度来实现不同的效果。我们先来看三组不同的脉冲信号,如图 10-1 所示。 这是一个周期是 10ms,即频率是 100Hz 的波形,但是每个周期内,高低电
[单片机]
使用ATmega32微控制器实现LED闪烁
实现闪烁LED功能通常是快速入门电子产品的首要步骤。在本篇文章中,我们将一个LED指示灯与ATmega32微控制器进行连接,该控制器属于AVR系列。我们将以0.5秒的速率闪烁LED。 需要的硬件和软件 ● ATmega32A微控制器 ● 电源(5v) ● AVR-ISP Programmer ● 100uF电容 ● LED指示灯 ● 220Ω电阻 ● Atmel Studio 6.1 ● Progisp或flash magic 电路和工作说明 上图展示了LED指示灯与AVR微控制器进行连接的电路图,这里不需要连接外部晶振。因为ATMEGA默认使用内部的1MHz振荡器。只有在需要时钟精度的
[单片机]