導航:首頁 > 操作系統 > chn926rry單片機

chn926rry單片機

發布時間:2022-08-20 15:02:50

㈠ 簡易數字溫度計製作(不用單片機

#include<stdio.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit CLK_164=P0^4;//數碼管顯示控制晶元74LS164時鍾引腳
sbit DTAT_164=P0^5;//數碼管顯示控制晶元74LS164 AB

sbit CS=P1^5;//AD轉換
sbit CLK=P1^2;//AD轉換
sbit DIN=P1^3;//AD轉換
sbit DOUT=P1^4;//AD轉換

sbit FMQ=P3^6;//報警

sbit KEY_PIN=P3^4;//按鍵

sbit sda=P2^5; //DS1307
sbit sclk=P2^4;//DS1307

uchar LED_TAB[7]={0x0e,0x0d,0x0b,0x07,0x0f}; //0,1,2,3位依次顯示,0x0f為全滅
uchar DISP_SAVE[7];
uchar BCD_TAB[11]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x19,0xff};//數碼管顯示的值:0,1,2,3,4,5,6,7,8,9;oxff為不顯示值
//uchar CCBD_TAB[10]={0x31,0xFD,0x91,0x61,0xF5,0x11,0xC1,0x63,0xe3};
uchar D1307[7];
uchar cotot=0;
uchar temp5,count_1,temp6;
uchar JP1=0;
uint temper;

void delay(uint tt) //延遲函數
{
uchar i;
for(;tt>0;tt--)
{
for(i=0;i<2;i++);
}
}
/*********************************************************************************************/

/***************************************************************************
** 起始信號DS1307
*****************************************************************************/
void iicstart(void)
{
sclk=0; //匯流排放空,以便更改匯流排數據
sda=1; //發送I2C匯流排起始條件的數據信號1以便匯流排使能時產生下降沿
sclk=1; //發送I2C匯流排起始條件的時鍾信號
delay(1);
sda=0; //產生下降沿 匯流排傳輸開始
delay(1);
sclk=0; //時鍾線從高到低一次跳變,匯流排放空 准備傳輸數據
}
/***************************************************************************
** 結束信號DS1307
*******************************************************************************/
void iicstop(void)
{
sclk=0; //發送I2C匯流排時鍾信號放空
sda=0; //發送I2C匯流排停止條件的數據信號0以便產生上升沿
delay(1);
sclk=1; //時鍾線從低到高一次跳變 匯流排 使能
sda=1; //發送I2C匯流排數據信號產生上升沿 終止傳送
delay(1);
sclk=0; //發送I2C匯流排時鍾信號放空

}
/**********************************************************************************
** 檢測應答信號DS1307
***********************************************************************************/
uchar upcheck(void)
{
uchar i;
sclk=0;
sda=1; //數據線升高,以便捕捉相應信號,(相應信號:拉低數據線)
sclk=1; // 主機放出一脈沖,等待捕捉相應信號
if(sda==1)
i=0;
else
{
i=1;
count_1++;
}
sclk=0;//無論傳送是否正確,都需放空匯流排,以備後用
return(i);//i為應答信號標志位
}
/*******************************************************************************
** 發送應答信號和非應答信號DS1307
*********************************************************************************/
void sendcheck(void)//應答信號
{
sclk=0;
sda=0; //數據線保持拉低,時鍾線發生一次從高低的跳變 發送一個應答信號
sclk=1;
delay(1);
sclk=0;
}
void sencheck(void)//非應答信號
{
sclk=0;
sda=1; //數據線保持高,時鍾線發生一次從高低的跳變 沒有應答
sclk=1;
delay(1);
sclk=0;
}
/*********************************************************************************
**寫入一個位元組
**位元組內容:addr
*******************************************************************************/
void writeiic(uchar addr)
{
uchar temp1,i;
temp1=addr;
sclk=0; //匯流排放空
for(i=0;i<8;i++) //發送八位
{
if((temp1&0x80)==0)//提取高位的數據,由高位到低位逐步提出位元組位,發送到匯流排上
sda=0;
else
sda=1;

sclk=1; //匯流排使能,發送匯流排數據
delay(2);
sclk=0; //匯流排1位傳送完成,匯流排放空
temp1=temp1<<1;//左循環以便輸出下一位
}
temp5=upcheck();//檢測應答信號

}
/******************************************************************************************
**讀取一個位元組
**讀取內容:addr
**********************************************************************************************/

uchar read(uchar addr)
{
uchar temp1,temp2,i;
temp1=addr;
sclk=0;
for(i=0;i<8;i++)
{
if((temp1&0x80)==0)//提取高位的數據,由高位到低位逐步提出位元組位,發送到匯流排上
sda=0;
else
sda=1;

sclk=1;
delay(2);
sclk=0;
temp1=temp1<<1;
}
temp5=upcheck();//檢測應答信號

sclk=0; //匯流排放空
sda=1;
for(i=0;i<8;i++) //讀入八個位
{
temp2=temp2<<1; // 讀入數據左循環
sclk=1; //時鍾做一次從低到高的跳變 可以接收一位數據
delay(2);
if(sda==1)
temp2=temp2|0x01; // 將數據編入變數temp2

sclk=0; //匯流排放空
}
sencheck();//發送非應答信號
return(temp2); //反饋接收到的信息
}

void read1(uchar addr,uchar cc,uchar *chn)
{
uchar temp1,temp2,temp3,i;
temp1=addr;
temp3=cc;
/////////////////////////////////////////////
sclk=0; //寫入
for(i=0;i<8;i++)
{
if((temp1&0x80)==0)
sda=0;
else
sda=1;
sclk=1;
delay(2);
sclk=0;
temp1=temp1<<1;
}
temp5=upcheck();
/////////////////////////////////////////////
for(temp1=0;temp1<temp3;temp1++)
{

sclk=0;
sda=1;
for(i=0;i<8;i++) //讀入八個位
{
temp2=temp2<<1;
sclk=1;
delay(2);
if(sda==1)
temp2=temp2|0x01;
sclk=0;
}
chn[temp1]=temp2;
temp2=0x00;

if((temp3-temp1)==1)
sencheck();//發送非應答信號
else
sendcheck();//發送應答信號

}
}
/****************************************************************************************/
void QU_write(uchar lx,uchar ly,uchar lz)
{
iicstart();//開始信號
writeiic(lx);//呼叫晶元D1307,並定義為 寫 動作(0XD0)
writeiic(ly);//發送地址
writeiic(lz);//發送數據
iicstop();//結束信號
}
void READ_1307_DISP(void)//讀取DS1307的寄存器
{
uchar i;
uchar j;
j=D1307[0]; //J=0
delay(1);
iicstart();//啟動傳送
writeiic(0xd0);//呼叫晶元D1307,並定義為 寫 動作
delay(1);
writeiic(0x00); //發送起始地址並檢測響應
delay(1);
iicstart(); //啟動匯流排
read1(0xd1,3,D1307); //呼叫晶元D1307並定義為寫動作(0XD1);循環寫入數據的次數(3);將寫入的數據保存在數組D1S07中
iicstop(); //關閉匯流排
if(j!=D1307[0])//接受到數據
{
JP1=!JP1; //JP1=1
}
i=D1307[2]&0x0f;//BCD碼轉換
if(JP1==0)
{
DISP_SAVE[1]=BCD_TAB[i]&0xfe;//時間顯示的十位並加點
}
else
{
DISP_SAVE[1]=BCD_TAB[i];
}

i=(D1307[2]&0x70)>>4;//BCD碼轉換
DISP_SAVE[0]=BCD_TAB[i];//時間顯示的個位
i=D1307[1]&0x0f;//BCD碼轉換
DISP_SAVE[3]=BCD_TAB[i];//時間顯示的千位
i=(D1307[1]&0x70)>>4;//BCD碼轉換
DISP_SAVE[2]=BCD_TAB[i];//時間顯示的百位

}

