文档详情

基于8051F350的AD转换显示存储程序.docx

发布:2017-04-01约2.89万字共42页下载文档
文本预览下载声明
#include C8051F350.h #include stdio.h#include math.h//-----------------------------------------------------------------------------// 16-bit SFR Definitions for F35x//-----------------------------------------------------------------------------/*需求:1、AD转换,24位精度:AIN0.0 2、四个按键:K1=P1^4,K2=P1^5,K3=P1^6,K=P1^7 3、1602液晶屏显示AD值:LCD1602_RS=P0^6,LCD1602_EN=P0^7,DB4 = P1^0, DB0=DB5 = P1^1,DB6 = P1^2,DB7 = P1^3 4、存储(24C02):SDA=P0^0,SCL=P0^1函数:1、void main(void) //主函数{ while(1) { //连续不间断地得到AD值 ADZ = (AD值);}} 2、void KeyScan(void) { if(K1==0) { K1OK=1;}} 3、void T2_ISR(void) interrupt 5 { //定时器,定时扫描按键,当有按键按下时,显示ADZTF2H = 0; KeyScan(); if(K1OK==1) { K1OK=0; //LCD1602第一行显示字母“ADZ”,第二行显示数字ADZ,24C02存储此值}}*//*****1602高四位LCD1602_RS=P0^6,LCD1602_EN=P0^7,DB4 = P1^0, DB5 = P1^1,DB6 = P1^2,DB7 = P1^3 AD转换,24位精度:AIN0.0 ,Verf+接100K可调电阻测试,满量程2500mv四个按键:K1=P1^4,K2=P1^5,K3=P1^6,K=P1^7存储(24C02):SDA=P0^0,SCL=P0^1 (和T2扫描按键有冲突,应该实时存储)*****//////////////Routinessfr16 ADC0DEC = 0x9A; // ADC0 Decimation Ratio Registersfr16 TMR3RL = 0x92; // Timer3 reload registerssfr16 TMR3 = 0x94; // Timer3 counter registerssfr16 TMR2RL = 0xCA; // Timer2 Reload Registersfr16 TMR2 = 0xCC; // Timer2 Registersbit SDA = P0^0; // SMBus on P0.0sbit SCL = P0^1; // and P0.1sbit K1=P1^4;//四个按键sbit K2=P1^5;sbit K3=P1^6;sbit K4=P1^7;//-----------------------------------------------------------------------------// Global CONSTANTS//-----------------------------------------------------------------------------//--------------------------------------------------------------------------------#define SYSCLK // SYSCLK frequency in Hz#define MDCLK 2457600 // Modulator clock in Hz (ideal i
显示全部
相似文档