基于单片机的万年历设计课程设计(编辑修改稿)内容摘要:
.MCS51 系列单片机系统极其应用 .北京:高等教育出版社 ,2020 [2] 林伸茂 .8051单片机彻底研究实习篇 .北京:人民邮电出版社 ,2020 [3] 胡学海 .单片机原理极其应用系统设计 .北京 :电子工业出版社 ,2020 [4] 张毅刚 .单片机原理极其应用 .哈尔滨:哈尔滨工业大学出版社 ,2020 [5] 韩志军等 .单片机应用系统设计 .北京 :机械 工业出版社 ,2020 [6] 舒怀林 .单片机原理与接口技术 .武汉 :华中科技大学 出版社 ,2020 物理与电子工程学院 2020 级本科课程设计 17 附 录 课程设计中的程序如下: include include include define uchar unsigned char define uint unsigned int sbit SCK=P3^6。 //时钟 sbit SDA=P3^4。 //数据 sbit RST=P3^5。 // DS1302 复位 sbit lcdrs=P2^6。 sbit lcdrw=P2^5。 sbit lcden=P2^7。 sbit key1=P1^0。 //开调时键 sbit key2=P1^1。 //调时加键 sbit key3=P1^2。 //调时减键 sbit key4=P1^3。 //开设定闹铃键 sbit key5=P1^4。 //返回正常显示键 sbit key6=P1^5。 //闹铃开关键 sbit DQ=P3^7。 //温度传感器数据通信位 sbit beep = P2^1。 //蜂鸣器控制 IO 口 sbit led1 = P2^0。 //led 灯,闹铃响标志 bit ReadRTC_Flag,Display_Flag,Alarm_Flag,flag。 //定义标志位 uchar miao,fen,shi,ri,yue,week,nian,T,C=0,k=0,m=0,n=0。 uchar set_miao,set_fen,set_shi,set_ri,set_yue,set_nian,TempBuffer[5],temp_value。 char l_tmpdate[7]={0x50,0x08,0x011,0x07,0x10,0x01,0x12}。 //设置初始时间,秒分时日月周年121007 01:08:50 uchar code write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}。 //秒分时日月周年 最低位写位 uchar code read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}。 //秒分时日月周年 最低位读位 uchar code table1[]=SUN。 //星期字表 uchar code table2[]=MON。 uchar code table3[]=TUE。 uchar code table4[]=WED。 uchar code table5[]=THU。 uchar code table6[]=FRI。 uchar code table7[]=SAT。 uchar code tab1[]=20。 uchar code tab2[]= : :。 uchar code tab3[14]= Set Alarm!。 char tab4[]={0,0,12}。 物理与电子工程学院 2020 级本科课程设计 18 //两只蝴蝶 unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01, 0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02, 0x10,0x03, 0x15,0x00, 0x00,0x00 }。 /******************************************************************/ /* 函数声明 */ /******************************************************************/ void Init_DS18B20(void)。 unsigned char ReadOneChar(void)。 void WriteOneChar(uchar dat)。 void ReadTemp(void)。 void temp_to_str()。 //温度数据转换成液晶字符显示 void Write_Ds1302_byte(uchar temp)。 void Write_Ds1302( uchar address,uchar dat )。 物理与电子工程学院 2020 级本科课程设计 19 uchar Read_Ds1302 ( uchar address )。 void Read_RTC(void)。 void Set_RTC(void)。 void delay(uchar a)。 void delay1(uchar a)。 void di()。 void lcd_mang()。 void write_lcd1602(uchar cmd,uchar i)。 void ini_lcd1602()。 void write_week(uchar xq)。 void write_nyr(uchar add,uchar dat)。 void write_sfm(uchar add,uchar dat)。 void display()。 void keyscan()。 void alarm()。 /******************************************************************/ /* 主函数 */ /******************************************************************/ void main(void) { ini_lcd1602()。 Init_DS18B20()。 Set_RTC()。 //写入时钟值,如果使用备用电池时候,不需要没每次上电写入,此程序应该 屏蔽 while(1) { ReadTemp()。 temp_to_str()。 keyscan()。 if(ReadRTC_Fla。基于单片机的万年历设计课程设计(编辑修改稿)
相关推荐
扫描方式是利用 CPU 完成其他工作的空余时间,调用键盘扫描子程序来检验按键状态,响应键盘输入。 执行键功能程序时, CPU 不再享有 键输入要求,直到 CPU 重新扫描键盘为止。 定时扫描方式 : 定时扫描方式就是每隔一段时间对键盘扫描一次,她利用单片机内部的定时器产生一定时间(如 20ms)的定时,定时时间到产生定时器溢出中断。 CPU 在中断服务程序中键盘进行扫描
去 楼 层若 无 下 行 需 求则 反 向 查 询当 前 楼 层 = 目 的 楼 层 ?延 时 等 待 5 s向 上 查 找 下一 个 要 去 楼 层到 最 顶 层 , 无 按键 需 求 电 梯 下 行无 人 时 电 梯停 留 在 1 楼Y Y Y Y NNNNNY 图 43 选择当前要去楼层子程序流程图 本 设计程序流程图主要包括主程序流程图、启动电梯子程序流程图、选择当前要去楼层子程序流程图
PID 控制器 PID 控制的本质是一个二阶线性控制器。 定义:通过调整比例、积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能。 优点: 1. 技术成熟 中国矿业大学徐海学院 2020 届本科生毕业设计(论文 ) 8 2. 易被人们熟悉和掌握 3. 不需要建立数学模型 4. 控制效果好 5. 鲁棒性 PID 控制器是一种线性的控制器,它根据给定值
的结构设计,参数计算。 用单片机控制的电机交流调速系统设计 调速系统 总体方案设计 转速开环恒压频比的调速系统,虽然结构简单,异步电动机在不同频率小都能获得较硬的机械特性但不能保证必要的调速精度,而且在动态过程中由于不能保持所需的转速,动态性能也很差,它只能用于对调速系统的静,动态性能要求不高的场合。 如果异步电动机能象直流电动机一样,用控制电枢电流的方法来控制转矩
字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作: 0Hz- 24MHz 三级加密程序存储器 2568 字节内部 RAM 32 个可编程 I/ O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述: AT89C52 提供以下标准功能: 8k 字节 Flash 闪速存储器, 256 字节内部 RAM,32 个
/INT1(外部中断 1) TO(记时器 0外部输入) T1(记时器 1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和变成校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间