/**********************************************************************************************/

uint MCP3204_READ(uchar lx)//AD轉換
{
uchar i=0,j=0;
uchar temp1=0,temp2=0;
uint temp3=0;
CS=1;
CLK=0;
delay(5);
CS=0;
j=lx;
for(i=0;i<5;i++)
{
if((j&0x80)==0x80)
{
DOUT=1;
}
else
{
DOUT=0;
}
CLK=0;
delay(5);
CLK=1;
j=j<<1;
}
CLK=0;
delay(5);
CLK=1;
delay(5);
CLK=0;
for(i=0;i<4;i++)
{
temp1=temp1<<1;
CLK=1;
delay(5);
CLK=0;
if(DIN==1)
{
temp1=temp1|0x01;
}
}
for(i=0;i<8;i++)
{
temp2=temp2<<1;
CLK=1;
delay(5);
CLK=0;
if(DIN==1)
{
temp2=temp2|0x01;
}
}
CS=1;
temp3=temp1;
temp3=(temp3<<8)|temp2;
return temp3;
}
/********************************************************************************/
void get_key(void) //按鍵程序
{
if(KEY_PIN==0)
{
delay(30);//消抖
if(KEY_PIN==0)
{
while(KEY_PIN==0);//鬆手檢測
cotot=!cotot;
}
}
}
/*************************************************************************************/
void write_164(uchar lx)//控制數碼管的顯示
{
uchar i,j;
j=lx;
for(i=0;i<8;i++)
{
CLK_164=0;
if((j&0x01)==0x01)//檢測J的最後一位是否為1
{
DTAT_164=1;//
}
else
{
DTAT_164=0;//
}
delay(3);
CLK_164=1;
j=j>>1;
delay(2);

}

}
void disp_all(void)
{
uchar i,j;
for(i=0;i<20;i++)//大約1sec跳閃一次
{
for(j=0;j<5;j++)
{
P0=0X0F;//數碼管關閉
write_164(DISP_SAVE[j]);//數碼管顯示的內容
P0=LED_TAB[j];//數碼管動態顯示
delay(100);
P0=0X0F;//數碼管關閉
}
}
write_164(0xff);
}

void main(void)
{
uchar lop;
uint teo;
FMQ=0;//關閉報警
KEY_PIN=1;//按鍵未按下
QU_write(0xd0,0x00,0x00);//呼叫晶元D1307並定義為寫動作;向秒寄存器寫入;數據0
QU_write(0xd0,0x01,0x16);//呼叫晶元D1307並定義為寫動作;向分寄存器寫入;數據16
QU_write(0xd0,0x02,0x03);//呼叫晶元D1307並定義為寫動作;向時寄存器寫入;數據3

while(1)
{
get_key();//檢測按鍵
if(cotot==0)//按鍵未被按下顯示溫度
{
temper=MCP3204_READ(0xc0);
if(temper>2700)//溫度零上時
{
temper=temper-2600;
if(temper>teo)//teo此時為0
{
teo=temper;
}
if(teo>400)
{
teo=teo-100;
}
lop=teo/1000;//LOP取千位
DISP_SAVE[0]=BCD_TAB[lop];//數碼管顯示十位

lop=(teo%1000)/100;//LOP取百位
DISP_SAVE[1]=BCD_TAB[lop];//數碼管顯示個位

lop=(teo%100)/10;//LOP取十位
DISP_SAVE[2]=BCD_TAB[lop]&0xfe;//數碼管顯示百位並顯示點

lop=teo%10;//LOP取個位
DISP_SAVE[3]=BCD_TAB[lop]; //數碼管顯示千位
}
else if(temper<2660)//溫度零下時
{
temper=0;
teo=0;
lop=teo/1000;
DISP_SAVE[0]=BCD_TAB[lop];//數碼管顯示0
lop=(teo%1000)/100;
DISP_SAVE[1]=BCD_TAB[lop];//數碼管顯示0
lop=(teo%100)/10;
DISP_SAVE[2]=BCD_TAB[lop]&0xfe;//數碼管顯示0並加點
lop=teo%10;
DISP_SAVE[3]=BCD_TAB[lop];//數碼管顯示0
}
if(teo>300)//如果溫度超過30°
{
FMQ=1;//報警
}
else
{
FMQ=0;//停止報警
}
}
else if(cotot==1)//按鍵被按下顯示時間
{
READ_1307_DISP();//讀取實時時間
}
disp_all();//顯示時間或者溫度
}
}

㈡ 求MS12232/12832液晶屏的51單片機串口驅動程序---並口的比較多,串口的太少見了。

由於12232F這個顯示器用得比較平常,但平常見到的是一些並口的匯編程序.並且也沒有對應於12232F的並口程序,串口的C51程序極少見,為了方便大家使用.本程序在AT89S52單片機上已經調試成功,有什麼問題,大家多多交流指教.使用這款LCD應該要注意的問題<br>一定要在VO與VDD及VSS這三個腳間接一個20K的電位器<br>電位器的中間腳接VO,其它二腳接VDD和VSS<br>然後調節電位器的大小,直到有顯示為止。歡迎大家提出意見

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define x1 0x80
#define x2 0x88
#define y 0x80
#define comm 0
#define dat 1

sbit cs = P3^3;
sbit std = P3^1;
sbit sclk = P3^0;

void wr_lcd (uchar dat_comm,uchar content);
void delay (uint us);

uchar code tab1[]={
"天行健君子以自強不息"
"地勢坤君子以厚德載物"
};

