图形液晶显示驱动实验

单片机实验

27人已加入

描述

图形液晶显示驱动实验

一.实验目的
本驱动程序展示了如何在Small RTOS 中编写图形液晶显示器的驱动程序。
二.实验设备及器件
IBM PC 机 一台
DP-51PROC 单片机综合仿真实验仪 一台
三.实验步骤
1. A2 区的A0~A2 分别连接到B3 区的A0~A2。
2. 将A2 区的P10 连接到B3 区的RST。
3. 将A3 区的Y0 连接到B3 区的/CS。
4. 将A2 区的A15~A10 分别连接到A3 区的相应接线柱,如下:
A15 --- /G2B
A14 --- /G2A
A13 --- G1
A12 --- C
A11 --- B
A10 --- A
5. 在B3 区的J92 插入图形液晶模块(单色,128×64 点)。
6. 将B3 区的J85 短接,A3 区的JP4 短接。
7. 使用TKSMonitor51 进行仿真调试。
四.实验参考程序主要部分
#include "config.h"
void TaskA(void);
void TaskB(void);
void TaskC(void);
void TaskD(void);
void TaskE(void);
uint8 random(uint8 seed)
{
uint16 temp;
OS_ENTER_CRITICAL();
temp = ((((uint16) rand()) ^ ((uint16) rand()) + TL0) % (uint16)seed);
OS_EXIT_CRITICAL();
return temp;
}

void main(void)
{
OSInit();
TMOD = (TMOD & 0XF0) | 0X01;
TL0 = 0x0;
TH0 = 0x0;
TR0 = 1;
ET0 = 1;
TF0 = 0;
OSSemCreate(ZL12864_SEM, 1);
LCM_DispIni();
OSDispClr();
//以下的字符串将在液晶上显示出来
OSDispStr(0, 0, "Small RTOS the Real-Time Kernel");
OSDispStr(4, 1, "ChenMingJi");
OSDispStr(5, 3, "ZL12864 Ex1");
OSTaskCreate(TaskA, NULL, 0);
while(1)
{
PCON = PCON | 0x01; /* CPU 进入休眠状态 */
}
}
void TaskA(void)
{
uint8 x,y;
OSWait(K_TMO, 30);
OSDispClr();
OSTaskCreate(TaskB, NULL, 1);
OSTaskCreate(TaskC, NULL, 2);
OSTaskCreate(TaskD, NULL, 3);
OSTaskCreate(TaskE, NULL, 4);
while (1)
{
x = random(16);
y = random(8);
OSDispChar(y, x, '1');
OSWait(K_TMO,1);

}
}
void TaskB(void)
{
uint8 x,y;
while (1)
{
x = random(16);
y = random(8);
OSDispChar(y, x, '2');
OSWait(K_TMO,1);
}
}
void TaskC(void)
{
uint8 x,y;
while (1)
{
x = random(16);
y = random(8);
OSDispChar(y, x, '3');
OSWait(K_TMO,1);
}
}
void TaskD(void)
{
uint8 x,y;
while (1)
{
x = random(16);
y = random(8);
OSDispChar(y, x, '4');
OSWait(K_TMO,1);
}
}
void TaskE(void)
{
uint8 x,y;

while (1)
{
x = random(16);
y = random(8);
OSDispChar(y, x, '5');
OSWait(K_TMO,1);
}
}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分