




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*使用STC单片机内置10AD(仅用高八位,分辨率为5mV)做的简易电压表 */*本程序AD部分使用了深圳宏晶公司官方AD转换示范程序修改, 特此鸣谢 */*使用STC12C5A60S2 1T单片机,12M外部晶振, Keil V3编译通过,AD转换脚定义为P1.1, */*使用芯片本身5V电源为基准,在深圳精创电子的51/AVR开发板实现。8位共阳LED字符码 */*接P0口,位线接在P2口,均为低电平显示,使用右4位。本显示程序摘自网上,一并感谢。 */*-2010.07.04 written by autopccopy() */#include #include /STC的新头文件sbit P20 = P2 0; /个位sbit P21 = P2 1; /十位sbit P22 = P2 2; /百位sbit P23 = P2 3; /千位sbit P07 = P0 7; /小数点 typedef unsigned char INT8U;typedef unsigned int INT16U;#define AD_SPEED 0x40 /0100,0000 1 0 140 个时钟周期转换一次/-INT8U get_AD_result(INT8U channel);void delay(INT8U delay_time); /延时函数int DATA_LED11 = 0X3F,/*0*/ 0X06,/*1*/ 0X5B,/*2*/ 0X4F,/*3*/ 0X66,/*4*/ 0X6D,/*5*/ 0X7D,/*6*/ 0X07,/*7*/ 0X7F,/*8*/ 0X6F,/*9*/ 0xFF ; void led(int n) /数码管显示及数据处理程序 P0 = 0xFF; P0 = DATA_LEDn % 10; /个位 P20 = 0; delay(1); P20 = 1; P0 = 0xFF; P0 = DATA_LEDn / 10 % 10; /十位 P21 = 0; delay(1); P21 = 1; P0 = 0xFF; P0 = DATA_LEDn / 100 % 10; /百位 P22 = 0; delay(1); P22 = 1; P0 = 0xFF; P0 = DATA_LEDn / 1000 % 10; /千位 P23 = 0; P07=0; /千位显示小数点 delay(1); P23 = 1; /-INT8U get_AD_result(INT8U channel) /AD转换部分 INT8U AD_finished=0; /存储 A/D 转换标志 ADC_RES = 0; /高八位 ADC_RESL = 0; /低二位(本例未使用) channel &= 0x07; /0000,0111 清0高5位 ADC_CONTR = AD_SPEED; _nop_(); ADC_CONTR |= channel; /选择 A/D 当前通道 _nop_(); ADC_CONTR |= 0x80; /启动 A/D 电源 delay(1); /使输入电压达到稳定ADC_CONTR |= 0x08; /0000,1000 令 ADCS = 1, 启动A/D转换, AD_finished = 0; while (AD_finished =0 ) /等待A/D转换结束 AD_finished = (ADC_CONTR & 0x10); /0001,0000 测试A/D转换结束否 ADC_CONTR &= 0xE7; /1111,0111 清 ADC_FLAG 位, 关闭A/D转换, return (ADC_RES); /返回 A/D 高 8 位转换结果void delay(INT8U delay_time) / 延时函数 INT16U n; while(delay_time-) n = 100; while(-n); /-同道选择-void ADzhuanhuan1(INT8U zh) INT16U ADC_result; P1ASF = 0x02; /0000,0010, 将 P1.1 置成模拟口 AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 : 10 位A/D 转换结果的高8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 ADC_CONTR |= 0x80; /1000,0000 打开 A/D 转换电源 while(1) ADC_result = get_AD_result(zh);/P1.1 为 A/D 当前通道, 测量并发送结果 led(ADC_result*19.53); /显示数值。 19.53 是AD转换系数:原公式是ADC_result/256*5V*1000 void ADzhuanhuan2(INT8U zh) INT16U ADC_result; P1ASF = 0x04; /0000,0010, 将 P1.1 置成模拟口 AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 : 10 位A/D 转换结果的高8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 ADC_CONTR |= 0x80; /1000,0000 打开 A/D 转换电源 while(1) ADC_result = get_AD_result(zh);/P1.1 为 A/D 当前通道, 测量并发送结果 led(ADC_result*19.53); /显示数值。 19.53 是AD转换系数:原公式是ADC_result/256*5V*1000 void ADzhuanhuan3(INT8U zh) INT16U ADC_result; P1ASF = 0x08; /0000,0010, 将 P1.1 置成模拟口 AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 : 10 位A/D 转换结果的高8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 ADC_CONTR |= 0x80; /1000,0000 打开 A/D 转换电源 while(1) ADC_result = get_AD_result(zh);/P1.1 为 A/D 当前通道, 测量并发送结果 led(ADC_result*19.53); /显示数值。 19.53 是AD转换系数:原公式是ADC_result/256*5V*1000 void ADzhuanhuan4(INT8U zh) INT16U ADC_result; P1ASF = 0x10; /0000,0010, 将 P1.1 置成模拟口 AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 : 10 位A/D 转换结果的高8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 ADC_CONTR |= 0x80; /1000,0000 打开 A/D 转换电源 while(1) ADC_result = get_AD_result(zh);/P1.1 为 A/D 当前通道, 测量并发送结果 led(ADC_result*19.53); /显示数值。 19.53 是AD转换系数:原公式是ADC_result/256*5V*1000 /-串口显示-void time() TMOD|=0x02; TH0=0xb6; TL0=0xb6; TR0=1; void uart(void) SCON=0x50; TMOD|=0x20; TH1= 0xfd; TL1= 0xfd; TR1=1;unsigned char getc(void) while(!RI); RI=0; return(SBUF);void putc(unsigned char ch) SBUF=ch; while(!TI); TI=0;/-void main()INT16U ADC_result,k; uart(); time(); / ADzhuanhuan1(1); / ADzhuanhuan2(2); / ADzhuanhuan3(3); P1ASF = 0x10; /0000,0010, 将 P1.1 置成模拟口 AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 : 10 位A/D 转换结果的高8 位放在ADC_RES 寄存器, 低2 位放在ADC_RESL 寄存器 ADC_CONTR |= 0x80; /1000,0000 打开 A/D 转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司法财务课件
- 资本论核心思想解读
- 快速制作行政人事汇报
- 血透长期留置导管的护理
- 《珀尔赛福涅》课件
- 输血的注意事项及护理
- 2025机械设备购销合同模板大全
- 2025司法考试合同法中合同无效与合同效力问题
- 2025融资居间合同范本含授权委托书,保密协议,融资确认函
- 永久基本农田划定工作总结
- 机械检验考试试题及答案
- 汉语水平考试HSK四级真题4-真题-无答案
- 大疆:2024-2025农业无人机行业白皮书
- 2025年儿科学测验试卷答案及解析
- 地坪硬化合同(标准版)
- 2025-2026学年人音版(简谱)(2024)初中音乐七年级上册教学计划及进度表
- 6 有趣的纸艺制作教学设计-2025-2026学年小学美术广西版五年级上册-广西版
- 2025年中国邮政集团有限公司安徽省分公司社会招聘笔试参考题库附答案解析
- 2025年度零售定点药店医保培训考核试题(答案+解析)
- 2025年发展对象考试题(附答案)
- 第2课《中国人首次进入自己的空间站》课件+2025-2026学年统编版语文八年级上册
评论
0/150
提交评论