uchar code tab31[]={
"北京歡迎你WelcometoBeijing"
};
uchar code tab32[]={
/*-- 調入了一幅圖像:F:\梁\畫圖\HOCO12832.bmp --*/
/*-- 寬度x高度=128x32 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x18,0x0C,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x13,0x10,0x03,0xFE,0x00,
0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x3F,0x30,0x1F,0xFF,0xC0,
0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x8C,0x03,0xF0,0x00,0x7F,0xE0,0x7C,0x01,0xE0,
0x03,0xFF,0xF0,0x00,0x00,0x00,0x01,0x36,0x06,0xC0,0x00,0x5F,0xC0,0xFF,0xFC,0x60,
0x01,0xFF,0xF0,0x00,0x00,0x00,0x02,0x1B,0x0F,0x80,0x00,0xFF,0x01,0xFE,0x0F,0x30,
0x00,0xEF,0xF0,0x00,0x00,0x00,0x02,0x6D,0x9F,0x00,0x00,0x3E,0x03,0xFF,0xF1,0x90,
0x00,0xFF,0xF8,0x00,0x00,0x00,0x04,0x36,0xFE,0x00,0x01,0xFF,0x07,0xFF,0xFC,0x90,
0x00,0xEF,0xFF,0xFF,0x80,0x00,0x04,0xDB,0x7E,0x00,0x03,0xFF,0x87,0xFF,0xFC,0xD0,
0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x04,0x6D,0xFC,0x00,0x07,0xFF,0x8F,0xFF,0xFE,0x50,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x36,0xFC,0x10,0x07,0xFF,0x8F,0xFF,0xFE,0x90,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x1B,0xF8,0x10,0x07,0xFF,0xCF,0xFF,0xFE,0x80,
0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x04,0x0F,0xF8,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0x07,0xFF,0xFF,0xF0,0x00,0x04,0x07,0xF0,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x03,0xF0,0x20,0x07,0xFF,0xFF,0xFF,0xBA,0x00,
0x00,0xFD,0xFF,0xFF,0xFC,0x00,0x02,0x03,0xF0,0x20,0x03,0xFF,0xFF,0xDF,0xB8,0x00,
0x00,0xC1,0xC0,0x3F,0xFC,0x00,0x01,0x01,0xE0,0x40,0x00,0xFF,0xFF,0xDF,0xB0,0x00,
0x00,0x81,0xC0,0x3F,0xCE,0x00,0x00,0x81,0xE0,0x80,0x00,0x7F,0xFF,0xDF,0xA0,0x00,
0x00,0x81,0x80,0x1D,0xCF,0x00,0x00,0x41,0xE1,0x00,0x00,0x3F,0xFF,0x9B,0x00,0x00,
0x01,0x83,0x80,0x1F,0xC7,0x80,0x00,0x21,0xE2,0x00,0x00,0x1F,0xFD,0xB6,0x00,0x00,
0x01,0xC3,0x00,0x0E,0xE6,0x80,0x00,0x19,0xEC,0x00,0x00,0x07,0xFE,0x20,0x00,0x00,
0x00,0xC3,0x00,0x07,0x67,0x40,0x00,0x07,0xF0,0x00,0x00,0x03,0x3E,0x00,0x00,0x00,
0x00,0x02,0x00,0x03,0xE7,0xA0,0x00,0x00,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,
0x00,0x06,0x00,0x03,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
0x00,0x06,0x00,0x07,0x03,0x00,0x77,0x46,0x74,0x24,0x80,0x06,0x04,0x00,0x00,0x00,
0x00,0x1C,0x00,0x06,0x00,0x00,0x55,0x45,0x54,0x57,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0x00,0x0E,0x00,0x00,0x45,0x45,0x74,0x57,0x80,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x00,0x00,0x55,0x45,0x44,0x74,0x80,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x77,0x76,0x47,0x54,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

uchar code tab5[]={
/*-- 調入了一幅圖像:F:\梁\畫圖\COCK.bmp --*/
/*-- 寬度x高度=128x64 --*/
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,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x43,0x01,0x80,0x00,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x19,0xFF,0x07,0x00,0x07,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x3F,0xFC,0x1E,0x00,0x1F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xBF,0xFF,0xFC,0x00,0x7F,0xFC,0x00,0x7F,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x00,0xFF,0xC0,0x00,0x0F,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFC,0x01,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xDF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0x80,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xF8,0x00,0x1F,0xFF,0xF0,0x03,0xF8,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0x3F,0xFF,0xFF,0xC0,0x7C,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x7F,0xF0,0x00,0x3F,0xFF,0xFF,0xF8,0x1E,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xF8,0x00,0x7F,0xFF,0xFF,0xFE,0x0F,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0x87,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0x83,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xC3,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF3,0x08,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xF2,0x10,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xF0,0x20,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x7E,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x3E,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x3C,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x30,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x1F,0x7C,0x20,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x1E,0x78,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFE,0x1E,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xDA,0x3C,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF2,0x30,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF1,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7C,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x78,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x72,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x40,0x04,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x40,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,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,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
};

/*----初始化-----*/
void init_lcd (void)
{
wr_lcd (comm,0x30); /*30---基本指令動作*/
wr_lcd (comm,0x01); /*清屏,地址指針指向00H*/
delay (100);
wr_lcd (comm,0x06); /*游標的移動方向*/
wr_lcd (comm,0x0c); /*開顯示,關游標*/
}

/*----上半屏顯示漢字或字元----*/
void chn_dispup (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30); //30---基本指令動作
wr_lcd (comm,0x80); //把顯示地址設為0X80,即為第一行的首位--第一頁
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}

/*----下半屏顯示漢字或字元---*/
void chn_dispdown (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30); /*30---基本指令動作*/
wr_lcd (comm,0x90); //把顯示地址設為0X90,即為第二行的首位--第二頁
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}

/*---上下半屏順序顯示漢字或字元----*/
void chn_disp1 (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30); /*30---基本指令動作*/

wr_lcd (comm,0x80); //把顯示地址設為0X80,即為第一行的首位--第一頁
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);

wr_lcd (comm,0x90); //把顯示地址設為0X90,即為第二行的首位--第二頁
j=1;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}

/*----顯示圖形----*/
void img_disp (uchar code *img)
{
uchar i,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34); //擴充指令操作
wr_lcd (comm,y+j); //先將垂直的位元組坐標(Y)寫入繪圖RAM 地址
wr_lcd (comm,x1+i); //再將水平的位元組坐標(X)寫入繪圖RAM 地址。
wr_lcd (comm,0x30); //基本指令動作
wr_lcd (dat,img[j*16+i*2]); //寫入第一個Bytes
wr_lcd (dat,img[j*16+i*2+1]); //寫入第二個Bytes
}
}
for(j=32;j<64;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34); //擴充指令操作
wr_lcd (comm,y+j-32); //先將垂直的位元組坐標(Y)寫入繪圖RAM 地址
wr_lcd (comm,x2+i); //再將水平的位元組坐標(X)寫入繪圖RAM 地址
wr_lcd (comm,0x30); //基本指令動作
wr_lcd (dat,img[j*16+i*2]); //寫入第一個Bytes
wr_lcd (dat,img[j*16+i*2+1]); //寫入第二個Bytes
}
}
wr_lcd (comm,0x36);
}

/*--------顯示點陣-----------*/
void lat_disp (uchar data1,uchar data2)//data1,data2是要顯示的數據
{
uchar i,j,k,x;
x=x1;
for(k=0;k<2;k++)
{
for(j=0;j<16;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34); //擴充指令操作
wr_lcd (comm,y+j*2); //先將垂直的位元組坐標(Y)寫入繪圖RAM 地址
wr_lcd (comm,x+i); //再將水平的位元組坐標(X)寫入繪圖RAM 地址
wr_lcd (comm,0x30); //功能設置:一次送8位數據,基本指令集
wr_lcd (dat,data1); //寫入第一個Bytes
wr_lcd (dat,data1); //寫入第二個Bytes
}
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34); //擴充指令操作
wr_lcd (comm,y+j*2+1); //先將垂直的位元組坐標(Y)寫入繪圖RAM 地址
wr_lcd (comm,x+i); //再將水平的位元組坐標(X)寫入繪圖RAM 地址
wr_lcd (comm,0x30); //基本指令操作
wr_lcd (dat,data2); //寫入第一個Bytes
wr_lcd (dat,data2); //寫入第二個Bytes
}
}
x=x2;
}
wr_lcd (comm,0x36);
}

/*--------------清DDRAM------------------*/
void clrram (void)
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);
delay (180);
}
/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
uchar a,i,j;
delay (50);
a=content;
cs=1;
sclk=0;
std=1;
for(i=0;i<5;i++)
{
sclk=1;
sclk=0;
}
std=0;
sclk=1;
sclk=0;
if(dat_comm)
std=1; //data
else
std=0; //command
sclk=1;
sclk=0;
std=0;
sclk=1;
sclk=0;
for(j=0;j<2;j++)
{
for(i=0;i<4;i++)
{
a=a<<1;
std=CY;
sclk=1;
sclk=0;
}
std=0;
for(i=0;i<4;i++)
{
sclk=1;
sclk=0;
}
}
}
/*-----------------------------------*/
void delay (uint us) //delay time
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<15;j++)
delay(1);
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
init_lcd ();
while (1)
{
clrram();
lat_disp (0x00,0x00); //顯示點陣
delay1 (8000);
clrram();
lat_disp (0xcc,0xcc); //顯示點陣
delay1 (8000);
clrram();
chn_disp1 (tab1); //上下半屏順序顯示漢字或字元
delay1 (8000);
clrram();
lat_disp (0xff,0x00); //顯示點陣
delay1 (8000);
img_disp (tab5); //顯示圖形
delay1 (8000);
clrram();
chn_dispup (tab31); //上半屏順序顯示漢字或字元
delay1 (8000);
clrram();
chn_dispdown (tab31); //下半屏順序顯示漢字或字元
delay1 (8000);

}
}

㈢ 什麼型號的20腳單片機系列是1腳接地20腳電原

