已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*- 功能介绍:-*/#include #include #include #define uchar unsigned char#define uint unsigned int#define ucode unsigned code/*- 包含函数 -*/void DISP(void); /数码管显示函数void key(void);/矩阵键盘函数void _nop_(void);void ad_buf();/模拟量转化为数字函数uchar ADC0834(uchar tds); /AD转换函数/*- 参数定义-*/uchar bdata ekey1; /键前沿提取uchar bdata ekey2;uchar data key2;uchar data key1;uchar bdata lastkey1;uchar bdata lastkey2;uchar disp_a;/数码管显示指针sbit cs0=P20;sbit cs1=P21;sbit cs2=P22;sbit cs3=P23;sbit cs4=P24;sbit esw0=ekey26; /独立按键键沿标志sbit esw1=ekey27; /sbit ek0=ekey10; /矩阵按键键沿标志sbit ek1=ekey11;sbit ek2=ekey12;sbit ek3=ekey13;sbit ek4=ekey14;sbit ek5=ekey15;sbit ek6=ekey16;sbit ek7=ekey17;sbit ek8=ekey20;sbit ek9=ekey21;sbit row0=P25;sbit row1=P26;sbit row2=P27;sbit sw0=P16;sbit sw1=P17;sbit do_0834=P10;/0834 DIsbit cs_0834=P11; /0834 片选sbit di_0834=P12; /0834 DIsbit clk_0834=P13;/ 0834 时钟sbit dian=P07;/小数点uchar buf0; / 显示缓冲单元个位uchar buf1; /十uchar buf2; /百uchar buf3; / 千uchar buf4;uchar code led=0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0x0F8,0x80,0x90;uchar msta=0;uchar tds;/通道选择uint adbuf;bit t1s;/一秒标志位bit light; /小数点亮标志位uchar ktime;/*- 主函数-*/void main() uchar f1s=0;uchar i;TMOD=0x01;TH0=0xec;TL0=0x78;TR0=1;while(1) while(!TF0); /5ms?TF0=0;TH0=0x0ec;TL0=0x78;+f1s;if(f1s=200)t1s=1;f1s=0;key();DISP();switch(msta) /待机模块 显示“0000” case 0:if(esw0)msta=1;tds=0xd0;/SW1按下跳到模块1 选择单端模式 AD一次 if(esw1)msta=1;tds=0x80;/SW2按下跳到模块1 选择差分模式 AD一次 if(ek0)msta=2;tds=0xd0;/ ek0按下跳到模块2 选择单端模式 十次AD取平均 if(ek1)msta=2;tds=0x80;/ek1按下跳到 模块2 选择差分模式 十次AD取平均 if(ek2)msta=3;tds=0xd0;/ ek2按下跳到模块3 选择单端模式 一秒AD一次 if(ek3)msta=3;tds=0x80;/ ek3按下跳到模块3 选择差分模式 一秒AD一次 buf4=0,buf3=0,buf2=0,buf1=0; buf0=0; break; case 1:if(esw0)msta=1;tds=0xd0; /只AD一次 if(esw1)msta=1;tds=0x80; light=1;/小数点亮 adbuf=ADC0834(tds); ad_buf(); break; case 2:if(ek0)msta=2;tds=0xd0; /AD十次取平均 if(ek1)msta=2;tds=0x80; light=1; for(i=0;i10;i+) adbuf=adbuf+ADC0834(tds); adbuf=adbuf/11; ad_buf(); break; case 3:if(ek2)msta=3;tds=0xd0; /一秒AD一次 if(ek3)msta=3;tds=0x80;light=1;if(t1s)t1s=0;adbuf=ADC0834(tds);ad_buf();break; default:break; /*- 数码管显示-*/void DISP() P0=0xff; P2=0xff;switch(disp_a) case 0: cs0=0; / 点亮第0位数码管 P0=ledbuf0; disp_a=1; break; case 1: cs1=0; / 点亮第1位数码管 P0=ledbuf1; disp_a=2; break; case 2: cs2=0;/ 点亮第2位数码管 P0=ledbuf2; disp_a=3; break; case 3: cs3=0;/ 点亮第3位数码管 P0=ledbuf3; if(light) dian=0; /小数点亮 disp_a=4; break; case 4: cs4=0;/ 点亮流水灯 P0=buf4; disp_a=0; break;default:break;/*-矩阵键盘及独立按键子程序-*/ void key() uchar kbuf; P2=0x0ff;/关数码管 row0=0; /扫描K03 _nop_(); /延时 _nop_(); kbuf=P2; kbuf=(kbuf&0x0f)0x0f; /K03键位保留 求反转正逻辑 lastkey1=kbuf;/新的键状态暂存R6 P2=0x0ff; row1=0; /扫描K47 _nop_(); _nop_(); kbuf=P2; kbuf=(kbuf&0x0f)0x0f; lastkey1=(kbuf4)+lastkey1; P2=0x0ff; row2=0;/扫描K8K11 _nop_(); _nop_(); kbuf=P2; kbuf=(kbuf&0x0f)0x0f; lastkey2=kbuf; P2=0x0ff; P1=P1|0x0c0; kbuf=P1; kbuf=(kbuf&0x0c0)0x0c0; lastkey2=kbuf+lastkey2;if(lastkey2!=key2)|(lastkey1!=key1)/键状态变化则转移 if(ktime-!=0) lastkey1=key1; lastkey2=key2; else ktime=0x04; ekey1=(key1lastkey1)&lastkey1; key1=lastkey1; ekey2=(key2lastkey2)&lastkey2; key2=lastkey2; /* AD转换 */uchar ADC0834(uchar tds) uchar i,adbuf=0; cs_0834=0; for(i=0;i5;i+) clk_0834=0; di_0834=0; if(tds&0x80) di_0834=1; clk_0834=1; tds=1; do_0834=1;for(i=0;i8;i+)clk_0834=0;clk_0834=1;adbuf=(adbuf1)|do_0834;cs_0834=1;return(adbuf); /*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交警交通安保工作试题带答案
- 2025四川屏山县宇桂农业发展限公司招聘4人(第三次)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年注册消防工程师之消防安全案例分析全真模拟考试试卷A卷含答案
- 2025合肥北城建设投资限公司及其子公司招聘工作人员5人易考易错模拟试题(共500题)试卷后附参考答案
- 2025华能陕西新能源分公司招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 2025北京烟草专卖局招聘30人易考易错模拟试题(共500题)试卷后附参考答案
- 2025内蒙古青城资产管理限公司廉花酒店分公司招聘65人易考易错模拟试题(共500题)试卷后附参考答案
- 2025云南元谋县国资产投资管理限公司面向社会公开招聘二次易考易错模拟试题(共500题)试卷后附参考答案
- 2025中远海运发展股份限公司招聘6人易考易错模拟试题(共500题)试卷后附参考答案
- 2025中建西部建设湖南限公司校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 高一数学教案必修第一册(2025-2026学年)
- 烟花炮竹仓库知识培训总结课件
- 2025年及未来5年中国汽车救援行业发展运行现状及投资战略规划报告
- 《在奉献中成就精彩人生》课件
- 第一性原理新视角
- 2025年钢筋工考试试题及答案
- 年产14万吨石墨烯轻纺产业园项目(一期)环评报告表
- 2.3 汉族民歌 教学设计-2023-2024学年高一上学期音乐人音版(2019)必修音乐鉴赏
- 【大单元教学】第三单元《幸福一家人》单元整体设计(含教学评价)
- 国开2025年秋季《形势与政策》大作业答案
- 员工下班外出免责协议书
评论
0/150
提交评论