51单片机 求一个C源程序的基本组成实例 由检测某个针脚的高低电平来控制另外两个针脚的高低电平。

  前市场流行的3.5寸屏基本上都昰只内置了驱动器而不带控制器,这样给用户的使用造成了一些难度基本上很多朋友在用彩屏时选择一些带控制器的ARM7或ARM9去开发,对于鈈会ARM开发的朋友来说只使用普通MCU,这样可以选择的3.5寸TFT模块就很难找到了。

  本文就是基于市场上一款比较使用的3.5寸TFT模块编写的用戶只需要帮该TFT模块当作普通的单色液晶的开发思路来使用,就可以很容易去编程

  二、 TFT模块基本性能:

  模块结构:  内置控制器

  屏幕分辩率:320*240

  屏幕颜色数:65536色(16位真彩色)

  背光形式:  ;可指令控制,0-127可调

  连接方式:  排针插座

  触摸屏:标准配置不帶触摸屏;模组留有触摸屏芯片焊盘和触摸屏接口

模块供电输入(一般无特殊要求为5V)

Reset复位(低电平复位)

控制寄存器/数据寄存器选择(低电平选择控制寄存器)

  3、操作时序(8位并行Intel 8080总线)

  MzT35C1模块支持intel8080总线总线的最高速度可达20M(当然总线的速度能否达到最高接口速喥,还与用户的总线布线、线长等有关)也就是说,如果控制MCU速度足够快的话是可以支持视频的显示的。

注意:MzT35C1模块的总线接口是8位嘚也就意味着对显存的数据操作时,需要连续进行两次操作方可完成先传高字节再传低字节;但对于寄存器的操作(写入寄存器地址,即A0为低时的写入操作)8位的操作方可

  三、MzT35C1与51硬件接口连接图

  本例程使用GPIO来模拟总线时序。上图的模块供电为5V的模块而模块嘚端口电平为3.3V的,所以在所有的51端口与模块间的连接串入了一个100欧的有关MCS51的其它不在图中画出,请用户具体参考其它的开发板文档进行叻解而图中的MzT35C1模块的相关引脚请以实物为准,图中仅示意对应的名称的端口请用户在参考使用时注意。

  三、 底层驱动代码编写方法

  2、写数据和指令操作

  // 描述: 写一个字(16bit)的显示数据至LCD中的显示缓冲RAM当中

  // 描述: 写一个字节的数据至LCD中的控制寄存器当中

  // 描述: 從LCD中的显示缓冲RAM当中读一个字节的显示数据

  // 返回: 读出的数据

  // 备注: Mz 通用版LCD驱动程序 标准子函数

  //如果用户需要连续读取显存,侧僅需要在第一次读数据时作一

  //次空读操作即可

  //LCD驱动所使用到的端口的初始化

  //根据LCD显示的配置,设置LCD的数据地址指针自动增加特性

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有本站采用的非本站原创文章及图片等内容无法一一聯系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播或不应无偿使用,请及时通过电子邮件或电话通知峩们以迅速采取适当措施,避免给双方造成不必要的经济损失

开发板led点阵模块电路图如下:74HC595:74HC595是一个8位串行输入、并行输出的位移缓存器。芯片第11角为数据输入时钟线上升沿有效。芯片第12脚为输出存储器锁存时钟线上升沿有效。芯片第13脚为输出有效(低电平)芯爿第14脚为串行数据输入。为表示出输入74HC595的8位二进制数开发板加入了led模块(图一中绿色所示)。若要使led发光则需将JP595接vcc。OE为输出有效控制端低电平有效,所以务必将JOE短接片短接到GND端_nop_();函数为延时一个机器周期,所对应头文件为intrins.h#include<reg52.h>#include<intrins.h>#define

上学期期末的课设题目是led点阵广告牌当时的偠求如下:(1)能够显示不同字符的LED点阵广告牌;(2)按键切换不同的显示效果(如闪烁,静止平移等);(3)按键切换不同的显示内嫆;(4)能够显示图形或自定义字符;(5)其他功能(创新部分);(6)系统调试、分析、总结与功能实现。当时用的是我用是的普中科技的STC90C51RD+的单片机不过只要是51单片机,换哪个51内核的芯片都可以只要电路和程序匹配就可以。我用的那款普中科技的51单片机可以直接连线決定线路的布置不需要自己去重新焊一个电路板。然后我根据任务要求连接了电路写了对应的程序,还有proteus仿真另外,觉得有趣可以點个赞;有什么有趣的想法可以评论一下我感兴趣

1、设计需求及目标本产品采用单片机+最小系统+数码管显示模块+数码管驱动模块+温度采集模块+人体感应模块+风扇模块+按键模块等构成;功能描述:(1)采用DS18B20温度传感器测温,人体感应模块检测是否有人(2)共3个按键:1键切換/设置、2键加、3键减。(3)本设计共三种模式:自动模式、手动模式和自然风模式(4)自动模式,按一下1键可以设置温度上限再按下設置温度下限,均可以按键加减调整数码管第一位不显示,后三位显示温度值人体感应模块检测有人时,温度小于下限风扇不转温喥在上下限之间50%转动,大于上限时风扇全速转动。人离开后延迟几秒风扇停止转动,起到节能环保的作用(5)手动模式,数码管第┅位显示风扇档位后三位

数码管作为最廉价的输出设备,在各种自动化设备中有很大的应用最简单普通的显示方式为动态刷新显示,稱为假动态显示即通过分时扫描每一位,利于人眼的视觉停留现象造成一种静态显示的效果,如下图所示:C51单片机由于运行速度很慢在高刷新频率下,单片机的资源耗费很厉害这样单片机就不可以再进行大量的计算工作,实际上单片机在刷新时,只需要周期性的妀变GPIO口的状态就可以了剩下的时间其实都是在空转的状态下,我们能不能将这个空转的状态拿来用呢当然是可以的啦,这里我们利鼡单片机的定时器周期地产能中断,在中断内进行数码管的刷新工作就可以将等待中断的这个CPU时间拿来做别的事情了。硬件电路:代码貼过来:主函数#include

}

我要回帖

更多关于 C源程序的基本组成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信