三星這2款單片機是20腳的,S3F9454(DIP20封裝),S3F84K4(DIP20封裝)
S3F9454中文資料http://www.ssmcu.com/download/s3f9454_chn.pdf

㈣ PIC單片機A/D轉換問題

PIC18f452單片機,PICC18編譯器。程序只是例子,提供思路,具體編寫還要靠自己

#include "ADConvt.h"
/**********************AD初始化函數**********************
*入口: 無
*出口: 無
*佔用資源: ADCON0、ADCON1
********************************************************/
void AD_initial(void)
{
uint8 tmpADChn; //循環控制
ADCON0=0x81; //轉換時鍾Fosc/32,選擇通道0,暫不啟動AD,打開AD
ADCON1=0x83; //轉換時鍾Fosc/32,右對齊,AN0,AN1,AN2,AN4為模擬其餘為數字
ADIF=0; //清0AD轉換標志
ADIE=0; //禁止AD中斷
Tr_AN0=1; //AD通道設為輸入
Tr_AN1=1;
Tr_AN2=1;
Tr_AN3=1;
ADChnRe.ADNum=0; //AD轉換數目清0
for(tmpADChn=0;tmpADChn<ConADChnNum;tmpADChn++)
{
ADChnRe.ADBuf[tmpADChn]=0; //AD緩沖區賦值
ADChnRe.ADResult[tmpADChn]=0; //AD轉換結果賦值
ADChnRe.ADMin[tmpADChn]=1023; //最小值賦初始值
ADChnRe.isStartADSap[tmpADChn]=FALSE; //未開始采樣
}
}
/**********************AD轉換函數************************
*入口: 待轉換的通道號ADChn(0,1,2,3)
*出口: AD轉換結果
*佔用資源: ADRESH,ADRESL,ADIF
********************************************************/
uint16 ADConvt(uint8 ADChn)
{
uint16 ADConvResult; //AD轉換結果
uint16 ADWaitPluse; //AD等待脈沖
ADCON0=TableADCON0[ADChn]; //選擇AD通道
delay(1);
GODONE=1; //啟動AD
ADWaitPluse=0;
while(GODONE==0) //等待AD轉換完成
{
ADWaitPluse++;
if(ADWaitPluse>=ConADWaitPluse)
{
return 0;
};
}
ADIF=0; //清0AD轉換標志
ADConvResult=ADRESL+(ADRESH<<8);
return(ADConvResult);
}
/************************採集各通道AD值*******************
*入口:無
*出口:無
*佔用資源:結構體ADChnRe
*採集各通道的AD轉換結果,采樣點達到規定數目ConAdNum時,計算
*均值,存入ADChnRe.ADResult[]數組中
**********************************************************/
void MainAdConv(void)
{
uint8 NowADChn; //當前AD通道
//采樣各通道AD值
for(NowADChn=0;NowADChn<ConADChnNum;NowADChn++)
{
ADChnRe.ADBuf[NowADChn]+=ADConvt(NowADChn);
}
ADChnRe.ADNum++;
if(ADChnRe.ADNum==ConAdNum)
{
for(NowADChn=0;NowADChn<ConADChnNum;NowADChn++)
{
ADChnRe.ADResult[NowADChn]=ADChnRe.ADBuf[NowADChn]/ConAdNum; //計算均值
ADChnRe.ADBuf[NowADChn]=0; //AD緩沖區清0
if((ADChnRe.ADResult[NowADChn]< ADChnRe.ADMin[NowADChn])&(ADChnRe.isStartADSap[NowADChn]==TRUE))//若開始采樣,並採到最小值
{
ADChnRe.ADMin[NowADChn]=ADChnRe.ADResult[NowADChn]; //AD采樣最小值
}
}
}
}

㈤ 20分!給個51單片機圖像液晶程序

#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char
#define x1 0x80
#define x2 0x88
#define y 0x80
#define comm 0
#define dat 1

sbit cs = P0^0;
sbit std = P0^1;
sbit sclk = P0^2;
sbit psb = P0^3; //H=並口; L=串口;
sbit rst = P0^4; //Reset Signal 低電平有效

void wr_lcd (uchar dat_comm,uchar content);
void delay (uint us);

uchar code tab1[]={
"本系列中文模塊內"
"任意位置反白顯示"
"置二級字型檔,可在"
"使用更方便更靈活"
};

uchar code tab31[]={
"金鵬科技有限公司"
"Golden Palm TECH"
};
uchar code tab32[]={
/*-- 調入了一幅圖像:F:\梁\畫圖\HOCO12832.bmp --*/
/*-- 寬度x高度=128x32 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x18,0x0C,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x13,0x10,0x03,0xFE,0x00,
0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x3F,0x30,0x1F,0xFF,0xC0,
0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x8C,0x03,0xF0,0x00,0x7F,0xE0,0x7C,0x01,0xE0,
0x03,0xFF,0xF0,0x00,0x00,0x00,0x01,0x36,0x06,0xC0,0x00,0x5F,0xC0,0xFF,0xFC,0x60,
0x01,0xFF,0xF0,0x00,0x00,0x00,0x02,0x1B,0x0F,0x80,0x00,0xFF,0x01,0xFE,0x0F,0x30,
0x00,0xEF,0xF0,0x00,0x00,0x00,0x02,0x6D,0x9F,0x00,0x00,0x3E,0x03,0xFF,0xF1,0x90,
0x00,0xFF,0xF8,0x00,0x00,0x00,0x04,0x36,0xFE,0x00,0x01,0xFF,0x07,0xFF,0xFC,0x90,
0x00,0xEF,0xFF,0xFF,0x80,0x00,0x04,0xDB,0x7E,0x00,0x03,0xFF,0x87,0xFF,0xFC,0xD0,
0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x04,0x6D,0xFC,0x00,0x07,0xFF,0x8F,0xFF,0xFE,0x50,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x36,0xFC,0x10,0x07,0xFF,0x8F,0xFF,0xFE,0x90,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x1B,0xF8,0x10,0x07,0xFF,0xCF,0xFF,0xFE,0x80,
0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x04,0x0F,0xF8,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0x07,0xFF,0xFF,0xF0,0x00,0x04,0x07,0xF0,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x03,0xF0,0x20,0x07,0xFF,0xFF,0xFF,0xBA,0x00,
0x00,0xFD,0xFF,0xFF,0xFC,0x00,0x02,0x03,0xF0,0x20,0x03,0xFF,0xFF,0xDF,0xB8,0x00,
0x00,0xC1,0xC0,0x3F,0xFC,0x00,0x01,0x01,0xE0,0x40,0x00,0xFF,0xFF,0xDF,0xB0,0x00,
0x00,0x81,0xC0,0x3F,0xCE,0x00,0x00,0x81,0xE0,0x80,0x00,0x7F,0xFF,0xDF,0xA0,0x00,
0x00,0x81,0x80,0x1D,0xCF,0x00,0x00,0x41,0xE1,0x00,0x00,0x3F,0xFF,0x9B,0x00,0x00,
0x01,0x83,0x80,0x1F,0xC7,0x80,0x00,0x21,0xE2,0x00,0x00,0x1F,0xFD,0xB6,0x00,0x00,
0x01,0xC3,0x00,0x0E,0xE6,0x80,0x00,0x19,0xEC,0x00,0x00,0x07,0xFE,0x20,0x00,0x00,
0x00,0xC3,0x00,0x07,0x67,0x40,0x00,0x07,0xF0,0x00,0x00,0x03,0x3E,0x00,0x00,0x00,
0x00,0x02,0x00,0x03,0xE7,0xA0,0x00,0x00,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,
0x00,0x06,0x00,0x03,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
0x00,0x06,0x00,0x07,0x03,0x00,0x77,0x46,0x74,0x24,0x80,0x06,0x04,0x00,0x00,0x00,
0x00,0x1C,0x00,0x06,0x00,0x00,0x55,0x45,0x54,0x57,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0x00,0x0E,0x00,0x00,0x45,0x45,0x74,0x57,0x80,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x00,0x00,0x55,0x45,0x44,0x74,0x80,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x77,0x76,0x47,0x54,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

uchar code tab5[]={
/*-- 調入了一幅圖像:F:\梁\畫圖\COCK.bmp --*/
/*-- 寬度x高度=128x64 --*/
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,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x43,0x01,0x80,0x00,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x19,0xFF,0x07,0x00,0x07,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x3F,0xFC,0x1E,0x00,0x1F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xBF,0xFF,0xFC,0x00,0x7F,0xFC,0x00,0x7F,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x00,0xFF,0xC0,0x00,0x0F,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFC,0x01,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xDF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0x80,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xF8,0x00,0x1F,0xFF,0xF0,0x03,0xF8,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0x3F,0xFF,0xFF,0xC0,0x7C,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x7F,0xF0,0x00,0x3F,0xFF,0xFF,0xF8,0x1E,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xF8,0x00,0x7F,0xFF,0xFF,0xFE,0x0F,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0x87,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0x83,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xC3,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF3,0x08,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xF2,0x10,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xF0,0x20,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x7E,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x3E,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x3C,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x30,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x1F,0x7C,0x20,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x1E,0x78,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFE,0x1E,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xDA,0x3C,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF2,0x30,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF1,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7C,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x78,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x72,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x40,0x04,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x40,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,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,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
};

