久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
如何用LCD12864顯示單片機程序中的變量數字?
[打印本頁]
作者:
藍琪
時間:
2018-12-3 21:41
標題:
如何用LCD12864顯示單片機程序中的變量數字?
本帖最后由 藍琪 于 2018-12-4 15:56 編輯
定義兩個變量X,Y,初始值都為0,用串口發送1,X的值就+1,發送2,Y的值就+1,并在12864上顯示,下面是12864的串行顯示程序,求教什么改
/********************************************************************
* 文件名 : 串行12864顯示.c
* 描述 : 該程序實現了12864以串行的方式進行通信。
* 創建人 :
* 版本號 :
***********************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit CS=P3^4; //RS片選信號
sbit SID=P3^3; //RW數據信號
sbit SCLK=P3^2; //E時鐘信號
sbit RST=P2^6; //復位信號
sbit CH = P2^7; //PSB并行、串行選擇信號
/********************************************************************
* 名稱 : delay()
* 功能 : 延時,延時時間為 100us * t。這是通過軟件延時,有一定誤差。
* 輸入 : t
* 輸出 : 無
***********************************************************************/
void delay(unsigned int t)
{
unsigned int i,j;
for(i=0; i<t; i++)
for(j=0; j<10; j++);
}
/********************************************************************
* 名稱 : sendbyte()
* 功能 : 按照液晶的串口通信協議,發送數據
* 輸入 : zdata
* 輸出 : 無
***********************************************************************/
void sendbyte(unsigned char zdata)
{
unsigned int i;
for(i=0; i<8; i++)
{
if((zdata << i) & 0x80)
{
SID = 1;
}
else
{
SID = 0;
}
SCLK = 0;
SCLK = 1;
}
}
/********************************************************************
* 名稱 : write_com()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_com(unsigned char cmdcode)
{
CS = 1;
sendbyte(0xf8);
sendbyte(cmdcode & 0xf0);
sendbyte((cmdcode << 4) & 0xf0);
delay(2);
}
/********************************************************************
* 名稱 : write_data()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_data(unsigned char Dispdata)
{
CS = 1;
sendbyte(0xfa);
sendbyte(Dispdata & 0xf0);
sendbyte((Dispdata << 4) & 0xf0);
delay(2);
}
/********************************************************************
* 名稱 : lcdinit()
* 功能 : 初始化函數
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void lcdinit()
{
RST = 0;
delay(100);
RST = 1;
delay(20000);
write_com(0x30);
delay(50);
write_com(0x0c);
delay(50);
}
/********************************************************************
* 名稱 : hzkdis()
* 功能 : 顯示字符串
* 輸入 : *s
* 輸出 : 無
***********************************************************************/
void hzkdis(unsigned char code *s)
{
while(*s > 0)
{
write_data(*s);
s++;
delay(50);
}
}
/********************************************************************
* 名稱 : Display()
* 功能 : 顯示子函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Display()
{
//write_com(0x01);
//delay(50);
write_com(0x80);
hzkdis("X:");
write_com(0x90);
hzkdis("Y:");
}
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Main()
{
CH = 0;
delay(1);
lcdinit();
delay(10);
while(1)
{
Display();
delay(50);
}
}
作者:
zhc123
時間:
2018-12-4 08:15
樓上正解!!!
作者:
藍琪
時間:
2018-12-4 10:18
zhc123 發表于 2018-12-4 08:15
樓上正解!!!
兄弟你是沙發還樓上正解,為了一黑幣,你也太水了吧,一點建議也沒有
作者:
phang
時間:
2018-12-4 13:07
write_com(0x80); //顯示的位置?
write_data(); //顯示內容
比如你要顯示X 那就write_data(X);
程序都是調出來的,別人只能告訴你哪里是關鍵,東西都在你手里,當然是自己負責調試了。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美一a一片一级一片
|
成人亚洲
|
美女一区
|
午夜精品网站
|
www.蜜桃av
|
国产成人免费在线
|
久久国产精品一区二区三区
|
精品视频在线免费观看
|
精品视频一区二区在线观看
|
www.天天干.com
|
欧美日韩视频在线第一区
|
久在线观看
|
亚洲成人免费观看
|
日韩av一区二区在线观看
|
一区二区三区电影在线观看
|
国产精品一区二区av
|
中文字幕日本一区二区
|
美女日批免费视频
|
日日夜夜精品免费视频
|
中文字幕一区在线观看视频
|
精品国产乱码一区二区三
|
日韩一级免费电影
|
涩涩视频网站在线观看
|
ririsao久久精品一区
|
免费成人高清在线视频
|
www.亚洲一区
|
欧美日韩一区精品
|
成人免费淫片aa视频免费
|
日韩精品999
|
国产高清视频在线观看
|
欧美黄视频
|
日韩电影免费在线观看中文字幕
|
女人av
|
日韩视频专区
|
亚洲性视频网站
|
欧美bondage紧缚视频
|
精品国产一区二区三区久久久蜜月
|
日本三级网
|
国产免费一区二区三区
|
亚洲精品www
|
伊人中文字幕
|