基于8051F350的AD转换显示存储程序文件

上传人:xmg****18 文档编号:119795249 上传时间:2020-01-26 格式:DOC 页数:48 大小:31.14KB
返回 下载 相关 举报
基于8051F350的AD转换显示存储程序文件_第1页
第1页 / 共48页
基于8051F350的AD转换显示存储程序文件_第2页
第2页 / 共48页
基于8051F350的AD转换显示存储程序文件_第3页
第3页 / 共48页
基于8051F350的AD转换显示存储程序文件_第4页
第4页 / 共48页
基于8051F350的AD转换显示存储程序文件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于8051F350的AD转换显示存储程序文件》由会员分享,可在线阅读,更多相关《基于8051F350的AD转换显示存储程序文件(48页珍藏版)》请在金锄头文库上搜索。

1、. . . .#include #include #include /-/ 16-bit SFR Definitions for F35x/-/*需求:1、AD转换,24位精度:AIN0.0 2、四个按键:K1=P14,K2=P15,K3=P16,K=P17 3、1602液晶屏显示AD值:LCD1602_RS=P06,LCD1602_EN=P07,DB4 = P10, DB0=DB5 = P11,DB6 = P12,DB7 = P13 4、存储(24C02):SDA=P00,SCL=P01函数:1、void main(void) /主函数 while(1) /连续不间断地得到AD值 ADZ =

2、 (AD值); 2、void KeyScan(void) if(K1=0) K1OK=1; 3、void T2_ISR(void) interrupt 5 /定时器,定时扫描按键,当有按键按下时,显示ADZ TF2H = 0; KeyScan(); if(K1OK=1) K1OK=0; /LCD1602第一行显示字母“ADZ”,第二行显示数字ADZ,24C02存储此值*/*1602高四位LCD1602_RS=P06,LCD1602_EN=P07,DB4 = P10, DB5 = P11,DB6 = P12,DB7 = P13 AD转换,24位精度:AIN0.0 ,Verf+接100K可调电阻测

3、试,满量程2500mv四个按键:K1=P14,K2=P15,K3=P16,K=P17存储(24C02):SDA=P00,SCL=P01 (和T2扫描按键有冲突,应该实时存储)*/Routinessfr16 ADC0DEC = 0x9A; / ADC0 Decimation Ratio Registersfr16 TMR3RL = 0x92; / Timer3 reload registerssfr16 TMR3 = 0x94; / Timer3 counter registerssfr16 TMR2RL = 0xCA; / Timer2 Reload Registersfr16 TMR2 =

4、0xCC; / Timer2 Registersbit SDA = P00; / SMBus on P0.0sbit SCL = P01; / and P0.1sbit K1=P14;/四个按键sbit K2=P15;sbit K3=P16;sbit K4=P17;/-/ Global CONSTANTS/-/-#define SYSCLK 24500000 / SYSCLK frequency in Hz#define MDCLK 2457600 / Modulator clock in Hz (ideal is / (2.4576 MHz)#define OWR 20 / Desired

5、Output Word Rate in Hz ADC0输出字速率,最大960#define BAUDRATE 115200 / Baud rate of UART in bps /-#define SMB_FREQUENCY 50000 / Target SCL clock rate / This example supports between 10kHz / and 100kHz#define WRITE 0x00 / SMBus WRITE command#define READ 0x01 / SMBus READ command#define EEPROM_ADDR 0xA0 / De

6、vice address for slave target / Note: This address is specified / in the Microchip 24LC02B / datasheet./ SMBus Buffer Size#define SMB_BUFF_SIZE 0x08 / Defines the maximum number of bytes / that can be sent or received in a / single transfer/ Status vector - top 4 bits only#define SMB_MTSTA 0xE0 / (M

7、T) start transmitted#define SMB_MTDB 0xC0 / (MT) data byte transmitted#define SMB_MRDB 0x80 / (MR) data byte received /- /-定时器2常量#define TOGGLE_RATE 1000 /每50ms检测按键1次#define TIMER_TICKS_PER_MS SYSCLK/8/1000 /定时器每ms触发扫描次#define AUX1 TIMER_TICKS_PER_MS*TOGGLE_RATE#define AUX2 -AUX1#define TIMER2_RELOA

8、D AUX2 / Reload value for Timer2 /-#define uchar unsigned char#define uint unsigned int/- -sbit lcdrs=P06; /数据/命令选择端,低电平为指令,高电平为数? sbit lcden=P07; /- uchar D1,D2,D3,D4,D5,D6,D7,D8;uchar* pSMB_DATA_IN; / Global pointer for SMBus data / All receive data is written hereuchar SMB_SINGLEBYTE_OUT; / Global holder for single byte writes.uchar* pSMB_DATA_OUT; / Global pointer for SMBus data. / All transmit data is read from hereuchar SMB_DATA_LEN; / Global holder for number o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号