好文档 - 专业文书写作范文服务资料分享网站

可预置的定时显示报警系统

天下 分享 时间: 加入收藏 我要投稿 点赞

合肥学院第六届电子设计竞赛

图五:系统原理图

图六:系统硬件电路图

- 11 -

合肥学院第六届电子设计竞赛

合肥学院第六届电子设计竞赛

附录2 部分程序清单

#include

#define uchar unsigned char #define uint unsigned int uchar

miao,fen,shi,ri,zhou,yue,nian,time_flag,caidan_flag,time0ryuzhi_flag,timekey_num,yuzhikey_num,shuma24s_flag,shumayuzhi_flag,dp=0,tt=0,yuzhitime_flag;

uchar yuzhitimekey_num,aa,bb,Ttime1,flagbb,flag_beep,Tbeep; char zhen=24,Tg,Tb,Ttime; sbit DS_cs = P2^0; sbit DS_as = P2^1; sbit DS_rw = P3^6; sbit DS_ds = P3^7; sbit LCD_rs = P2^2; sbit LCD_en = P2^4; sbit key1 = P2^5; sbit key2 = P2^6; sbit key3 = P2^7; sbit key4 = P3^5; sbit duan = P3^0; sbit wei = P3^1; sbit beep = P3^4; sbit led = P2^3;

uchar code table1[]={%uchar code table2[]={%uchar code table3[]={%uchar code table4[]={%uchar code table5[]={%uchar code table6[]={\

uchar shuma[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void init_dis(uchar add,uchar table[]); void delay(uchar z) //延时函数 { }

void DS_write(uchar add,uchar date) //向DS12887芯片中的寄存器中写数据函数 {

}

uchar DS_read(uchar add) //从DS12887芯片中读取数据函数

- 12 -

合肥学院第六届电子设计竞赛

合肥学院第六届电子设计竞赛

{

}

void LCD_write_com(uchar com) //1602写命令函数 { }

void LCD_write_data(uchar date) //1602写数据函数 { }

void Display_Btime(uchar add,uchar date) //在1602中指定位置显示单个数据函数 {

}

void Display_BCDtime(uchar add,uchar date) //在1602中指定位置显示时间函数 { }

void Display_yuzhitime(uchar add,uchar date) //在1602中指定位置显示预置的数据函数 { } void BCD_time() //从DS12887芯片中读取数据并且在1602中显示 {

}

void disp24s() //在数码管上显示24S的函数 { }

void dispyuzhi() //在数码管上显示预置的时间函数 { }

- 13 -

合肥学院第六届电子设计竞赛

合肥学院第六届电子设计竞赛

void caidan_keyscan() //菜单键盘扫描函数 { }

void shizhong_keyscan() //时钟时间键盘扫描函数 用来调整时间 { } void yuzhi_keyscan() //在预置菜单中通过按键执行24S内置函数或手动预置函数 { } void yuzhitime_keyscan() //键盘扫描函数 用来手动预置定时时间,定时显示间隔以及报警持续时间 { }

void init_dis(uchar add,uchar table[]) //在1602中显示特定的字符串函数 { } void set_time() //第一次使用DS12887芯片时用软件方法设定时间的函数 { }

void init() //初始化函数 { }

void main() //主函数 通过在主循环中判断不同按键的按下执行不同的功能 {

init(); while(1) {

caidan_keyscan();

- 14 -

合肥学院第六届电子设计竞赛

合肥学院第六届电子设计竞赛

if(caidan_flag==0) {

shizhong_keyscan(); if(time_flag==0) {

BCD_time(); } }

if(caidan_flag==1) {

if(yuzhitime_flag==0) {

yuzhi_keyscan(); }

if(yuzhitime_flag==1) {

yuzhitime_keyscan(); }

if(shuma24s_flag==1) {

disp24s(); }

if(shumayuzhi_flag==1) {

dispyuzhi(); } } } }

void time() interrupt 1 来执行不同的功能 { }

//定时器中断函数 通过标志变量

- 15 -

合肥学院第六届电子设计竞赛

可预置的定时显示报警系统

合肥学院第六届电子设计竞赛图五:系统原理图图六:系统硬件电路图-11-合肥学院第六届电子设计竞赛合肥学院第六届电子设计竞赛附录2部分程序清单#include#defineuch
推荐度:
点击下载文档文档为doc格式
8p4bi5gd9e7d82u9y96p
领取福利

微信扫码领取福利

微信扫码分享