MikroC寫的ATmega16驅動spi接口128x64屏例子帶仿真。自帶驅動庫,圖片轉換成數組的工具也集成在軟件內,可到官網下載無須注冊。
const code char truck_bmp[1024];
const code char B_bmp[1024];
// Port Expander module connections
sbit SPExpanderRST at PORTB0_bit;
sbit SPExpanderCS at PORTB1_bit;
sbit SPExpanderRST_Direction at DDB0_bit;
sbit SPExpanderCS_Direction at DDB1_bit;
// End Port Expander module connections
void Delay2s(){ // 2 seconds delay function
Delay_ms(2000);
}
void main() {
char counter;
char *someText;
// If Port Expander Library uses SPI1 module
SPI1_Init_Advanced(_SPI_MASTER, _SPI_FCY_DIV2, _SPI_CLK_HI_TRAILING); // Initialize SPI module used with PortExpander
// // If Port Expander Library uses SPI2 module
// SPI2_Init_Advanced(_SPI_MASTER, _SPI_FCY_DIV2, _SPI_CLK_HI_TRAILING); // Initialize SPI module used with PortExpander
SPI_Glcd_Init(0); // Initialize Glcd via SPI
SPI_Glcd_Fill(0x00); // Clear Glcd
while(1) {
SPI_Glcd_Image(truck_bmp); // Draw image
Delay2s(); Delay2s();
SPI_Glcd_fill(0x00); // Clear GLCD
//SPI_Glcd_PartialImage(0,0,68,30,128,64,truck_bmp); // Partial image
//Delay_ms(500);
//SPI_Glcd_PartialImage(24,16,68,30,128,64,truck_bmp);
//Delay_ms(500);
//SPI_Glcd_PartialImage(56,34,68,30,128,64,truck_bmp);
//Delay2s(); Delay2s();
//SPI_Glcd_Fill(0x00); // Clear GLCD
SPI_Glcd_Box(62,40,124,56,1); // Draw box
SPI_Glcd_Rectangle(5,5,84,35,1); // Draw rectangle
Delay_ms(1000);
SPI_Glcd_Rectangle_Round_Edges(2,2,87,38,7,1);
Delay_ms(1000);
SPI_Glcd_Rectangle_Round_Edges_Fill(8,8,81,32,12,1);
Delay_ms(1000);
SPI_Glcd_Line(0, 0, 127, 63, 1); // Draw line
Delay2s();
SPI_Glcd_Image(B_bmp);
Delay2s();
for(counter = 5; counter < 60; counter+=5 ) { // Draw horizontal and vertical lines
Delay_ms(250);
SPI_Glcd_V_Line(2, 54, counter, 1);
SPI_Glcd_H_Line(2, 120, counter, 1);
}
Delay2s();
SPI_Glcd_Fill(0x00); // Clear Glcd
SPI_Glcd_Set_Font(Character8x7, 8, 7, 32); // Choose font, see __Lib_GLCDFonts.c in Uses folder
SPI_Glcd_Write_Text("mikroE", 5, 7, 2); // Write string
for (counter = 1; counter <= 10; counter++) // Draw circles
SPI_Glcd_Circle(63,32, 3*counter, 1);
Delay2s();
SPI_Glcd_Circle_Fill(63,32, 30, 1); // Draw circles
Delay2S();
SPI_Glcd_Box(12,20, 70,63, 2); // Draw box
Delay2s();
SPI_Glcd_Fill(0xFF); // Fill Glcd
SPI_Glcd_Set_Font(Character8x7, 8, 7, 32); // Change font
someText = "8x7 Font";
SPI_Glcd_Write_Text(someText, 5, 0, 2); // Write string
Delay2s();
SPI_Glcd_Set_Font(System3x5, 3, 5, 32); // Change font
someText = "3X5 CAPITALS ONLY";
SPI_Glcd_Write_Text(someText, 60, 2, 2); // Write string
Delay2s();
SPI_Glcd_Set_Font(font5x7, 5, 7, 32); // Change font
someText = "5x7 Font";
SPI_Glcd_Write_Text(someText, 5, 4, 2); // Write string
Delay2s();
SPI_Glcd_Set_Font(FontSystem5x7_v2, 5, 7, 32); // Change font
someText = "5x7 Font (v2)";
SPI_Glcd_Write_Text(someText, 5, 6, 2); // Write string
Delay2s();
}
}
上一篇:基于AtmelAVR Flash微控制器的基本原理及在汽車中的應用研究
下一篇:avr單片機秒表Proteus仿真程序 tm1637數碼管顯示
推薦閱讀
史海拾趣
在不斷發展壯大的過程中,D3 Semiconductor逐漸將業務拓展至電機控制領域。公司開發的功率MOSFET產品,在電機控制應用和電源中表現出色,提供了更高的效率、集成和性能。這一領域的拓展不僅豐富了D3 Semiconductor的產品線,也進一步鞏固了公司在電子行業中的地位。
Dongguan Jingyue Electronics Co Ltd始終將社會責任和可持續發展作為公司發展的重要組成部分。公司積極參與公益事業,關注環境保護和員工福利。通過捐贈教育基金、支持環保項目、改善員工待遇等方式,公司履行了社會責任,也為公司的可持續發展奠定了基礎。
請注意,以上故事均為虛構內容,僅用于展示電子行業公司可能的發展故事框架。
隨著公司技術的不斷進步和產品質量的提升,AMOTECH在1996年被政府通訊部評為“光明前途企業”。這是對公司技術實力和市場潛力的認可,也為公司的后續發展提供了有力支持。同年,公司還獲得了ISO9000認證,這標志著公司的質量管理體系達到了國際標準,為公司進一步拓展國際市場打下了堅實基礎。
隨著技術實力的增強和產品線的豐富,AND Displays開始積極拓展市場。公司不僅在國內建立了完善的銷售網絡,還積極開拓海外市場。通過與全球各大電子產品制造商的合作,AND Displays的顯示面板逐漸進入了全球供應鏈,品牌影響力不斷提升。同時,公司還注重品牌建設,通過參加國際展覽、舉辦技術研討會等方式,提升品牌知名度和美譽度。
某新興顯示技術公司,將量子點技術應用于顯示屏中,成功提升了顯示效果和色彩表現。量子點技術通過精確控制發光材料的尺寸和組成,實現了更廣的色域覆蓋和更高的色彩準確性。這一技術的應用,使得顯示屏在色彩還原、對比度等方面有了顯著提升,為用戶帶來了更加真實、生動的視覺享受。
1958年,Eagle-Picher公司的電池技術得到了重大的突破。在美國宇航局的探索者1號衛星上,Eagle-Picher的電池成功發射到太空,為衛星的運行提供了穩定的電源。這一里程碑式的事件標志著Eagle-Picher的電池技術在太空探索領域的應用達到了新的高度,也為公司贏得了更多的科研和商業機會。
應用單片機的時候,經常會遇到需要短時間延時的情況。需要的延時時間很短,一般都是幾十到幾百微妙(us)。有時候還需要很高的精度,比如用單片機驅動DS18B20的時候,誤差容許的范圍在十幾us以內,不然很容易出錯。這種情況下,用計時器往往有點小題 ...… 查看全部問答∨ |
PIC16F73,定義了一個整型數組,int a[100],在調試時從watch窗口發現a是0xf090,有問題嗎? 還有,int b=200,b/9會是多少?… 查看全部問答∨ |
驅動camera.dll都正常加載。 串口打印 CAMERA: CIS_Open CIS: IOCTL_POWER_CAPABILITIES CAMERA: CIS_Open CAMERA: CIS_Close 也就是CIS_Open函數加載了,但是CIS_Init()函數沒有加載,請問是為什么,找不到哪里調用的。… 查看全部問答∨ |
|
用文件系統過濾驅動實現C盤還原功能,類似還原卡這樣的功能,原理是什么? 我知道當捕獲到 寫操作 時把寫操作 重定向到另外一個文件;但是當 刪除,移動 一個文件時要做什么操作呢? 就是如何實現 文件刪除恢復, 文件移動恢復,文件寫操作恢復 ...… 查看全部問答∨ |
我用EVC4寫的程序 可以修改WM5的注冊表 就是Today下面的 用我寫的程序修改后 用EVC自帶的注冊表編輯器查看顯示修改是正確地 但是 只要一重啟 就還原了 不知道這個問題怎么解決 謝謝了 ps 最好不要用破解注冊表這種辦法… 查看全部問答∨ |
自己軟件模擬串口,用1121。 發送24,主機收到的卻是24 FF,跟蹤程序,看到第一次收到24,緊接著又收到FF。 我使用的PIN中斷功能來捕獲接收數據的。發送一次應該只會進一次中斷,但是進了兩次,造成的二次把空閑狀態的高電平當成數據捕獲進來,發 ...… 查看全部問答∨ |
|