这两天刚刚完成了一个用C编写的程序,这是我第一个用C语言编写的程序,并且调试成功。
第一个C程序,值得纪念,也值得以后参考。
本程序的功能是:
1.ADC0808转换功能;
2.数据16进制显示;
3.串行通信数据。
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit START=P3^6; //启动转换
sbit OE=P3^5; //输出允许
sbit EOC=P3^7; //转换结束
sbit WC=P3^4; //通道选择
sbit WB=P3^3; //通道选择
sbit WA=P3^2; //通道选择
uchar data led[12];
signed data data1;
signed data data2;
signed data data3;
signed data data4;
signed data data5;
signed data data6;
signed data data7;
uchar code tv[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb};
uchar code dc[]={0xC0, //"0"
0xF9, //"1"
0xA4, //"2"
0xB0, //"3"
0x99, //"4"
0x92, //"5"
0x82, //"6"
0xF8, //"7"
0x80, //"8"
0x90, //"9"
0x88, //"A"
0x83, //"B"
0xC6, //"C"
0xA1, //"D"
0x86, //"E"
0x8E, };//"F"};/十六进制显示方式
void delay(void) //延时程序
{
uint i;
for(i=0;i<10;i++);
}
void ledxianshi(void) //显示模块
{
uchar k,i;
led[0]=data1%16; //编码1个位
led[1]=data1/16%16; //编码1十位
led[2]=data2%16; //数据1个位
led[3]=data2/16%16; //数据1十位
led[4]=data3%16; //编码2个位
led[5]=data3/16%16; //编码2十位
led[6]=data4%16; //数据2