完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
同求,求楼主转发,再次先谢过了
|
|
|
|
#include
#define unchar unsigned char #define uint unsigned char //#define CS P2DIR |= BIT2 #define CS_H P2OUT |= BIT2 #define CS_L P2OUT &= ~BIT2 //#define SID P2DIR |= BIT3 #define SID_H P2OUT |= BIT3 #define SID_L P2OUT &= ~BIT3 //#define SCLK P2DIR |= BIT4 #define SCLK_H P2OUT |= BIT4 #define SCLK_L P2OUT &= ~BIT4 //#define RST P2DIR |= BIT5 #define RST_H P2OUT |= BIT5 #define RST_L P2OUT &= ~BIT5 #define PSB_L P2OUT &= ~BIT6 void delay( unchar t); void sendbyte( unchar z); void write_com( unchar cmd); void write_data(unchar disp); void init_lcd(); void lcd_clear(); void dis***c( char *s); void test (); void gotoxy(uint x,uint y); void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer P2DIR |= BIT2 + BIT3 + BIT4 + BIT5 + BIT6; PSB_L; delay(1); init_lcd(); lcd_clear(); delay(10); while(1) { test(); delay(200); } } void delay( unchar t) { uint i , j ; for(i = 0; i < t ;i ++) for (j = 0; j < 10; j++); } void sendbyte( unchar z) { uint i; for(i = 0; i <8; i ++) { if ((z< { SID_H; //P2OUT |= BIT3; } else { SID_L;//P2OUT &= ~BIT3; } SCLK_L;//P2OUT &= ~BIT4; SCLK_H;//P2OUT |= BIT4; } } void write_com( unchar cmd) //写串口指令 { CS_H;//P2OUT |= BIT2; sendbyte (0xf8); //输指令 sendbyte (cmd & 0xf0); sendbyte ((cmd << 4) & 0xf0); delay(2); } void write_data(unchar disp) //写数据 { CS_H;//P2OUT |= BIT2; sendbyte(0xfa);//传数据 sendbyte(disp & 0xf0); sendbyte((disp << 4) & 0xf0); delay(2); } void lcd_clear() { write_com(0x01); //清屏指令 write_com(0x02); //光标归位 即光标置于左上位置 } void init_lcd() { RST_L;//P2OUT &= ~BIT5;//RST = 0; delay(100); RST_H;//P2OUT |= BIT5;//RST = 1; delay(100); write_com(0x30); //基本指令操作 delay(50); write_com(0x0c); //显示开关闭光标 delay(50); } void dis***c( char *s) //显示字符串 { while ( *s > 0) { write_data(*s); s++; delay(50); } } void gotoxy(uint x,uint y) //定位 ,x为行,y为列 { unchar wz; switch(x) { case 1: wz=0x80; break;//当x为1指向第一行 case 2: wz=0x90; break;//当x为2指向第二行 case 3: wz=0x88; break;//当x为3指向第三行 case 4: wz=0x98; break;//当x为4指向第四行 default: wz=0x80; //x为其它值时指向第一行 } wz=wz+y; write_com(wz); } void test () { write_com(0x03); delay(50); //write_com(0x81); gotoxy(1,00);dis***c("R:"); gotoxy(1,01);dis***c("123"); //write_com(0x91); gotoxy(2,00);dis***c("G:"); gotoxy(2,01);dis***c("222"); gotoxy(3,00);dis***c("B:"); gotoxy(3,01);dis***c("111"); } 我这边有个串行12864 的小程序,可以修改一下用 |
|
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2640 浏览 0 评论
2625 浏览 1 评论
1860 浏览 1 评论
2018 浏览 2 评论
2575 浏览 2 评论
664浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 14:17 , Processed in 0.473662 second(s), Total 50, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号