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

基于单片机的火灾防盗监控系统的设计与仿真_毕业设计(论文)

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

key_number=read7279(CMD_READ); // 读出键码 write7279(DECODE1+1,key_number/16); // 在第2位显示键码高8位 write7279(DECODE1,key_number&0x0f); // 在第1位显示键码低8位 while (!key); // 等待按键放开 wait_cnter=0; } wait_cnter++; } while (key_number!=0 && wait_cnter<0x30000); // 如果按键为?0‘和超时则进入下一步演示 write7279(BLINKCTL,0xff); // 清除闪烁设置 //****************************************** // 快速计数演示

//****************************************** for (j=0;j<5;j++) // 计数初始值为00000 { digit[j]=0; write7279(DECODE0+j,digit[j]); } while (digit[4]<2) // 如果计数达到20000就停止 { digit[0]++; if (digit[0]>9) { digit[0]=0; digit[1]++; if (digit[1]>9) { digit[1]=0; digit[2]++; if (digit[2]>9) { digit[2]=0; digit[3]++; if (digit[3]>9) { digit[3]=0; digit[4]++; if (digit[4]>9) { digit[4]=0; } }

} } } write7279(DECODE0,digit[0]); if (digit[0]==0) { write7279(DECODE0+1,digit[1]); if (digit[1]==0) { write7279(DECODE0+2,digit[2]); if (digit[2]==0) { write7279(DECODE0+3,digit[3]); if (digit[3]==0) { write7279(DECODE0+4,digit[4]); } } } } } delay10ms(150); send_byte(CMD_RESET); // 清除显示 //************************************************* // 下载数据但不译码指令测试

//************************************************* write7279(UNDECODE+7,0x49); // 在第8位按不译码方式显示一字符'三' delay10ms(80);

//************************************************* // 循环左/右移测试

// \三\字向右运动3次,再向左运动3次

//************************************************* for (j=0;j<23;j++) { send_byte(RTR_CYCLE); // 循环右移23次 delay10ms(12); } for (j=0;j<23;j++) { send_byte(RTL_CYCLE); // 循环左移23次 delay10ms(12); }

//********************************************* // 译码方式0及左移指令测试

//********************************************* for (j=0;j<16;j++) { send_byte(RTL_UNCYL); // 不循环左移指令 write7279(DECODE0,j); // 译码方式0指令,显示在第1位 delay10ms(50); } delay10ms(150); send_byte(CMD_RESET);

//******************************************** // 译码方式1及右移指令测试

//********************************************* for (j=0;j<16;j++) { send_byte(RTR_UNCYL); // 不循环左移指令 write7279(DECODE1+7,j); // 译码方式0指令,显示在第8位 delay10ms(50); } delay10ms(150);

//********************************************* // 消隐指令测试

//********************************************* k=0xff; for (j=0;j<6;j++) { k=k/2; write7279(ACTCTL,k); // 每隔一秒钟增加一个消隐位 delay10ms(100); } write7279(ACTCTL,0xff); // 恢复8位显示 delay10ms(100); send_byte(CMD_RESET); // 清除显示 //********************************************** // 段点亮指令和段关闭指令 for (j=0;j<64;j++) { write7279(SEGON,j); // 将64个显示段逐个点亮 write7279(SEGOFF,j-1); // 同时将前一个显示段关闭 delay10ms(20); } } }

void write7279(unsigned char cmd, unsigned char dta) {

send_byte (cmd); send_byte (dta); }

unsigned char read7279(unsigned char command) { send_byte(command); return(receive_byte()); }

void send_byte( unsigned char out_byte) { unsigned char i; cs=0; long_delay(); for (i=0;i<8;i++) { if (out_byte&0x80) { dat=1; } else { dat=0; } clk=1; short_delay(); clk=0; short_delay(); out_byte=out_byte*2; } dat=0; }

unsigned char receive_byte(void) { unsigned char i, in_byte; dat=1; // set to input mode long_delay(); for (i=0;i<8;i++) { clk=1; short_delay(); in_byte=in_byte*2; if (dat) { in_byte=in_byte|0x01;

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