找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2163|回復(fù): 0
收起左側(cè)

基于STM32 LCD幀統(tǒng)計(jì)程序

[復(fù)制鏈接]
ID:480094 發(fā)表于 2019-2-24 20:57 | 顯示全部樓層 |閱讀模式
   這是一個(gè)通用的STM32啟動(dòng)及控制代碼集.它沒(méi)有使用ST的庫(kù),完全是基于寄存器的操作.它包括三部分:
1,sys
    sys部分包含了STM32的系統(tǒng)級(jí)別的代碼,包括:時(shí)鐘配置,IO口輸入輸出管理,中斷管理,待機(jī)模式設(shè)置,BKP操作,軟復(fù)位,JTAG配置等.
2,usart
    usart部分包含了對(duì)串口1的初始化,用于串口調(diào)試,或者串口打印信息.
3,delay
    delay部分包含了2個(gè)基本的延時(shí)函數(shù),delay_us和delay_ms,這兩個(gè)函數(shù)采用STM32的SYSTICK作為延時(shí)定時(shí)器,所以在使用delay的時(shí)候,需要占用SYSTICK.

單片機(jī)源程序如下:
  1. #include <stm32f10x_lib.h>
  2. #include "sys.h"
  3. #include "usart.h"               
  4. #include "delay.h"       
  5. #include "led.h"
  6. #include "key.h"
  7. #include "exti.h"
  8. #include "wdg.h"
  9. #include "timer.h"
  10. #include "lcd.h"          

  11. //此程序的LCD驅(qū)動(dòng)部分,對(duì)IO口操作進(jìn)行了加速處理,使得刷屏速度提高了近一倍.
  12. //具體請(qǐng)看ILI93XX.c和lcd.h文件!

  13. u16 x=0;
  14. int main(void)
  15. {               
  16.           Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
  17.         delay_init(72);                //延時(shí)初始化
  18.         uart_init(72,9600); //串口1初始化  
  19.         LED_Init();
  20.         LCD_Init();
  21.         Timerx_Init(10000,7199);//10Khz的計(jì)數(shù)頻率,計(jì)數(shù)到5000為500ms
  22.         while(1)
  23.         {
  24.                 LCD_Clear(BLUE);
  25.                 x++;
  26.                 LCD_Clear(GREEN);
  27.                 x++;
  28.                 LCD_Clear(RED);
  29.                 x++;
  30.         }                            
  31. }
復(fù)制代碼

所有資料51hei提供下載:
ALIENTEK MINISTM32 擴(kuò)展實(shí)驗(yàn)6 LCD幀統(tǒng)計(jì).rar (38.12 KB, 下載次數(shù): 9)



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表