/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=1;
psb=0;
wr_lcd (comm,0x30); /*30---基本指令動作*/
wr_lcd (comm,0x01); /*清屏,地址指針指向00H*/
delay (100);
wr_lcd (comm,0x06); /*游標的移動方向*/
wr_lcd (comm,0x0c); /*開顯示,關游標*/
}
/*---------------顯示漢字或字元----------------*/
void chn_disp (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80);
for (j=0;j<4;j++)
{
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
}
/*-----------上半屏顯示漢字或字元------------*/
void chn_disp1 (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80);
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
wr_lcd (comm,0x90);
j=1;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
/*----------------顯示圖形-----------------*/
void img_disp (uchar code *img)
{
uchar i,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j);
wr_lcd (comm,x1+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
for(j=32;j<64;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j-32);
wr_lcd (comm,x2+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
wr_lcd (comm,0x36);
}
/*-------------下半屏顯示圖形--------------*/
void img_disp1 (uchar code *img)
{
uchar i,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j);
wr_lcd (comm,x2+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
wr_lcd (comm,0x36);
}
/*--------------顯示點陣----------------*/
void lat_disp (uchar data1,uchar data2)
{
uchar i,j,k,x;
x=x1;
for(k=0;k<2;k++)
{
for(j=0;j<16;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j*2);
wr_lcd (comm,x+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data1);
wr_lcd (dat,data1);
}
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j*2+1);
wr_lcd (comm,x+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data2);
wr_lcd (dat,data2);
}
}
x=x2;
}
wr_lcd (comm,0x36);
}
/*-----------------------------------------------*/
//當data1=0xff,data2=0xff時,在x0,y0處反白顯示16xl*yl.
void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
{
uchar i,j;
for(j=0;j<yl;j++)
{
for(i=0;i<xl;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y0+j);
wr_lcd (comm,x0+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data1);
wr_lcd (dat,data2);
}
}
wr_lcd (comm,0x36);
}
/*--------------清DDRAM------------------*/
void clrram (void)
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);
delay (180);
}
/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
uchar a,i,j;
delay (50);
a=content;
cs=1;
sclk=0;
std=1;
for(i=0;i<5;i++)
{
sclk=1;
sclk=0;
}
std=0;
sclk=1;
sclk=0;
if(dat_comm)
std=1; //data
else
std=0; //command
sclk=1;
sclk=0;
std=0;
sclk=1;
sclk=0;
for(j=0;j<2;j++)
{
for(i=0;i<4;i++)
{
a=a<<1;
std=CY;
sclk=1;
sclk=0;
}
std=0;
for(i=0;i<4;i++)
{
sclk=1;
sclk=0;
}
}
}
/*-----------------------------------*/
void delay (uint us) //delay time
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<15;j++)
delay(1);
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
init_lcd ();
while (1)
{
lat_disp (0x00,0x00);
chn_disp (tab1);
con_disp (0xff,0xff,0x8c,0x80,2,16);
delay1 (8000);
clrram();
lat_disp (0xcc,0xcc);
delay1 (8000);
lat_disp (0x00,0x00);
chn_disp1 (tab31);
img_disp1 (tab32);
delay1 (8000);
clrram();
lat_disp (0xff,0x00);
delay1 (8000);
img_disp (tab5);
delay1 (8000);
}
}

㈥ 一個51單片機同時控制2個步進電機的C語言程序

#include<reg52.h>
#include<intrins.h>
#define mode 0x81 // 方式0,A口、B口輸出,C口高4位輸出,低4位輸入
# include "stdio.h"
# include "string.h"
# include "math.h"

xdata unsigned char PA _at_ 0x7f00;
xdata unsigned char PB _at_ 0x7f01;
xdata unsigned char PC _at_ 0x7f02;
xdata unsigned char caas _at_ 0x7f03; //控制字
sbit P32=P3^2;
sbit P33=P3^3;
sbit P35=P3^5;
#define uchar unsigned char
#define uint unsigned int
unsigned char h,Pos ;
unsigned int R,NX,NY;
unsigned char key;

code unsigned char KeyTable[] = { // 鍵碼定義
0x0f, 0x0b, 0x07, 0x03,
0x0e, 0x0a, 0x06, 0x02,
0x0d, 0x09, 0x05, 0x01,
0x0c, 0x08, 0x04, 0x00
};

code unsigned char LEDMAP[] = { // 八段管顯示碼
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
};

unsigned char Code_ ; // 字元代碼寄存器

#define PD1 61 // 122/2 分成左右兩半屏(122x32)

unsigned char Column;
unsigned char Page_ ; // 頁地址寄存器 D1,DO:頁地址
unsigned char Code_ ; // 字元代碼寄存器

unsigned char Command; // 指令寄存器
unsigned char LCDData; // 數據寄存器

xdata unsigned char CWADD1 _at_ 0x1cff; // 寫指令代碼地址(E1)
xdata unsigned char DWADD1 _at_ 0x1eff; // 寫顯示數據地址(E1)
xdata unsigned char CRADD1 _at_ 0x1dff; // 讀狀態字地址(E1)
xdata unsigned char DRADD1 _at_ 0x1fff; // 讀顯示數據地址(E1)

xdata unsigned char CWADD2 _at_ 0x3cff; // 寫指令代碼地址(E2)
xdata unsigned char DWADD2 _at_ 0x3eff; // 寫顯示數進地址(E2)
xdata unsigned char CRADD2 _at_ 0x3dff; // 讀狀態字地址(E2)
xdata unsigned char DRADD2 _at_ 0x3fff; // 讀顯示數據地址(E2)

//----------------------液晶-----------------

// 清屏

// ************************ 中文顯示程序 ***********************************/

/*************************直線 插 補***************************8*/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=50;y>0;y--);
}

