-
大小: 34KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-09
- 語言: 其他
- 標(biāo)簽: msp430g2553??12864??
資源簡介
通過msp430g2553串行控制12864顯示正弦波,顯示不是特別清楚。波形周圍散點(diǎn),僅供參考。

代碼片段和文件信息
#include
#define?BIT(x)????????(1?<(x))
#define?uint?unsigned?int
#define?uchar?unsigned?char
uchar?LCD_table[]={0x300x310x320x330x340x350x360x370x380x39};//0123456789
?
//void?Draw_dots(uchar?xuchar?yuchar?color);
?
#define?cyCS??????0????//P2.0,片選信號
#define?cySID?????1????//P2.1,串行數(shù)據(jù)
#define?cyCLK?????2????//P2.2,同步時(shí)鐘
#define?cyPORT????P2OUT
#define?cyDDR?????P2DIR
?
#define?Graphic_Clear?0x01???//檫除點(diǎn)
#define?Graphic_Not?0x02?????//反相點(diǎn)
#define?Graphic_Draw?0x03 ?//畫點(diǎn)
void?delay_1ms()
{
????????uint?i;
????????for(i=0;i<1140;i++);
}
?
void?delay_nms(uint?n)
{
????uint?i?=?0;
????for(i?=?n;i?>?0;i--)
????????delay_1ms();
}
?
void?Send(uchar?typeuchar?transdata)//0-寫控制命令,1-寫數(shù)據(jù)
{
????????uchar?firstbyte?=?0xf8;
????????uchar?temp;
????????uchar?ij?=?3;
?
????????if(type)?firstbyte?|=?0x02;
?
????????cyPORT?|=?BIT(cyCS);
????????cyPORT?&=?~BIT(cyCLK);
????????while(j?>?0)
????????{
????????????????if(j?==?3)?temp?=?firstbyte;
????????????????else?if(j?==?2)?temp?=?transdata&0xf0;
????????????????else??temp?=?(transdata?<4)?&?0xf0;
?
????????????????for(i?=?8;i?>?0;i--)
????????????????{
????????????????????????if(temp?&?0x80)????????cyPORT?|=?BIT(cySID);
????????????????????????else????????????????????????cyPORT?&=?~BIT(cySID);
????????????????????????cyPORT?|=?BIT(cyCLK);
????????????????????????temp?<<=?1;
????????????????????????cyPORT?&=?~BIT(cyCLK);
????????????????}
????????????????//三個(gè)字節(jié)之間一定要有足夠的延時(shí),否則易出現(xiàn)時(shí)序問題
????????????????if(j?==?3)????????delay_nms(1);
????????????????else???????????????delay_nms(1);
?
????????????????j--;
????????}
?
????????cyPORT?&=?~BIT(cySID);
????????cyPORT?&=?~BIT(cyCS);
}
void?Ini_Lcd(void)
{
????????cyDDR?|=?BIT(cyCLK)?+?BIT(cySID)?+?BIT(cyCS);???//相應(yīng)的位端口設(shè)置為輸出
?????//???P1OUT?&=~BIT3;//PSB?=?0;
????????delay_nms(600);?????????????????//延時(shí)等待液晶完成復(fù)位
????????Send(00x30);??/*功能設(shè)置:一次送8位數(shù)據(jù)基本指令集*/
????????delay_nms(10);
????????Send(00x02);??/*DDRAM地址歸位*/
????????delay_nms(5);
????????Send(00x0c);??/*顯示設(shè)定:開顯示不顯示光標(biāo)不做當(dāng)前顯示位反白閃動(dòng)*/
????????delay_nms(5);
????????Send(00x01);??/*清屏,將DDRAM的位址計(jì)數(shù)器調(diào)整為“00H”*/
????????delay_nms(500);
????????Send(00x06);??/*功能設(shè)置,點(diǎn)設(shè)定:顯示字符/光標(biāo)從左到右移位DDRAM地址加1*/
????????delay_nms(10);
}
void?lcd_pos(uchar?xuchar?y)//定位
{
?????????uchar?pos;
??????????switch(x)
??????????{
????????????case?1:pos=0x80;break;
????????????case?2:pos=0x90;break;
????????????case?3:pos=0x88;break;
????????????case?4:pos=0x98;break;
????????????default:pos=0x80;
??????????}
??????????pos?+=?y;
??????????Send(0pos);
}
?
void?Disp_HZ(const?uchar?*?ptuchar?num)//顯示漢字
{
????uchar?i;
???????????for(i?=?0;i?(num*2);i++)
???????????Send(1*(pt++));
}
void?print_hz(uchar?xuchar?yconst?uchar?*?ptuchar?num)
{
lcd_pos(xy);
????uchar?i;
????for(i?=?0;i?(num*2);i++)
????Send(1*(pt++));
}
?
void?print_zf(uchar?xuchar?yuchar?zifu)//顯示一個(gè)字符
{
lcd_pos(xy);
????Send
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-08-20?22:56??12864\
?????文件????????4704??2012-08-20?22:56??12864\12864.dep
?????文件???????20124??2012-08-19?22:57??12864\12864.ewd
?????文件???????50142??2012-08-19?22:57??12864\12864.ewp
?????文件?????????159??2012-08-19?22:49??12864\12864.eww
?????目錄???????????0??2012-08-20?10:39??12864\Debug\
?????目錄???????????0??2012-08-20?15:12??12864\Debug\Exe\
?????文件???????21174??2012-08-20?22:56??12864\Debug\Exe\12864.d43
?????目錄???????????0??2012-08-19?22:49??12864\Debug\List\
?????目錄???????????0??2012-08-20?22:56??12864\Debug\Obj\
?????文件?????????165??2012-08-20?22:56??12864\Debug\Obj\12864.pbd
?????文件???????34791??2012-08-20?22:56??12864\Debug\Obj\LCD12864P.r43
?????文件???????10082??2012-08-20?16:41??12864\Debug\Obj\main.r43
?????文件????????7200??2012-08-20?22:56??12864\LCD12864P.c
?????文件?????????729??2012-08-20?15:54??12864\LCD12864P.h
?????文件?????????553??2012-08-20?15:53??12864\main.c
?????文件???????????0??2012-08-20?16:41??12864\path.txt
?????目錄???????????0??2012-08-20?10:39??12864\settings\
?????文件????????1253??2012-08-20?22:54??12864\settings\12864.cspy.bat
?????文件????????7654??2012-08-20?22:56??12864\settings\12864.dbgdt
?????文件????????1252??2012-08-20?22:56??12864\settings\12864.dni
?????文件????????3524??2012-08-20?22:56??12864\settings\12864.wsdt
- 上一篇:Dudas Chart生成圖表
- 下一篇:六足機(jī)器人程序
評論
共有 條評論