基于单片机的可调电压设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#includereg52.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=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;a0;a--)for(b=125;b0;b--);}voidshuma(uintbuf){P0=table[buf%1000/100];W1=0;delay_ms(1);P0=0xff;W1=1;P0=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;a0;a--){DAT_5615=c15;c=c1;CLK_5615=1;CLK_5615=0;}CLK_5615=1;CLK_5615=0;CLK_5615=1;CLK_5615=0;CS_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(U120)U++;}}if(KEY2==0){delay_ms(5);if(KEY2==0){while(!KEY2);if(U0)U--;}}if(KEY3==0){if(KEY3==0){U=50;}}if(KEY4==0){if(KEY4==0){U=0;}}}if(Duan==0){delay_ms(10);if(Duan==0){flag=1;//过流标志置高beep=0;U=0;tlc_5615(0);}else{beep=1;}}}}

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功