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

代碼片段和文件信息
#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,串行數據
#define?cyCLK?????2????//P2.2,同步時鐘
#define?cyPORT????P2OUT
#define?cyDDR?????P2DIR
?
#define?Graphic_Clear?0x01???//檫除點
#define?Graphic_Not?0x02?????//反相點
#define?Graphic_Draw?0x03 ?//畫點
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-寫數據
{
????????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);
????????????????}
????????????????//三個字節之間一定要有足夠的延時,否則易出現時序問題
????????????????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);???//相應的位端口設置為輸出
?????//???P1OUT?&=~BIT3;//PSB?=?0;
????????delay_nms(600);?????????????????//延時等待液晶完成復位
????????Send(00x30);??/*功能設置:一次送8位數據基本指令集*/
????????delay_nms(10);
????????Send(00x02);??/*DDRAM地址歸位*/
????????delay_nms(5);
????????Send(00x0c);??/*顯示設定:開顯示不顯示光標不做當前顯示位反白閃動*/
????????delay_nms(5);
????????Send(00x01);??/*清屏,將DDRAM的位址計數器調整為“00H”*/
????????delay_nms(500);
????????Send(00x06);??/*功能設置,點設定:顯示字符/光標從左到右移位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)//顯示一個字符
{
lcd_pos(xy);
????Send
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????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生成圖表
- 下一篇:六足機器人程序
評論
共有 條評論