- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大赛训练期间程序总结报告(一)------显示类
一、显示类:(LED、数码管、LCD)
对于显示类的单片机外设,总结起来常用的不过就是:LED(发光二极管)、数码管(由发光二极管组成),LCD(液晶显示屏),它们又分为两大类:
一是:即时显示器件。送入数据信号就能马上显示出效果,如:LED和数码管。
二是:有存储功能的显示器件。这类器件送入数据信号不能马上显示(在其内部存在具有存储功能的芯片),而是要等待用户送入一定的操作指令,才能按用户的需求显示数据。由于LCD存在较多的控制接口、相关的存储器件和相关的指令,加之显示操作还要进行寻址,故其操作更复杂,但其能满足用户更多特殊的要求,所以其广泛地应用于日常生活和工业控制中。
LDE 跑马灯:
对于LED相关的特性及工作原理,我相信各位非常了解,在此我就不再累赘,下面我就直接给出相关的代码:
/* 实验目的:学习和掌握发光二极管驱动 */
/* 程序功能:D2~D9依次点亮,点亮间隔为 500ms,然后D9~D2依次点亮,点亮间隔为500ms,然后D2~D9 闪烁5次(500ms亮,500ms灭)如此循环 */
// 包含文件
#include STC12C56.H
#include STC12C56IO.H
#include intrins.h
// 函数申明
void Delay_500ms(void);
// 主函数
void main(void)
{
uchar i;
LED_PWM = 0;
while(1)
{
P2 = 0xff;// D1~D8全部熄灭
Delay_500ms();// 延时500ms
D2 = 0;// 点亮D2
Delay_500ms();// 延时500ms
D3 = 0;
Delay_500ms();
D4 = 0;
Delay_500ms();
D5 = 0;
Delay_500ms();
D6 = 0;
Delay_500ms();
D7 = 0;
Delay_500ms();
D8 = 0;// 点亮D8
Delay_500ms();// 延时500ms
D9 = 0;// 点亮D9
Delay_500ms();// 延时500ms
P2 = 0xff;// D1~D8全部熄灭
Delay_500ms();// 延时500ms
D9 = 0;// 点亮D9
Delay_500ms();// 延时500ms
D8 = 0;// 点亮D8
Delay_500ms();// 延时500ms
D7 = 0;
Delay_500ms();
D6 = 0;
Delay_500ms();
D5 = 0;
Delay_500ms();
D4 = 0;
Delay_500ms();
D3 = 0;
Delay_500ms();
D2 = 0;// 点亮D2
Delay_500ms();// 延时500ms
for(i=0; i5; i++)// 闪烁5次
{
P2 = 0xff;// D2~D9全部熄灭
Delay_500ms();// 延时500ms
P2 = 0;// D2~D9全部点亮
Delay_500ms();// 延时500ms
}
}
}
// 延时500ms
void Delay_500ms()// @12.000MHz
{
unsigned char i, j, k;
i = 23;
j = 205;
k = 120;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
对于上序程序进行一个小结:单片的IO口与LED的负极直接相连,程序直接通过控制单片机IO的电平输出直接来控制LED的亮灭,然后综合延时,以达到跑马灯的效果。
数码管显示类:
数码管在51单片机设计中是应用最广泛的显示外设之一,一般用于数字显示(如:显示日期、时间、测控到环境的温度、湿度、光照强度,电机(含轴器件)的转速等等),因此也是广泛地应用于日常生活和工业控制。在接下来的大部分项目中我们将直接接触到数码管的应用。
对于数码管的结构我提醒的是:
一定要注意我们所用数码管是阴极数码管还是阳极数码管。
如果是多位的8段数码管,那么一定要分清楚数码管的数据端及控制端(位选端,电源端),然后要辨别出数码管的每一端口与单片机的那个管脚相连,各实现什么功能。
由于不同数码管的结构可能存在一定的差异,所以这里我就不详
原创力文档


文档评论(0)