第一范文网 - 专业文章范例文档资料分享平台

本科毕业设计__基于单片机的温度报警器设计(方案)

来源:用户分享 时间:2025/5/20 1:18:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98},i; int main() {

DDRC=0xff; PORTC=0xff; while(1) {

for(i=0;i<=9;i++) {

PORTC=seg[i]; _delay_ms(2000.0); } } }

程序的关键是字形编码的书写,不同的字形编码会得到不同的符号。在字形编码众多时,字形编码会占用大量的内存空间,字形编码这类数据的特点是:我们只需要读取它们的内容,而不会修改其内容,即只进行读操作不进行写操作。这种特点的数据,可以看成常数,对于常数可以保存在程序区。

3、多数字动态显示

单个数码管仅显示一个数字,多数情况往往需要显示多个数字。多个数字的显示多采用动态显示方法。4数码管动态显示原理图,如图6-6所示。

图13 四数码管动态显示原理图

从多数字动态显示电路可以看出:所有的数码管的相同脚连在一起,再接到PC端口。各数码管的公共端分别接在PD0~3。

4、基本多数字动态程序

在多数字动态显示电路下,要显示数字的字形数据由PC端口送出,此字形数据由那个数码管显示,只要那个数码管的公共端同其他不同,对共阳极那个数码管的公共端为高电平,其他为低电平。程序如下:

#include #include #include const prog_uchar

seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};

unsigned char i; int main() {

DDRC=0xff; PORTC=0xff;

DDRD=0xff; PORTD=0xff; while(1) {

PORTC=pgm_read_byte(seg+0); PORTD=0xf8; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+1); PORTD=0xf4; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+2); PORTD=0xf2; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+3); PORTD=0xf1; _delay_ms(50.0); } }

这个基本多数字动态程序不够灵活,只能显示提前设定的数字,通过带缓冲区的多数字动态程序可以灵活实现数字显示。

5、带缓冲区的多数字动态程序

带缓冲区的多数字动态程序是将显示部分提出,单独写成子程序,在调用子程序前,将要显示数据放入显示缓存区,再调用显示子程序。

#include #include #include const prog_uchar

seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};

unsigned char buf[]={4,7,9,8},i; void dsp();

int main() {

DDRC=0xff; PORTC=0xff; DDRD=0xff; PORTD=0xff; while(1) { dsp(); } } void dsp() {

PORTC=pgm_read_byte(seg+buf[0]); PORTD=0xf8; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+buf[1]); PORTD=0xf4; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+buf[2]); PORTD=0xf2; _delay_ms(50.0);

PORTC=pgm_read_byte(seg+buf[3]); PORTD=0xf1; _delay_ms(50.0); }

数组buf为显示缓存区,在其中放入不同数值,执行显示子程序dsp后,会显示对应数字。

本科毕业设计__基于单片机的温度报警器设计(方案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9jcw734a9p7u3cm9b9nu86wqu5roq7003a7_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top