void zhengx()
{
PA=0x00;
delay(10);
PA=0x01;
delay(10);

}
void fux()
{
PA=0x02;
delay(10);
PA=0x03;
delay(10);

}
void zhengy()
{
PB=0x00;
delay(10);
PB=0x10;
delay(10);

}
void fuy()
{
PB=0x20;
delay(10);
PB=0x30;
delay(10);

}
void xian(int NX,int NY)
{int FM, NXY, XOY,ZF,z;
FM=0;
{if(NX>0)
if(NY>0)
XOY=1;
else
XOY=4;
else
if(NY>0)
XOY=2;
else
XOY=3;}

for(NXY= fabs(NX) + fabs(NY)-1;NXY>=0&&P32!=0&&P33!=0;NXY--)
{ {if(NX>0)
if(NY>0)
XOY=1;
else
XOY=4;
else
if(NY>0)
XOY=2;
else
XOY=3;}

for(NXY= fabs(NX) + fabs(NY)-1;NXY>=0;NXY--)
{ if(FM>=0)
{if(XOY==1||XOY==4)

{ZF=1;
zhengx();
}
else
{ZF=2;
fux();

}
FM=FM-fabs(NY);
}
else
{if(XOY==1||XOY==2)
{
ZF=3;
zhengy();

}
else
{ZF=4;
fuy();
}
FM=FM+fabs(NX);
}

}
for(z=0;z<200;z++)
{P35 = 0;
delay(10);
P35 = 1;
delay(10);
}

}
}

/*************************圓 弧 插 補***************************8*/
void yuanhu1( int X0,int Y0, int NX, int NY ,int RNS )
{
int NXY,BS,ZF,XM,YM,z;
int FM=0;
BS=fabs(NX-X0) + fabs(NY-Y0);
XM=fabs(X0);
YM=fabs(Y0);
for(NXY= fabs(NX-X0) + fabs(NY-Y0)-1;NXY>=0&&P32!=0&&P33!=0;NXY--)
{
if(RNS==1||RNS==3||RNS==6||RNS==8)

{
if(FM<0)
{
if(RNS==1||RNS==8)

{ZF=1;
zhengx();

}
else

{ZF=2;
fux();}

FM=FM+2*fabs(XM)+1;
XM=XM+1;

}

else
{
if(RNS==1||RNS==6)
{
ZF=3;
fuy();
}
else

{ZF=4;
zhengy();
}

FM=FM-2*fabs(YM)+1;
YM=YM-1;
}
}
else
if(FM>=0)
{
if(RNS==2||RNS==7)

{ZF=1;
zhengx();
}
else

{ZF=2;
fux();
}

FM=FM-2*fabs(XM)+1;
XM=XM-1;
}
else
{
if(RNS==2||RNS==5)
{ZF=3;
zhengy();}
else
{ZF=4;
fuy();}
FM=FM+2*fabs(YM)+1;
YM=YM+1;
}
}
if(P32==0||P33==0)
{
for(z=0;z<200;z++)
{P35 = 0;
delay(10);
P35 = 1;
delay(10);
}
}

}
int shu1 ()
{
int i=0,j=0,k=3;
while (1)
{
if(testkey())
{ delay(300);
delay1();
if(testkey())
{ j=getkey();
if(j!=14)
{i=i*10 + j;
k--;}
}}
if(k==0)
break;
}
return i;
}
int shu2 ()
{
int i=0,j=0,k=3;
while (1)
{
if(testkey())
{ delay(300);
delay1();
if(testkey())
{ j=getkey();
if(j!=14)
{i=i*10 + j;
k--;}
}}
if(k==0)
break;
}
return i;
}

void yuanhuchabu1()
{ int q=0;
delay(300);
R=shu1();
yj1();

q=R/100;
Page_ = 0x00;
Column = 0x35;
Code_ = q;
WriteCHN8x16();

q=R%100;
q=q/10;
Page_ = 0x00;
Column = 0x40;
Code_ = q;
WriteCHN8x16();

q=R%10;
Page_ = 0x00;
Column = 0x48;
Code_ = q;
WriteCHN8x16();

yuanhu1(R,0,0,R,5);
yuanhu1(0,R,-R,0,6);
yuanhu1(-R,0,0,-R,7);
yuanhu1(0,-R,R,0,8);
}
void yuanhuchabu2()
{ int q=0;
delay(300);
R=shu1();
yj1();

q=R/100;
Page_ = 0x00;
Column = 0x35;
Code_ = q;
WriteCHN8x16();

q=R%100;
q=q/10;
Page_ = 0x00;
Column = 0x40;
Code_ = q;
WriteCHN8x16();

q=R%10;
Page_ = 0x00;
Column = 0x48;
Code_ = q;
WriteCHN8x16();

yuanhu1(0,R,R,0,1);
yuanhu1(R,0,0,-R,4);
yuanhu1(0,-R,-R,0,3);
yuanhu1(-R,0,0,R,2);
}
void xianchabu()
{ int q1=0,q2=0;
delay(300);
NX=shu1();
delay(300);
NY=shu2();
yj2();

Page_ = 0x00;
Column = 0x25;
Code_ = 0x10;
WriteCHN8x16();

q1=NX/100;
Page_ = 0x00;
Column = 0x30;
Code_ = q1;
WriteCHN8x16();

q1=NX%100;
q1=q1/10;
Page_ = 0x00;
Column = 0x37;
Code_ = q1;
WriteCHN8x16();

q1=NX%10;
Page_ = 0x00;
Column = 0x40;
Code_ = q1;
WriteCHN8x16();

q2=NY/100;
Page_ = 0x00;
Column = 0x50;
Code_ =q1;
WriteCHN8x16();

q2=NY%100;
q2=q2/10;
Page_ = 0x00;
Column = 0x58;
Code_ = q2;
WriteCHN8x16();

q2=NY%10;
Page_ = 0x00;
Column = 0x60;
Code_ = q2;
WriteCHN8x16();

Page_ = 0x00;
Column = 0x72;
Code_ = 0x11;
WriteCHN8x16();
xian(NX,NY );
}

void main()

{ int q=0,q1=0,q2=0;
caas=mode;
PA=0X00;
PB=0X00;
PC=0x00;
R=0X00;

while(1)
{
if(testkey())
{
delay1();
if(testKey())
{ delay1();
if(getkey()==15)
{
delay(300);
yuanhuchabu1();
}
else if(getkey()==10)
{ delay(300);
yuanhuchabu2();
}
else if(getkey()==13)
{
xianchabu();
}
else if(getkey()==1)
{
zhengx();
}
else if(getkey()==2)
{
fux();
}
else if(getkey()==3)
{
zhengy();
} else if(getkey()==4)
{
fuy();
}

}
}
if(GetKey()==12)
{ break;}
}

}

㈦ 怎樣從晶元的絲印確認型號 晶元上打的絲印:bl151G GH 230 V6 CHN

高溫耐蝕合金GH3230板棒 GH230板棒

GH3230概述及應用:

GH3230是Ni-Cr基固溶強化高溫合金,使用溫度范圍700℃~1050℃。合金中含有22%Cr、14%W、2%Mo,具有較高的高溫強度和冷熱疲勞性能,具有優異的組織穩定性、抗氧化性能和耐熱腐蝕性能。在同類產品中,合金的性能比GH3536有大幅提高,與GH5188合金的抗氧化性能和蠕變性能相當,而合金的組織穩定性、抗氧化性能和材料成本明顯優於GH5188合金。同時該合金具有良好的成型工藝性能和焊接性能。

適用於製作航空發動機火焰筒等零件,廣泛應用於航空發動機燃燒室、地面燃氣輪機燃燒室以及化工行業中一些高溫耐腐蝕部件等。

合金經800℃*1000h長期時效後,沒有TCP有害相析出。

GH3230技術標准:

QJ/DT 0160044航空發動機用GH230板材、帶材技術條件

Q/GYB 05062 GH3230合金冷軋薄板和帶材

GH3230對應牌號:

GH230、HAYNES 230、N06230

GH3230熱處理制度:

(1180~12400)℃/AC或OQ、或WQ,保溫時間根據材料的厚度確定。

GH3230主要規格:

