




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、仿真图:/*包含头文件*/#include <reg52.h>#include <intrins.h>/*端口定义*/sbit CS = P35;sbit Clk = P33;sbit DATI = P34;sbit DATO = P34;sbit P20=P20 ;/*定义全局变量*/unsigned char dat = 0x00; /AD值unsigned char count = 0x00; /定时器计数unsigned char CH; /通道变量unsigned char dis = 0x00, 0x00, 0x00; /显示数值/*共阳LED段码表*/un
2、signed char code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;char code tablewe= 0xfd,0xfb,0xf7,0xef,0xdf,0xfe ;/*函数功能:AD转换子程序入口参数:CH 出口参数:dat*/unsigned char adc0832(unsigned char CH) unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; /初始化 DATI = 1; _nop_(); CS = 0; _nop_(); Cl
3、k = 1; _nop_(); if ( CH = 0x00 ) /通道选择 Clk = 0; DATI = 1; /通道0的第一位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 0; /通道0的第二位 _nop_(); Clk = 1; _nop_(); else Clk = 0; DATI = 1; /通道1的第一位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 1; /通道1的第二位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 1; for( i = 0;i <
4、 8;i+ ) /读取前8位的值 _nop_(); adval <<= 1; Clk = 1; _nop_(); Clk = 0; if (DATO) adval |= 0x01; else adval |= 0x00; for (i = 0; i < 8; i+) /读取后8位的值 test >>= 1; if (DATO) test |= 0x80; else test |= 0x00; _nop_(); Clk = 1; _nop_(); Clk = 0; if (adval = test) /比较前8位与后8位的值,如果不相同舍去。若一直出现显示为零,请将
5、该行去掉 dat = test; _nop_(); CS = 1; /释放ADC0832 DATO = 1; Clk = 1; return dat;/*函数功能:延时子程序*/void delay(void) int k; for(k=10;k<500;k+);/*函数功能:将0-255级换算成0.00-5.00的电压数值*/void convdata(unsigned char i) dis0 = i/51; /个位 dis1 = (i%51)*10/51*2; /小数点后第一位 dis2 = (i%51)*10%51)*10/51*2; /小数点后第二位/*函数功能:数码管显示子程
6、序*/void display(void) P2=0xff; P0=tabdis0 & 0x7f; /显示个位和小数点delay(); P2=0xfd; P2=0xff; P0=tabdis1; /显示小数点后第一位delay(); P2=0xfb; P2=0xff; P0=tabdis2; /显示小数点后第二位delay(); P2=0xf7; P2=0xff; P0=0xff; /显示小数点后第二位delay(); P2=0xfe; /*函数功能:主程序*/void main(void) P2=0xff; /端口初始化 P0=0xff; delay(); CH = 0x00; /在
7、这里选择通道 0x00或0x01 TMOD = 0x01; /设置中断 TH0=(65536-50000)/256;/定时器1初值定时50msTL0=(65536-50000)%256; IE = 0x82; TR0 = 1; while(1) /主循环 dat = adc0832(CH); convdata(dat); /数据转换 display(); /显示数值 /*函数功能:定时器中断延时程序 这一段的作用时隔一段时间抽样一次 否侧显示的最后一位会不稳定*void timer0(void) interrupt 1 TMOD = 0x01; TH0=(65536-50000)/256;/定时器1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 回报与风险平衡的试题答案解析
- 2024年证券从业资格必看试题及答案
- 住宅租赁合同及车库使用权
- 商务合作保密合同协议
- 2024年监理工程师考试实例分析试题及答案
- 企事业单位采购合同模板大全
- 2024年四年级英语下册 Unit 3 What can you see第1课时教学实录 湘少版
- 6传统游戏我会玩(教学设计)-部编版道德与法治二年级下册001
- 第16课 无处不在的能量(教学设计)-2023-2024学年六年级科学下册同步备课(青岛版)
- 16夏天里的成长(教学设计)2024-2025学年六年级上册语文统编版
- DB42T1786.3-2023生猪疫病防控技术 第3部分-非洲猪瘟监测样品采集技术规程
- 《人脸识别的法律学问题研究开题报告(含提纲)》
- 部编版三年级下册道德与法治全册课件
- 第一章(诱发电位概论)-第二章(体感诱发电位)课件
- 燃煤锅炉改造生物质锅炉方案设计
- 大班综合《要是你给老鼠玩手机》课件
- DB37-T 5026-2022《居住建筑节能设计标准》
- C语言课件完整版(精华)课件
- 三年级下册语文分层作业优秀设计案例《守株待兔》
- 太阳能干燥用空气集热器设计
- 九九重阳节关爱老年人主题班会PPT
评论
0/150
提交评论