#include
#include
//12864控制引脚定义
sbit DI = P2 ^ 2; //数据\指令选择引脚
sbit RW = P2 ^ 1; //读\写选择引脚
sbit E= P2 ^ 0; //读\写使能引脚
sbit CS1 = P2 ^ 4; //片选1引脚
sbit CS2 = P2 ^ 3; //片选2引脚
sbit BUSY= P1 ^ 7; //忙标志位
//按键控制定义
sbit Y1 = P3 ^ 0;
sbit Y2 = P3 ^ 1;
sbit X1 = P3 ^ 3;
sbit X2 = P3 ^ 7;
//ADC0832控制引脚
sbit START=P3^4;
sbit OE=P3^6;
sbit EOC=P3^5;
unsigned int ADdata; //AD采集值
unsigned int Ldata;
unsigned char ye,lei,shu;
unsigned char ADViewdata[91]; //AD显示数据存储区
char code FrameData[]={ //提示字符存储区
0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x01,0x00,
0x01,0x00,0x11,0x10,0x11,0x08,0x21,0x04,0x41,0x02,0x81,0x02,0x05,0x00,0x02,0x00, //示
0x00,0x20,0x20,0x20,0x10,0x20,0x13,0xFE,0x82,0x22,0x42,0x24,0x4A,0x20,0x0B,0xFC,
0x12,0x84,0x12,0x88,0xE2,0x48,0x22,0x50,0x22,0x20,0x24,0x50,0x24,0x88,0x09,0x06, //波
0x00,0x00,0x3E,0x7C,0x22,0x44,0x22,0x44,0x3E,0x7C,0x01,0x20,0x01,0x10,0xFF,0xFE,
0x02,0x80,0x0C,0x60,0x30,0x18,0xC0,0x06,0x3E,0x7C,0x22,0x44,0x22,0x44,0x3E,0x7C, //器
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //" "
};
//AD转换软件
void ADCChage()
{
START=1;
START=0;
while(EOC==0) //等待转换完成
{
OE=1;
}
ADdata = P0; //读取AD数据
OE=0;
}
//检查12864液晶状态
void CheckState()
{
DI=0;
RW=1;
do

本文介绍了如何使用C语言编程实现一个简易的数字示波器,涉及12864液晶控制、ADC0832转换器以及按键控制。代码包括了液晶显示、AD转换和数据显示等关键部分,适用于单片机开发学习。
最低0.47元/天 解锁文章
1945

被折叠的 条评论
为什么被折叠?