GH3230無縫管、GH3230鋼板、GH3230圓鋼、GH3230鍛件、GH3230法蘭、GH3230圓環、GH3230焊管、GH3230鋼帶、GH3230直條、GH3230絲材及配套焊材、GH3230圓餅、GH3230扁鋼、GH3230六角棒、GH3230大小頭、GH3230彎頭、GH3230三通、GH3230加工件、GH3230螺栓螺母、GH3230緊固件。

㈧ 光電編碼器輸出一個A相,一個B相, Z相。我該怎麼接到STM8S1003F2單片機上面

增量式編碼器的工作原理就是,AB兩相相差90度相角交錯信號,每轉一圈固定位置有一個Z相的信號輸出,所以如果精度不是要求很高且向旋轉的話,可直接使用Z相接到高數記數口,而AB相不接.把所記的Z相脈沖數除以時間,就是轉速了.

㈨ 有同學有LCD12864局部區域顯示圖片的程序嗎,基於51單片機的C語言程序~

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define x1 0x80
#define x2 0x88
#define y 0x80
#define comm 0
#define dat 1
sbit rs = P3^0; //H=data; L=command;
sbit rw = P3^1; //H=read; L=write;
sbit e = P3^2; //input enable;
sbit psb= P3^3; //H=並口; L=串口;
sbit rst= P3^4; //Reset Signal 低電平有效
sbit busy=P1^7; //lcd busy bit
void wr_lcd (uchar dat_comm,uchar content);
void chk_busy (void);
void delay (uint us);
void delay1 (uint ms);
uchar code tab1[]={
"銳顯科技有限公司"
"ES:www.rxlcd.com"
"中文圖形液晶模塊"
"TEL:020-62619437"
};
unsigned char code tab5[]=
{
/*------------------------------------------------------------------------------
; 寬×高(像素): 128×64
; 字模格式/大小 : 單色點陣液晶字模,橫向取模,位元組正序/1024位元組
------------------------------------------------------------------------------*/
0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x80,0x00,0x60,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x00,0x00,0xF0,0x00,0x00,0x3F,0x8F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0xF8,0x00,0x00,0x3F,0x8F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x03,0xFC,0x00,0x00,0x3F,0x8F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xFE,0x00,0x00,0x3F,0xCF,0xEF,0xC0,0xFF,0xC7,0xE3,0xE7,0xF0,0x00,0x00,
0x00,0x0F,0xBF,0x03,0x00,0x1F,0xDF,0xCF,0xC3,0xFF,0xF7,0xF7,0xF3,0xF0,0x00,0x00,
0x00,0x1F,0x1F,0x87,0x80,0x1F,0xDF,0xCF,0xC7,0xFF,0xFF,0xF3,0xF3,0xF0,0x00,0x00,
0x00,0x3E,0x0F,0xCF,0xC0,0x1F,0xDF,0xCF,0xC7,0xE3,0xFB,0xFF,0xF7,0xE0,0x00,0x00,
0x00,0x7C,0x07,0xFF,0xE0,0x0F,0xDF,0x8F,0xC7,0xFF,0xFB,0xFF,0xFF,0xE0,0x00,0x00,
0x00,0xF8,0x03,0xFE,0xF0,0x0F,0xFF,0x8F,0xC7,0xFF,0xFB,0xFF,0xFF,0xE0,0x00,0x00,
0x01,0xF0,0x01,0xFC,0x78,0x07,0xFF,0x0F,0xC7,0xE0,0x01,0xFF,0xFF,0xC0,0x00,0x00,
0x03,0xE0,0x00,0xF8,0x3C,0x07,0xFF,0x0F,0xC7,0xEF,0xF9,0xFF,0xFF,0xC0,0x00,0x00,
0x07,0xC0,0x01,0xF0,0x1E,0x03,0xFE,0x0F,0xC7,0xFF,0xF9,0xFF,0x7F,0xC0,0x00,0x00,
0x0F,0x80,0x03,0xE0,0x0F,0x01,0xFE,0x0F,0xC3,0xFF,0xF0,0xFF,0x7F,0x80,0x00,0x00,
0x1F,0x00,0x07,0xC0,0x07,0x81,0xFC,0x0F,0xC0,0xFF,0xC0,0xFE,0x7F,0x80,0x00,0x00,
0x3F,0x00,0x0F,0x80,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x80,0x0F,0x80,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0xC0,0x07,0xC0,0x07,0x87,0xFF,0x83,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0xE0,0x03,0xE0,0x0F,0x0F,0xFF,0xC3,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xF0,0x01,0xF0,0x1E,0x3F,0xFF,0xE3,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xF8,0x03,0xF8,0x3C,0x3F,0x87,0xE3,0xFF,0xE1,0xFF,0xF0,0x7F,0xF1,0xFF,0xF8,
0x00,0xFC,0x07,0xFC,0x78,0x3F,0xF8,0x03,0xFF,0xF3,0xFF,0xFC,0x7F,0xF1,0xFF,0xFC,
0x00,0x7E,0x0F,0xFE,0xF0,0x3F,0xFF,0xC3,0xFF,0xF3,0xFF,0xFC,0x7F,0xF9,0xFF,0xFE,
0x00,0x3F,0x1F,0x9F,0xE0,0x3F,0xFF,0xE3,0xFF,0xF0,0x03,0xFC,0x7E,0xF9,0xFF,0xFE,
0x00,0x1F,0xBF,0x0F,0xC0,0x0F,0xFF,0xF3,0xF3,0xF1,0xFF,0xFC,0x7E,0xF9,0xFC,0xFE,
0x00,0x0F,0xFE,0x07,0x80,0x07,0xFF,0xF3,0xF3,0xF3,0xFF,0xFC,0x7E,0x01,0xF8,0x7E,
0x00,0x07,0xFC,0x03,0x00,0x00,0x0F,0xF3,0xF3,0xF3,0xF9,0xFC,0x7E,0x01,0xFC,0xFE,
0x00,0x03,0xF8,0x00,0x00,0x3F,0xC7,0xF3,0xF3,0xF3,0xF9,0xFC,0x7E,0x01,0xFF,0xFE,
0x00,0x01,0xF0,0x00,0x00,0x3F,0xFF,0xF3,0xF3,0xF3,0xFF,0xFC,0x7E,0x01,0xFF,0xFE,
0x00,0x00,0xE0,0x00,0x00,0x3F,0xFF,0xE3,0xF3,0xF3,0xFF,0xFC,0x7E,0x01,0xFF,0xFC,
0x00,0x00,0x40,0x00,0x00,0x07,0xFF,0x83,0xF3,0xF1,0xFF,0x7C,0x7E,0x01,0xFF,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,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,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x0F,0x00,0x00,
0x00,0x08,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x38,0x1C,0x00,0x1E,0x0F,0x00,0x00,
0x00,0x0E,0x00,0x38,0x00,0x07,0xFF,0x00,0x00,0x7C,0x0C,0x00,0x1E,0x07,0x00,0x00,
0x00,0x0F,0x00,0x38,0x00,0xFF,0xFF,0x80,0x01,0xFC,0x0C,0x00,0x0E,0x07,0x00,0x00,
0x00,0x0E,0x3C,0x78,0x00,0x70,0x0F,0x00,0x03,0xF0,0x1C,0x00,0x0E,0x07,0x00,0x00,
0x00,0x1E,0x1E,0xF0,0x00,0x73,0xFF,0x00,0x07,0xE3,0xFC,0x00,0x0E,0x07,0xE0,0x00,
0x00,0x1F,0xFF,0xC0,0x00,0x7F,0xFE,0x00,0x00,0xE0,0xEC,0x00,0x0C,0x0F,0xF0,0x00,
0x00,0x3F,0xCF,0xE0,0x00,0x1C,0x0E,0x00,0x00,0xEC,0x0C,0x00,0x1F,0xFF,0x80,0x00,
0x00,0x3C,0x07,0xF8,0x00,0x18,0x1E,0x00,0x00,0xFE,0x0C,0x00,0xFF,0x3E,0x00,0x00,
0x00,0x63,0xFF,0xF8,0x00,0x3F,0xFC,0x00,0x1F,0xFF,0xEC,0x01,0xFC,0x0E,0x00,0x00,
0x00,0xFF,0xF8,0x70,0x00,0x1F,0xFC,0x00,0x3F,0xC0,0xEC,0x00,0x0C,0x07,0xC0,0x00,
0x00,0xFE,0x18,0xF0,0x00,0x00,0x33,0x00,0x3F,0xFC,0x0F,0xE0,0x0F,0x1F,0xE0,0x00,
0x01,0xCE,0x1F,0xE0,0x00,0x0E,0x73,0xC0,0x03,0xFC,0x3F,0xF0,0x0E,0xFF,0xC0,0x00,
0x01,0x8F,0xDE,0xC0,0x00,0x07,0x73,0xC0,0x07,0xE7,0xFC,0x40,0x3C,0x63,0xC0,0x00,
0x00,0x7F,0x8E,0xC0,0x01,0xC7,0x77,0x80,0x07,0xEF,0xFC,0x00,0xFC,0x73,0x80,0x00,
0x00,0xFE,0x0E,0xC0,0x00,0xFF,0x7F,0x00,0x0E,0xE0,0x1C,0x07,0xFC,0x3F,0x80,0x00,
0x00,0x0E,0x1E,0xC1,0x80,0xFE,0x7E,0x00,0x1C,0xE0,0x1C,0x07,0x9C,0x1F,0x00,0x00,
0x00,0x0C,0x98,0x83,0x80,0x7E,0x70,0x00,0x78,0xC0,0x1C,0x03,0x9C,0x0E,0x00,0x00,
0x00,0x0F,0xB8,0x83,0x80,0x3E,0x60,0x00,0x60,0xC0,0x1C,0x00,0x1C,0x0F,0xC0,0x00,
0x00,0x0F,0x70,0xC3,0x80,0x0E,0x7F,0xF0,0x00,0xC0,0x1C,0x00,0x1C,0x7D,0xF0,0x00,
0x00,0x3E,0xE0,0xFF,0xC1,0xFF,0xFF,0xF8,0x00,0xE0,0x0C,0x00,0x3D,0xF0,0x7E,0x00,
0x00,0x3D,0xC0,0x7F,0x8F,0xFF,0x80,0x00,0x00,0xE0,0x0C,0x00,0x7F,0xC0,0x7F,0x80,
0x00,0x18,0x00,0x3C,0x07,0x80,0x00,0x00,0x00,0x80,0x08,0x00,0x3C,0x00,0x3F,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x18,0x00,0x00,0x01,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
};
/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=0;
delay1 (900);
rst=1;
psb=1;
wr_lcd (comm,0x30); /*30---基本指令動作*/
wr_lcd (comm,0x01); /*清屏,地址指針指向00H*/
wr_lcd (comm,0x06); /*游標的移動方向*/
wr_lcd (comm,0x08); /*開顯示,關游標*/
}
/*---------------顯示漢字或字元----------------*/
void chn_disp (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80);
for (j=0;j<4;j++)
{
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
}
/*-----------上半屏顯示漢字或字元------------*/
void chn_disp1 (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80);
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
wr_lcd (comm,0x90);
j=1;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
/*----------------顯示圖形-----------------*/
void img_disp (uchar code *img)
{
uchar i,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j);
wr_lcd (comm,x1+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
for(j=32;j<64;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j-32);
wr_lcd (comm,x2+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
wr_lcd (comm,0x36);
}
/*-------------下半屏顯示圖形--------------*/
void img_disp1 (uchar code *img)
{
uchar i,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j);
wr_lcd (comm,x2+i);
wr_lcd (comm,0x30);
wr_lcd (dat,img[j*16+i*2]);
wr_lcd (dat,img[j*16+i*2+1]);
}
}
wr_lcd (comm,0x36);
}
/*--------------顯示點陣----------------*/
void lat_disp (uchar data1,uchar data2)
{
uchar i,j,k,x;
x=x1;
for(k=0;k<2;k++)
{
for(j=0;j<16;j++)
{
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j*2);
wr_lcd (comm,x+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data1);
wr_lcd (dat,data1);
}
for(i=0;i<8;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y+j*2+1);
wr_lcd (comm,x+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data2);
wr_lcd (dat,data2);
}
}
x=x2;
}
wr_lcd (comm,0x36);
}
/*-----------------------------------------------*/
//當data1=0xff,data2=0xff時,在x0,y0處反白顯示16xl*yl.
void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
{
uchar i,j;
for(j=0;j<yl;j++)
{
for(i=0;i<xl;i++)
{
wr_lcd (comm,0x34);
wr_lcd (comm,y0+j);
wr_lcd (comm,x0+i);
wr_lcd (comm,0x30);
wr_lcd (dat,data1);
wr_lcd (dat,data2);
}
}
wr_lcd (comm,0x36);
}
/*--------------清DDRAM------------------*/
void clrram (void)
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);
}
/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
chk_busy ();
if(dat_comm)
{
rs=1; //data
rw=0; //write
}
else
{
rs=0; //command
rw=0; //write
}
P1=content; //output data or comm
e=1;
;
e=0;
}
void chk_busy (void)
{
P1=0xff;
rs=0;
rw=1;
e =1;
while(busy==1);
e =0;
}
void delay (uint us) //delay time
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<15;j++)
delay(1);
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
init_lcd ();
while (1)
{
lat_disp (0x00,0x00);
chn_disp (tab1);
wr_lcd (comm,0x0f); //開游標
con_disp (0xff,0xff,0x82,0x90,2,16);//文字反白
wr_lcd (comm,0x8f); //游標位置
delay1 (5000);
wr_lcd (comm,0x30); //基本指令
wr_lcd (comm,0x08); //關游標
clrram(); //文字清屏
lat_disp (0xcc,0xcc);
delay1 (5000);
lat_disp (0x00,0x00);//圖形清屏
lat_disp (0xff,0x00);
delay1 (5000);
lat_disp (0x00,0x00);//圖形清屏
lat_disp (0xaa,0x55);
delay1 (5000);
img_disp (tab5);
delay1 (5000);
}
}
拿去,不謝!

