历史上的今天
今天是:2025年01月08日(星期三)
2018年01月08日 | AD0804单片机控制程序
2018-01-08 来源:eefocus
/*采用AD0804芯片,硬件电路:cs片选端接P2.3,WR写数据端写P3.6,RD读数据端接P3.7,锁存端接P2.6脚,数码管位选端分别接P3.2 ,P3.3,P3.4,段选端接P1口*/
#include
#define uint unsigned int//宏文件
#define uchar unsigned char//宏文件
uchar num;//变量
void delay3(uint z);//延时定义
void dissy();//延时函数定义
sbit ge=P3^2;//个位定义
sbit shi=P3^3;//十位定义
sbit bai=P3^4;//百位定义
sbit ad_cs=P2^3;//片选端
sbit ad_wr=P3^6;//写数据端
sbit ad_rd=P3^7;//读数据端
sbit pian=P2^6;//锁存器片选
void add();//ad转换子函数
void delay(uint i);//延时子函数申明
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e
};//数组
/************主函数**********/
void main()
{
while(1)
{
add();//调用AD转换子函数
dissy();//数码管显示子函数
}
}
/************AD转换子函数**********/
void add()//AD转换子函数
{
uchar i;
ad_cs=1;//将片选关闭
ad_cs=0;//将片选打开
ad_wr=1;//写数上升沿
ad_wr=0;//写数下降沿
ad_wr=1;//写数上升沿
P1=0xff;//送数到P0口
ad_rd=1;//读数上升沿
delay(25);//延时一会儿
ad_rd=0;//读数下降沿
//////**************因为AD转换时间周期长,我现在的数码管没有采用锁存器,AD转换时间大于显示时间,所以显示时会闪烁,解决此问题方法是,连续调用了显示子程序七次,这样显示时就和AD转换时一至,显示出来的数就不闪了********************//////
for(i=0;i<7;i++) //调用7次,相当于delay(255)
void dissy();
//////**********************************//////
num=P1;//将数给计数器num
}
/************显示子函数**********/
void dissy()//显示子函数
{
P0=table[num/100];//百位显示数据
bai=0;//百位打开
delay(14);//延时一会
bai=1;//关闭百位
P0=table[num%100/10];//十位显示数据
shi=0;//十位打开
delay(14);//延时一会
shi=1;//关闭十位
P0=table[num%10];//百位显示数据
ge=0;//关闭十位
delay(14);//延时一会
ge=1;//关闭十位
}
/**************延时子函数*************/
void delay(uint i)//延时函数
{
uint j,k;//定义变量
for(j=i;j>0;j--)//外循环
for(k=30;k>0;k--);//内循环
}
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 03:34 编辑 超声波测距模块资料(芯片中文资料,原理图,设计注意事项) … 查看全部问答> |
|
历时小半年,我的乐高机器人终于可以把任意打乱的魔方还原了。从读完颜色开始计时,还原时间平均在3分钟左右。 心情很high,特此放分分享一下。这里是两张照片: 新浪上的视频地址: http://you.video.sina.com.cn/b/19458174-1264621887.ht ...… 查看全部问答> |
|
LPC2148的振荡器可以工作在两种模式:从属模式也就是外部输入信号源,频谱范围为1~50M。还有一种就是常用的政党模式,采用外部晶振,频谱范围1~30M。LPC2148上有两个 PLL 模块。当 PLL1 必须在 48MHz 的固定速率下提供 USB 时钟时,PLL0 生成 CCL ...… 查看全部问答> |
|
AT91 GPIO作为中断输入在WINCE6.0中如何初始化 我用AT91SAM9261的GPIO作为外设的中断输入应缴,请问该如何初始化? 我现在用了 const struct pio_desc hw_pio[] = { {\"...\", AT91C_PIN_PC(3), 0, PIO_PULLUP | PIO_DEGLITCH, PIO_INPUT}, }; pio_setup(.., ...… 查看全部问答> |
|
视频下载链接: http://dl.dbank.com/c01zrh49d7# 该链接需要下载华为网盘(不知道不下载行不行,本人下载完资料又删除了)… 查看全部问答> |




