欢迎来到天天文库
浏览记录
ID:57279231
大小:1.51 MB
页数:8页
时间:2020-08-08
《基于单片机的可调电压设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"reg52.h"//宏定义#defineucharunsignedchar#defineuintunsignedint//按键定义sbitKEY1=P2^0;sbitKEY2=P2^1;sbitKEY3=P2^2;sbitKEY4=P2^3;//数码管定义sbitW1=P2^4;sbitW2=P2^5;sbitW3=P2^6;sbitW4=P2^7;//DAC定义sbitCS_5615=P3^2;sbitCLK_5615=P3^3;sbitDAT_5615=P3^4;//报警指示定义sbitbeep=P3^6;sbitDuan=P3^7;uintU;bitflag
2、=0;uinta=0;ucharcodetable[]={0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/};//共阳数码管段码表没有小数点0~9voiddelay_ms(uintz)//延时函数{uinta,b;for(a=z;a>0;a--)for(b=125;b>0;b--);}voidshuma(uintbuf){P0=table[buf%1000/100];W1=0;delay_ms(1);P0=0xff;W1=1;P0=
3、table[buf%100/10]&0x7f;W2=0;delay_ms(1);P0=0xff;W2=1;P0=table[buf%10];W3=0;delay_ms(1);P0=0xff;W3=1;P0=0xC1;W4=0;delay_ms(1);P0=0xff;W4=1;}voidtlc_5615(uintbuf){uinta,c;c=buf;CS_5615=0;for(a=16;a>0;a--){DAT_5615=c>>15;c=c<<1;CLK_5615=1;CLK_5615=0;}CLK_5615=1;CLK_5615=0;CLK_5615=1;CLK_5615=0;CS
4、_5615=1;}//主函数voidmain(void){U=0;beep=0;delay_ms(300);beep=1;while(1){tlc_5615(U*10);shuma(U);if(flag==0){if(KEY1==0){delay_ms(5);if(KEY1==0){while(!KEY1);if(U<120)U++;}}if(KEY2==0){delay_ms(5);if(KEY2==0){while(!KEY2);if(U>0)U--;}}if(KEY3==0){if(KEY3==0){U=50;}}if(KEY4==0){if(KEY4==0){U=0;}}}
5、if(Duan==0){delay_ms(10);if(Duan==0){flag=1;//过流标志置高beep=0;U=0;tlc_5615(0);}else{beep=1;}}}}
此文档下载收益归作者所有