-
Arduino 12864 液晶屏
经过了一段时间的学习,慢慢的对TFT 有一些些的了解,对于我们这些初学者来说,写驱动那是不可能的事情,唯一能做的就是看得懂驱动是啥、或者是很好的阅读驱动程序即可。如果是应用,那会这些足矣!如果是开发的,那还需要更多的学习和了解。之前群里的Zzz玩过TFT 3.2+mega2560的,只是他时间有点忙吧,没时间出来写测评,我现在能驱动了,就出来说一下是怎么用的吧。欢迎大家一起讨论实验中的问题,毕竟把问题都回答完了就会理解一点的。
介绍
请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2022-05-06 13:40:36下载
- 积分:1
-
点亮一盏灯
该程序是一个非常简单的点灯程序。运用c语言编写程序到软件keil中运行,编译转换成HEX文件下载到单片机中。单片机的芯片型号是STC89C52,可以在网上查到它的具体资料。
- 2022-01-29 00:43:49下载
- 积分:1
-
aw9136驱动代码
aw9136驱动程序实现,包括硬件gpio配置,模拟I2C通信借口的实现,输入键值上报,中断处理等./**************************************************************************
* AW9136_ts_3button.c
*
* Create Date :
*
* Modify Date :
*
* Create by : AWINIC Technology CO., LTD
*
* Version : 1.0 , 2014/06/27
* 2.0 , 2014/06/27
* 2.1 , 2014/07/01
* 2.2 , 2014/07/02
*
**************************************************************************/
//////////////////////////////////////////////////////////////
//
// APPLICATION DEFINE :
//
// Mobile - MENU HOME &nb
- 2023-03-23 20:40:04下载
- 积分:1
-
四轴飞行器源码V1
资源描述主控CPU采用STM32F103C8T6,陀螺仪和加速度采用MPU6050,有成熟的飞控算法,对于初学飞控的玩家来说毫无疑问是一个很好很实用的平台。
- 2022-03-21 00:18:47下载
- 积分:1
-
按键扫描程序
资源描述比较少的代码,很简洁,按键扫描程序
- 2023-01-31 04:35:04下载
- 积分:1
-
RoboMasters_Main_Control
应用背景本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。
STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。
有关订购信息以及器件的机械与电气特性,请参见数据手册。
有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。关键技术意法半导体网站 (http://www.st.com) 提供以下文档:
■ STM32F40x 和 STM32F41x 数据手册
■ STM32F42x 和 STM32F43x 产品简介
■ 有关带 FPU 的 ARM Cortex™-M4 内核的信息,请参见《STM32F3xx/F4xxx Cortex™-
M4 编程手册》(PM0214)。
- 2023-04-12 20:20:08下载
- 积分:1
-
Universal aynchronous rxr/txr
UART:通用
- 2022-03-09 22:04:50下载
- 积分:1
-
emu8086文件的读取和改变小字符大写比保存在另一个文件
应用背景1)&;&;&;写一个程序,将复制源文本文件到目标文件,并用一个大写字母替换小写字母信件。使用“拒绝”命令来显示源和目标文件。关键技术仿真器8086,装配,装配中的文件处理,改变字符装配(欧洲联盟8086)
- 2022-04-18 19:38:05下载
- 积分:1
-
基于51单片机的CAN 通信
应用背景
为初学者打通基于51单片机的CAN通信学习。使用的can控制器是SPI接口的MCP2515。
本程序在51单片机开发板上经验证,可以正常使用。
希望对你有所帮助。
关键技术
部分程序:
*/
void mcp2515_setRegister(unsigned char address,unsigned char Value)
{
CS = 1;
Delay_Us(5);
SPISendByte(0x02); /* 字节写命令,0x02,后跟一字节地址,一字节数据 */
SPISendByte(address);
SPISendByte(Value);
CS = 1;
Delay_Us(5); /* CS禁止时间,大于50ns */
}
/****************************************************************
*
* 函数名: mcp2515_setRegisterS
* 入口参数:adress: 需要设置的寄存器的地址
* value[]:用来设置的缓冲区的头指针
*
- 2023-03-23 19:30:03下载
- 积分:1
-
软件定时器
应用背景
我们在做单片机程序时,经常会用到多个定时器,这时我们就需要各个配置多个不同的TIMER,有时TIMER不够用,有时TIMER配置过多,标志过多,程序写着写着就乱了,就算是理清了,也会造成程序可读性差,可移植性低,对硬件依赖性强的缺点。
为了解决这个问题,我们可以用程序实现一个软件定时器,在内存允许的范围内,它可以实现无数个定时器、计数器功能,当需要一个定时器,只需要在程序里定义一个定时器变量,通过不同接口的调用,就可以实现定时功能;实现这一功能,只需要占用一个硬件定时器即可,大大减少了硬件TIMER的占用,提高了程序的可移植性,降低程序的复杂度。
关键技术
在这里,我们需要借鉴操作系统架构里的系统嘀嗒功能。先初始化一个硬件TIMER作为系统的心跳,用这个TIMER来驱动一个全局变量sys_pulse的递增;然后利用程序来查询变量当前值判断系统程序的执行时间,从而得现时间的间隔,再通过事件发送程序来通知任务定时已到。
一个软件定时器变量,至少需要包括三个元素,开始时间start_time,定时时长interval,事件内容event;
每当程序启动一个定时器,将当前系统的sys_pulse值赋于开始时间变量start_time, 设定定时器的定时时长interval, 和事件内容event, 然后在主循环里不断查询sys_pulse 是否大于 start_timer + interval,如果大于,则表明此定时器定时结束,然后调用事件发送函数告诉任务,定时已到,开始执行任务。
如果用户要移植此程序,只需要修改timer_init()内硬件TIMER的初始化程序即可,其它内容可以直接引用,不需要修改。
&
- 2023-04-15 22:30:04下载
- 积分:1