基于单片机的数控直流稳压电源论文设计 - 图文(2)

2019-03-22 10:07

www.sfmcu.com www.sf-edu.cn 盛方单片机整理 作者:未知

图3.1单片机模块方框图

3.1主控程序

1.DAC0832程序控制介绍

ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降

沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC

变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当

OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

6

www.sfmcu.com www.sf-edu.cn 盛方单片机整理 作者:未知 ad0809是根据逐位逼近的方法产生数据的。。

参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0.0196V 设输入电压为X则:

X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。

2.主控程序首先进行系统初始化,然后读入预置电压值,输出相应的电压控制字,等待键盘输入。根据键盘的不同输入,用散转方式转入相应的应用程序,执行后,若用户又输入“清除显示”,则输出电压控制字0,返回初始状态,等待下一次按键。键盘扫描函数:

进中断 2.2矩阵键盘扫描

把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。

比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设為VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1

7

www.sfmcu.com www.sf-edu.cn 盛方单片机整理 作者:未知 变成0,这是因為这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即為扫描原理。

由於这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,為了避免让8051误判為多次输入同一按键, 我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定 2.3数码管动态扫描

动态显示驱动

② 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,

8

www.sfmcu.com www.sf-edu.cn 盛方单片机整理 作者:未知 不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

2.4 总程序一览

#include

#define uchar unsigned char #define uint unsigned int sbit key1=P1^0; sbit key2=P1^1;

void delay(uint z);

uchar keyscan()//盘扫描 {

uchar temp,num; num=17; P1=0xfe; temp=P1;

temp=temp&0xf0; while(temp!=0xf0) { delay(20); temp=P1;

temp=temp&0xf0; if(temp!=0xf0) { // delay(10); P1=P1&0xf0;

while(P1!=0xf0); switch(temp) {

case 0xe0:num=7;break; case 0xd0:num=8;break; case 0xb0:num=9;break; case 0x70:num=15;break; default:break; } }

else break; }

P1=0xfd;

9

www.sfmcu.com www.sf-edu.cn 盛方单片机整理 作者:未知 temp=P1;

temp=temp&0xf0; while(temp!=0xf0) { delay(20); temp=P1;

temp=temp&0xf0; if(temp!=0xf0) { //delay(10); P1=P1&0xf0; while(P1!=0xf0); switch(temp) {

case 0xe0:num=4;break; case 0xd0:num=5;break; case 0xb0:num=6;break; case 0x70:num=14;break; default:break; } }

else break; }

P1=0xfb; temp=P1;

temp=temp&0xf0; while(temp!=0xf0) {

delay(20); temp=P1;

temp=temp&0xf0; if(temp!=0xf0) {

//delay(10); P1=P1&0xf0;

while(P1!=0xf0); switch(temp) {

case 0xe0:num=1;break; case 0xd0:num=2;break; case 0xb0:num=3;break; case 0x70:num=13;break; default:break;

10


基于单片机的数控直流稳压电源论文设计 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某实验楼火灾自动报警系统设计书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: