左瓶程序知识讲解.doc

左瓶程序知识讲解.doc

ID:60806355

大小:42.50 KB

页数:8页

时间:2020-12-20

左瓶程序知识讲解.doc_第1页
左瓶程序知识讲解.doc_第2页
左瓶程序知识讲解.doc_第3页
左瓶程序知识讲解.doc_第4页
左瓶程序知识讲解.doc_第5页
资源描述:

《左瓶程序知识讲解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、精品好文档,推荐学习交流/******************************************************************************//*Name:电子设计电源题功能:稳压,电路保护功能*//*Designedby:胡车,蒋睿,张佩小组Date:2013/9/521:09*//*开发环境:ICCAVR*//*PD0确定键,PD1增加键,PD2菜单键,PD7减小键,PD5输出PWM波,PD6接继电器*//*PA0~PA2液晶控制,PB口液晶数据口,PA5采样电压输入,PA6采样电流输入*//*********************

2、*********************************************************/#include#include#include"1602.h"#defineucharunsignedchar#defineuintunsignedint#defineGet_Bit(val,bitn)(val&(1<<(bitn)))uintaddata;uintrec=1;ucharflag=1;//进入按键中断标志ucharkey_flag=0;//按键标志位ucharnum_flag=0;//数字改变标志uchare

3、rr_flag=0;//出错类型标志uchardelay_flag=0;//适应电压标志uintvol_exp=368;//360理想输出电压uintnum1=1,num2=5;uintk1,k2;ucharcont1[]={"LimitedCurrent:"};ucharcont2[]={".A"};uchartemp1[]={"Voltage:.V"},temp2[]={"Current:.A"},temp3[]={"DUTYCYCLE:%"};floattemp1float=0,temp2float=0;uinttemp1int=0,temp2int=0;voidport_

4、init(void){PORTA=0xf8;//f8DDRA=0x07;PORTB=0x00;DDRB=0xFF;PORTC=0xFF;//m103outputonlyDDRC=0x00;PORTD=0x8F;DDRD=0x70;}//TIMER1initialize-prescale:1//WGM:5)PWM8bitfast,TOP=0x00FF//desiredvalue:31.25KHz//actualvalue:31.250KHz(0.0%)voidtimer1_init(void){TCCR1B=0x00;//stopTCNT1H=0xFF;//setupTCNT1L=

5、0x01;OCR1AH=0x00;OCR1AL=0x30;//改变A占空比OCR1BH=0x00;OCR1BL=0x5E;//改变B占空比ICR1H=0x00;ICR1L=0xFF;TCCR1A=0xF1;TCCR1B=0x09;//startTimer}仅供学习与交流,如有侵权请联系网站删除谢谢8精品好文档,推荐学习交流/*延时函数*/voiddelay_ms(unsignedintxms){inti,j;for(i=0;i

6、=0;j<200;j++);}}//按下按键后待处理的程序voidkey_sol(void)//液晶界面{flag=0;key_flag=1;LcdInit();WriteChar(1,0,16,cont1);WriteChar(2,0,16,cont2);WriteNum(2,0,ASCII[num1]);WriteNum(2,2,ASCII[num2]);writecom(0x0f);//开光标显示writecom(0xc0);while(key_flag!=0){/*确定按键*/if(Get_Bit(PIND,PD0)==0){delay_ms(20);key_flag=k

7、ey_flag+1;while(!(Get_Bit(PIND,PD0)));//等待按键松开delay_ms(20);}switch(key_flag){case1://调节电流NUM1/*增加按键*/if(Get_Bit(PIND,PD1)==0){num_flag=1;delay_ms(10);num1++;if(num1==10){num1=9;}WriteNum(2,0,ASCII[num1]);writecom(0xc0);while(!(Get_Bit(PIND,PD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。