• 大小: 179KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: PWM  

资源简介

在Keil5下写的STM32F103C例程,基于STM32F103Cx最小系统板, 采用定时器Tim3计时,定时器Tim4输出PWM并由定时器Tim3进行PWM捕获,显示可以采用I2C接口的0.96寸OLED,或SPI4线接口的0.96寸OLED,或1.44寸LCD, 或JXL12864-086,内含所以调试通过的项目文件和驱动文件。与其他keil4下的项目代码比,更超值!

资源截图

代码片段和文件信息

#include “lcd.h“
#include “string.h“
#include “font.h“ 
#include “..\SRC\delay.h“
#include “gui.h“
//******************************************************************
//功能:    GUI描绘一个点
//输入参数:x:光标位置x坐标
//         y:光标位置y坐标
// color:要填充的颜色
//返回值:  无
//修改记录:无
//******************************************************************
void GUI_DrawPoint(u16 xu16 yu16 color)
{
LCD_SetCursor(xy);//设置光标位置 
LCD_WR_DATA_16Bit(color); 
}

//******************************************************************
//功能:    在指定区域内填充颜色
//输入参数:sx:指定区域开始点x坐标
//         sy:指定区域开始点y坐标
// ex:指定区域结束点x坐标
// ey:指定区域结束点y坐标
//         color:要填充的颜色
//返回值:  无
//修改记录:无
//******************************************************************
void LCD_Fill(u16 sxu16 syu16 exu16 eyu16 color)
{  

u16 ij;
u16 width=ex-sx+1;  //得到填充的宽度
u16 height=ey-sy+1; //高度
LCD_SetWindows(sxsyex-1ey-1);//设置显示窗口
for(i=0;i {
for(j=0;j LCD_WR_DATA_16Bit(color); //写入数据   
}

LCD_SetWindows(00lcddev.width-1lcddev.height-1);//恢复窗口设置为全屏
}

//******************************************************************
//功能:    GUI画线
//输入参数:x1y1:起点坐标
//         x2y2:终点坐标 
//返回值:  无
//修改记录:无
//****************************************************************** 
void LCD_DrawLine(u16 x1 u16 y1 u16 x2 u16 y2)
{
u16 t; 
int xerr=0yerr=0delta_xdelta_ydistance; 
int incxincyuRowuCol; 

delta_x=x2-x1; //计算坐标增量 
delta_y=y2-y1; 
uRow=x1; 
uCol=y1; 
if(delta_x>0)incx=1; //设置单步方向 
else if(delta_x==0)incx=0;//垂直线 
else {incx=-1;delta_x=-delta_x;} 
if(delta_y>0)incy=1; 
else if(delta_y==0)incy=0;//水平线 
else{incy=-1;delta_y=-delta_y;} 
if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴 
else distance=delta_y; 
for(t=0;t<=distance+1;t++ )//画线输出 
{  
LCD_DrawPoint(uRowuCol);//画点 
xerr+=delta_x ; 
yerr+=delta_y ; 
if(xerr>distance) 

xerr-=distance; 
uRow+=incx; 

if(yerr>distance) 

yerr-=distance; 
uCol+=incy; 

}  


//******************************************************************
//功能:    GUI画矩形(非填充)
//输入参数:(x1y1)(x2y2):矩形的对角坐标
//返回值:  无
//修改记录:无
//******************************************************************  
void LCD_DrawRectangle(u16 x1 u16 y1 u16 x2 u16 y2)
{
LCD_DrawLine(x1y1x2y1);
LCD_DrawLine(x1y1x1y2);
LCD_DrawLine(x1y2x2y2);
LCD_DrawLine(x2y1x2y2);
}  

//******************************************************************
//功能:    GUI画矩形(填充)
//输入参数:(x1y1)(x2y2):矩形的对角坐标
//返回值:  无
//修改记录:无
//******************************************************************   
void LCD_DrawFillRectangle(u16 x1 u16 y1 u16 x2 u16 y2)
{
LCD_Fill(x1y1x2y2POINT_COLOR);

}
 
//******************************************************************
//功能:    8对称性画圆算法(内部调用)
//输入参数:(xcyc) :圆中心坐标
//  (xy):光标相对于圆心的坐标
//          c:填充的颜色
//返回值:  无
//修改记录:无
//*************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       89085  2018-03-06 00:26  JlinkLog.txt
     文件         755  2018-01-20 18:57  JlinkSettings.ini
     目录           0  2018-03-05 18:58  LCD\
     文件       15971  2018-02-22 21:36  LCD\GUI.c
     文件          72  2014-11-12 12:16  LCD\LCD_Config.h
     文件      182033  2015-10-25 15:22  LCD\Picture.h
     文件       25482  2015-11-03 09:56  LCD\font.h
     文件        1167  2015-11-03 10:13  LCD\gui.h
     文件       12471  2018-02-22 22:24  LCD\lcd.c
     文件        4728  2018-02-22 22:37  LCD\lcd.h
     目录           0  2018-03-05 17:31  Listings\
     文件      113728  2018-03-07 15:52  Listings\TestStm32F103Cb.map
     文件       43929  2018-03-07 15:52  Listings\startup_stm32f10x_md.lst
     目录           0  2018-03-05 17:31  RTE\
     目录           0  2018-03-05 17:31  RTE\CMSIS\
     文件       11181  2015-03-13 15:14  RTE\CMSIS\RTX_Conf_CM.c.0000
     目录           0  2018-03-05 17:31  RTE\Device\
     目录           0  2018-03-05 17:31  RTE\Device\STM32F103C8\
     文件       55603  2018-01-20 21:43  RTE\Device\STM32F103C8\RTE_Device.h
     文件       55603  2013-09-26 01:08  RTE\Device\STM32F103C8\RTE_Device.h.0000
     文件       12765  2012-01-24 12:06  RTE\Device\STM32F103C8\startup_stm32f10x_md.s
     文件       12765  2012-01-24 12:06  RTE\Device\STM32F103C8\startup_stm32f10x_md.s.0000
     文件        4164  2014-07-04 16:13  RTE\Device\STM32F103C8\stm32f10x_conf.h
     文件        4164  2014-07-04 16:13  RTE\Device\STM32F103C8\stm32f10x_conf.h.0000
     文件       36557  2012-01-24 12:06  RTE\Device\STM32F103C8\system_stm32f10x.c
     文件       36557  2012-01-24 12:06  RTE\Device\STM32F103C8\system_stm32f10x.c.0000
     目录           0  2018-03-05 17:31  RTE\Device\STM32F103CB\
     文件       55603  2013-09-26 01:08  RTE\Device\STM32F103CB\RTE_Device.h.0000
     文件       55603  2013-09-26 01:08  RTE\Device\STM32F103CB\RTE_Device.h.0001
     文件       12765  2012-01-24 12:06  RTE\Device\STM32F103CB\startup_stm32f10x_md.s.0000
     文件       12765  2012-01-24 12:06  RTE\Device\STM32F103CB\startup_stm32f10x_md.s.0001
............此处省略24个文件信息

评论

共有 条评论