久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
無字庫12864單片機程序(縱向取模,字節倒序)帶仿真
[打印本頁]
作者:
top潮流
時間:
2017-11-30 09:28
標題:
無字庫12864單片機程序(縱向取模,字節倒序)帶仿真
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(14.9 KB, 下載次數: 83)
下載附件
2017-12-1 01:56 上傳
0.png
(3.67 KB, 下載次數: 73)
下載附件
2017-12-1 01:56 上傳
單片機源程序如下:
/***********************************************************************
內容:無字庫12864測試程序(縱向取模。字節倒序)
***********************************************************************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define Disp_On 0x3f //顯示命令
#define Disp_Off 0x3e //關閉命令
#define Col_Add 0x40 //起始列地址
#define Page_Add 0xb8 //起始頁地址
#define Start_Line 0xc0 //起始行地址
#define Lcd_Bus P0 //MCU P0<---> LCM
sbit RS = P2^0; //RS=1時為數據操作,RS=0時為命令操作
sbit RW = P2^1; //RW=1時為讀選通,RW=0時為寫選通
sbit E = P2^2; //E下降沿時,數據寫入驅動器,E為高電平時,數據被讀出
sbit Mcs = P2^3; //Master chip E,右半屏-CS2
sbit Scs = P2^4; //Slave chip E,左半屏-CS1
sbit RST = P2^5; //液晶模塊復位控制管腳
char code ce[] = {
/*-- 文字: 測 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x08, 0x31, 0x86, 0x60, 0x00, 0xFE, 0x02, 0xF2, 0x02, 0xFE, 0x00, 0xF8, 0x00, 0x00, 0xFF, 0x00,
0x04, 0xFC, 0x03, 0x00, 0x80, 0x47, 0x30, 0x0F, 0x10, 0x67, 0x00, 0x07, 0x40, 0x80, 0x7F, 0x00
};
char code shi[] = {
/*-- 文字: 試 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
…………限于本文篇幅 余下代碼請從51黑下載附件…………
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
/*---------------------延時子程序----------------------------*/
void delay(unsigned int t)
{
unsigned int i, j;
for (i = 0;i < t;i++)
for (j = 0;j < 10;j++)
{
;
}
}
/*--------------------讀忙碌子程序---------------------------*/
void Read_busy()
{
P0 = 0x00;
RS = 0;
RW = 1;
E = 1;
while(P0&0x80);
E = 0;
}
/*--------------------寫命令到LCD----------------------------*/
void write_com(unsigned char cmdcode)
{
Read_busy(); //每次讀寫都要判斷是否忙碌
RS = 0;
RW = 0;
Lcd_Bus = cmdcode;
delay(0);
E = 1;
delay(0);
E = 0;
}
/*-------------------寫數據到LCD----------------------------*/
void write_data(unsigned char Dispdata)
{
Read_busy(); //每次讀寫都要判斷是否忙碌
RS = 1;
RW = 0;
Lcd_Bus = Dispdata;
delay(0);
E = 1;
delay(0);
E = 0;
}
/*------------------顯示邊框-------------------------------*/
void frame()
{
unsigned char i;
Mcs = 0; //兩個屏幕
Scs = 0;
/*********************************************************************/
write_com(Page_Add + 0); //上面橫線
write_com(Col_Add + 0);
for (i = 0;i < 64;i++) write_data(0x01);
/*********************************************************************/
write_com(Page_Add + 7); //下面橫線
write_com(Col_Add + 0);
for (i = 0;i < 64;i++) write_data(0x80);
/*********************************************************************/
for (i = 0;i < 8;i++)
{
Mcs = 0; //右半屏
Scs = 1;
write_com(Page_Add + i); //共8頁
write_com(Col_Add + 63); //最后一列
write_data(0xff); //ff表示每頁的8行全亮
Mcs = 1; //左半屏與右半屏類似
Scs = 0;
write_com(Page_Add + i);
write_com(Col_Add + 0);
write_data(0xff);
}
}
/*---------------------------清除內存--------------------------------*/
void Clr_Scr()
{
unsigned char j, k;
for (k=0;k<8;k++)
{
Mcs = 1;Scs = 0;delay(10); //左半屏清屏
write_com(Page_Add + k);
write_com(Col_Add + 0);
for (j = 0;j < 64;j++) write_data(0x00);
Mcs = 0;Scs = 1; delay(10); //右半屏清屏
write_com(Page_Add + k);
write_com(Col_Add + 0);
for (j = 64;j < 128;j++) write_data(0x00);
}
}
/*------------------顯示12864圖片---------------------------*/
void Disp_Img(unsigned char code *img)
{
unsigned char j, k;
for (k = 0;k < 8;k++) //共8頁
{
Mcs = 1;Scs = 0;delay(10); //左半屏數據
write_com(Page_Add + k);
write_com(Col_Add + 0);
for (j = 0;j < 64;j++) write_data(img[k*128 + j]); //每半塊屏共64列
Mcs = 0;Scs = 1; delay(10); //右半屏數據
write_com(Page_Add + k);
write_com(Col_Add + 0);
for (j = 64;j < 128;j++) write_data(img[k*128 + j]);
}
}
/*-------------------------顯示橫---------------------------*/
void Disp_H_Line()
{
unsigned char i, j;
Mcs = 0;
Scs = 0;
write_com(Disp_On); //顯示開
write_com(Page_Add); //頁地址
write_com(Start_Line); //開始行
write_com(Col_Add); //列地址
for (j = 0;j < 8;j++) //共8頁,所以循環8次
{
write_com(Page_Add + j);
write_com(Col_Add + 0); //第一列開始
write_com(Start_Line+0); //第一行開始
for (i = 0;i < 64;i++)write_data(0x55); //每半屏幕共64列
}
}
/*------------------------顯示列-----------------------------*/
void Disp_V_Line()
{
unsigned char i, j;
write_com(Disp_On); //顯示開
write_com(Page_Add); //頁地址
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
LCD12864測試程序.rar
(75.98 KB, 下載次數: 36)
2017-11-30 09:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲国产精久久久久久久
|
天天爽一爽
|
成年网站在线观看
|
爱爱综合网
|
亚洲 中文 欧美 日韩 在线观看
|
成人自拍视频
|
av网站免费在线观看
|
天天操,夜夜爽
|
欧美美女爱爱视频
|
欧美人成在线视频
|
亚洲精品国产电影
|
天天综合日日夜夜
|
视频二区在线观看
|
久久在视频
|
亚洲精品一区在线
|
九九热最新地址
|
久久国产一区
|
久久久蜜桃
|
久久y
|
欧美 日韩精品
|
久久久久一区
|
国产精品1区2区3区 男女啪啪高潮无遮挡免费动态
|
国产精品福利视频
|
午夜寂寞福利视频
|
一本大道久久a久久精二百 国产成人免费在线
|
国产精品欧美一区二区三区不卡
|
a毛片
|
午夜在线视频
|
国产91在线精品
|
免费国产视频在线观看
|
色欧美综合
|
黄色免费网址大全
|
欧美精品福利
|
男女爱爱福利视频
|
a黄视频
|
91视视频在线观看入口直接观看
|
亚洲精选久久
|
亚洲精品aⅴ
|
91大神在线资源观看无广告
|
日韩在线免费视频
|
成人黄色三级毛片
|