//ICC-AVR application builder : 2003-8-13 10:54:14
// Target : 8515
// Crystal: 8.0000Mhz
#include <io8515v.h>
#include <macros.h>
/* 定义OCMJ4X8端口 */
//DATA_PORT=PORTA
#define data_port PORTA
//ASK=PORTA.7
//#define ask (PINA&0x80)
//RS=PORTC.2
/*
#define set_cs asm("sbi 0x15,2")
#define clr_cs asm("cbi 0x15,2")
//E=PORTC.0
#define set_sclk asm("sbi 0x15,0")
#define clr_sclk asm("cbi 0x15,0")
//RW=PORTD.6
#define set_std asm("sbi 0x12,6")
#define clr_std asm("cbi 0x12,6")
//RW=PORTC.1
#define set_reset asm("sbi 0x12,1")
#define clr_reset asm("cbi 0x12,1")
*/
#define set_cs PORTD|=0X80
#define clr_cs PORTD&=~0X80
#define set_sclk PORTD|=0X20
#define clr_sclk PORTD&=~0x20
#define set_std PORTD|=0X10
#define clr_std PORTD&=~0x10
#define set_reset PORTD|=0X40
#define clr_reset PORTD&=~0x40
void port_init(void)
{
PORTA = 0xFF;
DDRA = 0x00;
PORTB = 0xFF;
DDRB = 0x00;
PORTC = 0xFF;
DDRC = 0x00;
PORTD = 0xFF;
DDRD = 0x00;
}
//call this routine to initialise all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
MCUCR = 0x00;
GIMSK = 0x00;
TIMSK = 0x00;
SEI(); //re-enable interrupts
//all peripherals are now initialised
}
//====================================================
void delay(void)
{
unsigned int i;
for(i=0;i<500;i++);
}
void start_ocm4x8c(void)
{
DDRC=0XFF;
DDRD=0XFF;
set_std;set_std;
clr_sclk;clr_sclk;
set_cs;set_cs;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
clr_std;clr_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
}
void write_ocm4x8c(unsigned char dat)
{unsigned char i;
clr_std;clr_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x80)==0x80)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x40)==0x40)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x20)==0x20)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x10)==0x10)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
clr_std;clr_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x08)==0x08)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x04)==0x04)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x02)==0x02)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
if((dat&0x01)==0x01)
{set_std;set_std;}
else
{clr_std;clr_std;}
set_sclk;set_sclk;
clr_sclk;clr_sclk;
clr_std;clr_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
clr_cs;clr_cs;
set_std;set_std;
}
void write_ocm4x8_data(unsigned char dat)
{
unsigned char dd;
start_ocm4x8c();
set_std;set_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
dd=dat;
write_ocm4x8c(dd);
}
void write_ocm4x8_code(unsigned char dat)
{
unsigned char dd;
start_ocm4x8c();
clr_std;clr_std;
set_sclk;set_sclk;
clr_sclk;clr_sclk;
dd=dat;
write_ocm4x8c(dd);
}
/*
void chk_busy(void)
{
DDRA=0X00;
DDRC=0XFF;
DDRD=0XFF;
clr_rs;
set_rw;
set_e;
PORTA=0XFF;
while(ask==0x80);
clr_e;
}
void write_ocm4x8_data (unsigned char dat)
{
chk_busy();
DDRA=0XFF;
set_rs;
clr_rw;
set_e;
PORTA=dat;
clr_e;
}
void write_ocm4x8_code (unsigned char dat)
{
chk_busy();
DDRA=0XFF;
clr_rs;
clr_rw;
set_e;
PORTA=dat;
clr_e;
}
read_ocm4x8_data (void)
{unsigned char dat;
chk_busy();
DDRA=0X00;
set_rs;
set_rw;
set_e;
dat=PORTA;
clr_e;
return(dat);
}*/
void ocm4x8_init(void)
{
clr_reset;clr_reset;
set_reset;set_reset;
write_ocm4x8_code(0x30);
delay();
write_ocm4x8_code(0x01);
delay();
write_ocm4x8_code(0x02);
delay();
write_ocm4x8_code(0x06);
delay();
write_ocm4x8_code(0x0c);
delay();
}
void asc_tran(unsigned char x,unsigned char *asc_p)
{
while((*asc_p)!=0)
{
write_ocm4x8_code(0x80+x);
write_ocm4x8_data(*asc_p);
asc_p++;
x++;
}
}
void asc_tran1(unsigned char asc_p)
{
// write_ocm4x8_code(0x80+x);
write_ocm4x8_data(asc_p);
}
void hz_tran1(unsigned char x,unsigned char y,unsigned char *hz_p)
{unsigned char i;
// write_ocm4x8_code(0x80);
// write_ocm4x8_data(*hz_p);
// hz_p++;
// write_ocm4x8_data(*hz_p);
while((*hz_p)!=0)
{if(y==0)
i=x;
if(y==1)
i=x+0x10;
if(y==2)
i=x+0x08;
if(y==3)
i=x+0x18;
write_ocm4x8_code(0x80+i);
write_ocm4x8_data(*hz_p);
hz_p++;
write_ocm4x8_data(*hz_p);
hz_p++;
x++;
}
}
/*-- 调入了一幅图像:C:\WINNT\MGR.ico --*/
/*-- 宽度x高度=32x32 --*/
const unsigned char bmp_dz[]={
0x03,0xF0,0x00,0x00,0x0F,0xFC,0x00,0x00,0x1F,0xE2,0x00,0x00,0x3F,0xE7,0x00,0x00,
0x3F,0xE7,0x00,0x00,0x7F,0xCF,0x80,0x00,0x7F,0xBF,0x80,0x00,0x7F,0xFF,0x80,0x00,
0x7F,0xFF,0x87,0xE0,0x7F,0xBF,0x9F,0xF8,0x7F,0xCF,0xBF,0xC4,0x3F,0xE7,0x7F,0xCE,
0x3F,0xE7,0x7F,0xCE,0x1F,0xE2,0xFF,0x9F,0x0F,0xFC,0xFF,0x7F,0x03,0xF0,0xFF,0xFF,
0x03,0xF0,0xFF,0xFF,0x0F,0xFC,0xFF,0x7F,0x1F,0xE2,0xFF,0x9F,0x3F,0xE7,0x7F,0xCE,
0x3F,0xE7,0x7F,0xCE,0x7F,0xCF,0xBF,0xC4,0x7F,0xBF,0x9F,0xF8,0x7F,0xFF,0x87,0xE0,
0x7F,0xFF,0x80,0x00,0x7F,0xBF,0x80,0x00,0x7F,0xCF,0x80,0x00,0x3F,0xE7,0x00,0x00,
0x3F,0xE7,0x00,0x00,0x1F,0xE2,0x00,0x00,0x0F,0xFC,0x00,0x00,0x03,0xF0,0x00,0x00,
};
/*-- 调入了一幅图像:C:\WINNT\3.bmp --*/
/*-- 宽度x高度=128x64 --*/
const unsigned char wei[]={
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,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,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,0x04,0x00,0x30,0x00,0x00,0x00,0x00,0x04,0x00,0x30,0x00,0x00,0x00,
0x00,0x00,0x30,0x0F,0x00,0x78,0x00,0x00,0x00,0x30,0x0F,0x00,0x78,0x00,0x00,0x00,
0x00,0x00,0x70,0x0F,0x00,0x7C,0x00,0x00,0x00,0x70,0x0F,0x00,0x7C,0x00,0x00,0x00,
0x00,0x03,0xE1,0x8F,0x18,0x7C,0x00,0x00,0x03,0xE1,0x8F,0x18,0x7C,0x00,0x00,0x00,
0x00,0x1F,0xE1,0xCF,0x18,0x7C,0x00,0x00,0x1F,0xE1,0xCF,0x18,0x7C,0x00,0x00,0x00,
0x00,0x7F,0xC1,0xC7,0x1C,0x78,0x00,0x00,0x7F,0xC1,0xC7,0x1C,0x78,0x00,0x00,0x00,
0x00,0x7F,0x01,0xC7,0x18,0x78,0x00,0x00,0x7F,0x01,0xC7,0x18,0x78,0x00,0x00,0x00,
0x00,0x3E,0x01,0xC7,0x18,0xF8,0x00,0x00,0x3E,0x01,0xC7,0x18,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0D,0xFF,0xFC,0xF8,0x00,0x00,0x00,0x0D,0xFF,
OCM4X8C.rar_4x8c_OCM4X8C_ST7290_ocm2X_ocmj
版权申诉
64 浏览量
2022-09-23
06:54:49
上传
评论
收藏 2KB RAR 举报
小波思基
- 粉丝: 70
- 资源: 1万+
最新资源
- 词向量-中文文本相似度计算-采用text2vec词向量工具进行计算对比.zip
- 521293804316625base(1).apk
- ARP IP地址分类及特殊IP
- 【MySQL补丁】vcredist-x64xz MySQL必备插件
- 基于SG3525芯片PWM控制推挽隔离DCDC电源模块AD09设计硬件(原理图+PCB)工程文件.zip
- Word_20240428_092324.docx
- cloudcc_v1.1.10-release_sign.apk
- 基于javaweb(jsp)实现的图书购物网站,基于JSP(MVC模式)和MySQL的网上图书购物系统
- fhdishfifdsf
- javassm源码上传图片功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