|
|
/*系統(tǒng)頭文件--------------------------------------------------------------------*/
#include <reg52.h> //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "Delay.h" //全局通用延時(shí)頭文件
#include "19264ks0107ZK.h" //19264屏字庫(kù)
#include "19264ks0107.h" //19264屏驅(qū)動(dòng)
//#define uchar unsigned char //宏定義無(wú)符號(hào)字符形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uchar 所占位數(shù)8位 范圍0~255
//#define uint unsigned int //宏定義無(wú)符號(hào)整形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uint 所占位數(shù)16位 范圍0~65535
/*主函數(shù)--------------------------------------------------------------------*/
void main()
{
Init19264LCD(); //19264屏初始化LCD函數(shù)
while(1)
{
/************說(shuō)明*********************/
/*例如:Disp_8x16(0,0,1,ZM_8x16[0]);
括號(hào)第1個(gè)數(shù)指那一列開(kāi)始
括號(hào)第2個(gè)數(shù)指那一行開(kāi)始
括號(hào)第3個(gè)數(shù)指 0不反色顯示 1反色顯示
括號(hào)第4個(gè)數(shù)指 字庫(kù)要顯示的字或符號(hào)*/
Disp_8x16(0,0,1,ZM_8x16[0]); //0
Disp_8x16(1,0,1,ZM_8x16[1]); //1
Disp_8x16(2,0,1,ZM_8x16[2]); //2
Disp_8x16(3,0,1,ZM_8x16[3]); //3
Disp_8x16(4,0,1,ZM_8x16[4]); //4
Disp_8x16(5,0,1,ZM_8x16[5]); //5
Disp_8x16(6,0,1,ZM_8x16[6]); //6
Disp_8x16(7,0,1,ZM_8x16[7]); //7
Disp_8x16(8,0,1,ZM_8x16[8]); //8
Disp_8x16(9,0,1,ZM_8x16[9]); //9
Disp_8x16(11,0,0,ZM_8x16[10]); //A
Disp_8x16(12,0,0,ZM_8x16[11]); //B
Disp_8x16(13,0,0,ZM_8x16[12]); //C
Disp_8x16(14,0,0,ZM_8x16[13]); //D
Disp_8x16(15,0,0,ZM_8x16[14]); //E
Disp_8x16(16,0,0,ZM_8x16[15]); //F
Disp_8x16(17,0,0,ZM_8x16[16]); //G
Disp_8x16(18,0,0,ZM_8x16[17]); //H
Disp_8x16(19,0,0,ZM_8x16[18]); //I
Disp_8x16(20,0,0,ZM_8x16[19]); //J
Disp_8x16(21,0,0,ZM_8x16[20]); //K
Disp_8x16(22,0,0,ZM_8x16[21]); //L
Disp_8x16(23,0,0,ZM_8x16[22]); //M
Disp_16x32(0,8,0,ZM_16x32[2]); //2
Disp_16x32(1,8,0,ZM_16x32[0]); //0
Disp_16x32(2,8,0,ZM_16x32[2]); //2
Disp_16x32(3,8,0,ZM_16x32[1]); //1
Disp_32x32(2,2,0,ZM_32x32[0]); //心
Disp_32x32(3,2,0,ZM_32x32[1]); //想
Disp_32x32(4,2,0,ZM_32x32[2]); //事
Disp_32x32(5,2,0,ZM_32x32[3]); //成
Disp_16x16(0,3,0,ZM_16x16[0]); //新
Disp_16x16(1,3,0,ZM_16x16[1]); //年
Disp_16x16(2,3,0,ZM_16x16[2]); //快
Disp_16x16(3,3,0,ZM_16x16[3]); //樂(lè)
Disp_16x16(4,3,0,ZM_16x16[4]); //!
Disp_16x16(5,3,1,ZM_16x16[9]); //福
Disp_16x16(7,3,0,ZM_16x16[5]); //身
Disp_16x16(8,3,0,ZM_16x16[6]); //體
Disp_16x16(9,3,0,ZM_16x16[7]); //健
Disp_16x16(10,3,0,ZM_16x16[8]); //康
Disp_16x16(11,3,0,ZM_16x16[4]); //!
}
}后面是我改的STC8H程序
/*系統(tǒng)頭文件--------------------------------------------------------------------*/
//#include <stc8x.h> //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "reg51.h"
#include "intrins.h"
#include "Delay.h" //全局通用延時(shí)頭文件
#include "19264ks0107ZK.h" //19264屏字庫(kù)
#include "19264ks0107.h" //19264屏驅(qū)動(dòng)
//#define uchar unsigned char //宏定義無(wú)符號(hào)字符形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uchar 所占位數(shù)8位 范圍0~255
//#define uint unsigned int //宏定義無(wú)符號(hào)整形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uint 所占位數(shù)16位 范圍0~65535
sfr P0M0 = 0x94;
sfr P0M1 = 0x93;
sfr P1M0 = 0x92;
sfr P1M1 = 0x91;
sfr P2M0 = 0x96;
sfr P2M1 = 0x95;
sfr P3M0 = 0xb2;
sfr P3M1 = 0xb1;
sfr P4M0 = 0xb4;
sfr P4M1 = 0xb3;
sfr P5M0 = 0xca;
sfr P5M1 = 0xc9;
sfr P6M0 = 0xcc;
sfr P6M1 = 0xcb;
sfr P7M0 = 0xe2;
sfr P7M1 = 0xe1;
/*主函數(shù)--------------------------------------------------------------------*/
void main()
{
P0M0 = 0x00; //設(shè)置P0.0~P0.7為雙向口模式
P0M1 = 0x00;
P1M0 = 0xff; //設(shè)置P1.0~P1.7為推挽輸出模式
P1M1 = 0x00;
P2M0 = 0x00; //設(shè)置P2.0~P2.7雙向模式
P2M1 = 0x00;
P3M0 = 0xff; //設(shè)置P3.0~P3.7為開(kāi)漏模式
P3M1 = 0xff;
Init19264LCD(); //19264屏初始化LCD函數(shù)
while(1)
{
/************說(shuō)明*********************/
/*例如:Disp_8x16(0,0,1,ZM_8x16[0]);
括號(hào)第1個(gè)數(shù)指那一列開(kāi)始
括號(hào)第2個(gè)數(shù)指那一行開(kāi)始
括號(hào)第3個(gè)數(shù)指 0不反色顯示 1反色顯示
括號(hào)第4個(gè)數(shù)指 字庫(kù)要顯示的字或符號(hào)*/
Disp_8x16(0,0,1,ZM_8x16[0]); //0
//Disp_8x16(1,0,1,ZM_8x16[1]); //1
//Disp_8x16(2,0,1,ZM_8x16[2]); //2
//Disp_8x16(3,0,1,ZM_8x16[3]); //3
// Disp_8x16(4,0,1,ZM_8x16[4]); //4
//Disp_8x16(5,0,1,ZM_8x16[5]); //5
//Disp_8x16(6,0,1,ZM_8x16[6]); //6
// Disp_8x16(7,0,1,ZM_8x16[7]); //7
// Disp_8x16(8,0,1,ZM_8x16[8]); //8
//Disp_8x16(9,0,1,ZM_8x16[9]); //9
//Disp_8x16(11,0,0,ZM_8x16[10]); //A
//Disp_8x16(12,0,0,ZM_8x16[11]); //B
//Disp_8x16(13,0,0,ZM_8x16[12]); //C
//Disp_8x16(14,0,0,ZM_8x16[13]); //D
//Disp_8x16(15,0,0,ZM_8x16[14]); //E
//Disp_8x16(16,0,0,ZM_8x16[15]); //F
//Disp_8x16(17,0,0,ZM_8x16[16]); //G
//Disp_8x16(18,0,0,ZM_8x16[17]); //H
//Disp_8x16(19,0,0,ZM_8x16[18]); //I
//Disp_8x16(20,0,0,ZM_8x16[19]); //J
//Disp_8x16(21,0,0,ZM_8x16[20]); //K
//Disp_8x16(22,0,0,ZM_8x16[21]); //L
//Disp_8x16(23,0,0,ZM_8x16[22]); //M
// Disp_16x32(0,8,0,ZM_16x32[2]); //2
//Disp_16x32(1,8,0,ZM_16x32[0]); //0
//Disp_16x32(2,8,0,ZM_16x32[2]); //2
//Disp_16x32(3,8,0,ZM_16x32[1]); //1
//Disp_32x32(2,2,0,ZM_32x32[0]); //心
//Disp_32x32(3,2,0,ZM_32x32[1]); //想
//Disp_32x32(4,2,0,ZM_32x32[2]); //事
//Disp_32x32(5,2,0,ZM_32x32[3]); //成
//Disp_16x16(0,3,0,ZM_16x16[0]); //新
//Disp_16x16(1,3,0,ZM_16x16[1]); //年
//Disp_16x16(2,3,0,ZM_16x16[2]); //快
//Disp_16x16(3,3,0,ZM_16x16[3]); //樂(lè)
//Disp_16x16(4,3,0,ZM_16x16[4]); //!
//Disp_16x16(5,3,1,ZM_16x16[9]); //福
//Disp_16x16(7,3,0,ZM_16x16[5]); //身
//Disp_16x16(8,3,0,ZM_16x16[6]); //體
//Disp_16x16(9,3,0,ZM_16x16[7]); //健
//Disp_16x16(10,3,0,ZM_16x16[8]); //康
//Disp_16x16(11,3,0,ZM_16x16[4]); //!
}
}延時(shí)庫(kù)也按照STC8的延時(shí)計(jì)算
#ifndef __DELAY_H_
#define __DELAY_H_
#define uchar unsigned char //宏定義無(wú)符號(hào)字符形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uchar 所占位數(shù)8位 范圍0~255
#define uint unsigned int //宏定義無(wú)符號(hào)整形數(shù)據(jù)類(lèi)型進(jìn)行聲明定義 定義名稱(chēng)uint 所占位數(shù)16位 范圍0~65535
/*延時(shí)函數(shù) Delay_ms(1)時(shí)大約1ms——————————————————————————————————————————————————————*/
void Delay_ms(uint ms)
//{
//uchar t;
// while(ms--)
//{
// for(t = 110; t > 0; t --);
//}
//}
//void Delay1ms(void) //@11.0592MHz
{
unsigned char data i, j;
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
/*延時(shí)函數(shù) Delay_us(1)時(shí)大約1us——————————————————————————————————————————————————————*/
/*void Delay_us(uint us)
{
while(--us);
}*/
#endif
請(qǐng)教高手如何能在STC8上正確顯示,謝謝指教!
|
-
-
STC8H51hei.zip
2025-10-7 22:17 上傳
點(diǎn)擊文件名下載附件
23.42 KB, 下載次數(shù): 0
|