已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
说明:在Proteus仿真通过,在实际硬件电路中。程序可能需要做适当的调整。C程序#include #include macros.h#define uchar unsigned char #define uint unsigned intuint m,n,TEMP,QIAN,BAI,SHI,GE,dang; uchar ledCode=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;/*共阳数码管*/uchar FLAGE;void delay_1ms(void) /1ms延时函数 uint i; for (i=0;i1140;i+); void delay_nms(uint n) /N ms延时函数 uint i=0; for (i=0;in;i+) delay_1ms(); void AD_set(void) if(dang=0) ADMUX |= (1 REFS0); /ADC参考电压为AVcc,ADC结果右对齐,选择通道ADC0 ADMUX&=(1MUX1); ADMUX&=(1MUX0); if(dang=1) ADMUX |= (1 REFS0); ADMUX&=(1MUX1); ADMUX|=(1MUX0); if(dang=2) ADMUX |= (1 REFS0); ADMUX|=(1MUX1); ADMUX&=(1MUX0); if(dang=3) ADMUX |= (1 REFS0); ADMUX|=(1MUX1); ADMUX|=(1MUX0); ADCSRA |= (1 ADEN) | (1 ADPS2) | (1 ADPS1); /使能AD转换,ADC时钟64分频 uint AD(void)ADCSRA |= (1 ADSC); /开始AD转换while(!(ADCSRA & (1 ADIF); /等待转换完成ADCSRA |= (1 ADIF); /清零ADC中断标志位return ADC; /返回ADC值void yichangxianshi(void)/超量程显示函数 PORTB=0X01; PORTD=ledCode16; delay_nms(10); PORTB=0X02; PORTD=ledCode16; delay_nms(10); PORTB=0X04; PORTD=ledCode16; delay_nms(10); PORTB=0X08; PORTD=ledCode16; delay_nms(10);void chuli(void)TEMP=0x3ff&m;if(dang=0) n=(int)(long)TEMP*5005*5/(1024*4);/(数据类型)重点难题要注意啊!QIAN=(uchar)(n/1000);BAI=(uchar)(n%1000)/100);SHI=(uchar)(n%100)/10);GE=(uchar)(n%100)%10); if(QIAN=6)&(BAI=2)&(SHI=5)&(GE=0)/判断是否超量程 FLAGE=1; yichangxianshi(); else FLAGE=0; if(dang=1)n=(int)(long)TEMP*5005*5/(1024*3);/(数据类型)重点难题要注意啊! QIAN=(uchar)(n/1000);BAI=(uchar)(n%1000)/100);SHI=(uchar)(n%100)/10);GE=(uchar)(n%100)%10); if(QIAN=8)&(BAI=3)&(SHI=3)&(GE=3)/判断是否超量程 FLAGE=1; yichangxianshi(); else FLAGE=0; if(dang=2)n=(int)(long)TEMP*500*5/(1023*2);/(数据类型)重点难题要注意啊! QIAN=(uchar)(n/1000); BAI=(uchar)(n%1000)/100); SHI=(uchar)(n%100)/10); GE=(uchar)(n%100)%10); if(QIAN=1)&(BAI=2)&(SHI=5)&(GE=0)/判断是否超量程 FLAGE=1; yichangxianshi(); else FLAGE=0; if(dang=3)n=(int)(long)TEMP*500*5/1023);/(数据类型)重点难题要注意啊! QIAN=(uchar)(n/1000); BAI=(uchar)(n%1000)/100); SHI=(uchar)(n%100)/10); GE=(uchar)(n%100)%10); if(QIAN=2)&(BAI=5)&(SHI=0)&(GE=0)/判断是否超量程 FLAGE=1; yichangxianshi(); else FLAGE=0; void xianshi(void) PORTB=0X01; PORTD=ledCodeQIAN; if(dang=0)|(dang=1)/根据量程判断是否个位后显示小数点儿 PORTD&=(17); delay_nms(10); PORTB=0X02; PORTD=ledCodeBAI; if(dang=2)|(dang=3)/根据量程判断是否十位后显示小数点儿 PORTD&=(17); delay_nms(10); PORTB=0X04; PORTD=ledCodeSHI; delay_nms(10); PORTB=0X08; PORTD=ledCodeGE; delay_nms(10); void init(void)DDRB=0X0F;PORTB=0XFF;/数据码DDRD=0XFF;PORTD=0XFF;PORTA =0X80; DDRA = 0x00; /ADC通道设置为输入口,高阻态DDRC=0XFF;PORTC=0XFF;/用于档位的指示dang=0;FLAGE=0;/超量程标志位 void tiaodang(void)/判断按键进行调档 if(PINA & (1 PA7) = 0) delay_nms(30);if(PINA & (1 PA7) = 0) while(PINA & (1 PA7) = 0); dang+; if(dang=4) dang=0; void zhishi(void)/档位指示 switch(dang) case 0:PORTC=0XFE;break; case 1: PORTC=0XFD;break; case 2:PORTC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年超星尔雅学习通《个人品牌建设与推广》考试备考题库及答案解析
- 幼儿园大班美术种子粘贴画教学方案
- 现代山羊养殖技术培训教材
- 基于竞争力视角下四家旅行社上市公司商业模式的深度剖析与启示
- 公路桥梁养护技术方案与规范
- 岩土工程详细勘察技术方案
- 基于稀疏表示重构残差的集成学习算法:理论、改进与应用探索
- 基于移动终端的在线式发动机故障诊断及预测系统:技术融合与创新应用
- 高中语文古文赏析教学方案
- 2026届温州市高三语文一模漫画类作文题目解析及范文:黄永玉先生《芥末居杂记》的漫画《宫商驴》
- 控烟知识培训内容下载课件
- 水文业务知识培训课件
- 尿常规报告解读
- 井下救援课件
- 知道智慧树国际金融(吉林大学)满分测试答案
- 第10课 公共场所言行文明 第2课时(课件)2025-2026学年道德与法治三年级上册统编版
- 小儿上呼吸道感染护理查房
- 灵芝菌菌种管理办法
- 中储粮薪酬管理办法
- 高层逃生消防课件图片
- 取样gmp培训课件
评论
0/150
提交评论