㈩ 電磁爐單片機三星晶元(20腳)引腳功能

每個品牌使用的晶元(單片機)廠家是不一樣的,程序也是不一樣的。
2007年以前的電磁爐主要採用20腳單片機+393和339(後兩者是標准邏輯器件),
2008年後的邏輯器件被各單片機集成了,變成了單晶元單片機,腳位數基本也是20腳
2013年以後,電磁爐經過十幾年的發展已經更新好幾代了,電路更成熟,已經變成了16或者18腳的主控單片機。

閱讀全文

與chn926rry單片機相關的資料

熱點內容
方舟生存進化伺服器如何改名字 瀏覽:892
央行數字貨幣app怎麼注冊 瀏覽:431
51單片機顯示時間 瀏覽:768
我的世界網易版怎麼壓縮地圖 瀏覽:682
qq小程序雲伺服器和 瀏覽:739
方舟伺服器怎麼玩才好玩 瀏覽:557
單片機的部件 瀏覽:621
編譯原理遍的過程 瀏覽:252
python讀取json字元串 瀏覽:62
ubuntu1404安裝php 瀏覽:634
lua能編譯嗎 瀏覽:118
思仙怎麼看伺服器 瀏覽:660
php微信圖片防盜鏈 瀏覽:800
安卓1怎麼讀音 瀏覽:297
農業app怎麼開通快捷支付 瀏覽:912
pythonredisdict 瀏覽:389
如何攻擊別人網賭伺服器 瀏覽:882
隱私與應用加密的圖案密碼 瀏覽:38
陳情令王一博解壓 瀏覽:39
c編譯器使用說明 瀏覽:708