资源简介
扬州大学电气工程专业单片机课程设计包含仿真代码,是往届的遗产,且用且珍惜
代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
#define KEY_IO P3
#define LCD_IO P0
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;
sbit LED = P2^4;
bit new_s modify = 0;
char t0 sec = 50 min = 59 hour = 23;
char code LCD_line1[] = “Designed by xuli“;
char code LCD_line2[] = “ Time: 00:00:00 “;
char Timer_buf[] = “23:59:50“;
//---------------------------------------------------
void delay(uint z)
{
uint
x y;
for(x = z; x > 0; x--)
for(y = 100; y > 0; y--);
}
//---------------------------------------------------
void W_LCD_Com(uchar com) //写指令
{
LCD_RS = 0;
LCD_IO = com; // LCD_RS和R/W都为低电平时,写入指令
LCD_EN = 1;
delay(5); LCD_EN = 0; //用EN输入一个高脉冲
}
//---------------------------------------------------
void W_LCD_Dat(uchar dat) //写数据
{
LCD_RS = 1;
LCD_IO = dat; // LCD_RS为高、R/W为低时,写入数据
LCD_EN = 1;
delay(5); LCD_EN = 0; //用EN输入一个高脉冲
}
//---------------------------------------------------
void W_LCD_STR(uchar *s) //写字符串
{
while(*s)
W_LCD_Dat(*s++);
}
//---------------------------------------------------
void W_BUFF(void) //填写显示缓冲区
{
Timer_buf[7] = sec % 10 + 48; Timer_buf[6] = sec / 10 + 48;
Timer_buf[4] = min % 10 + 48; Timer_buf[3] = min / 10 + 48;
Timer_buf[1] = hour % 10 + 48;Timer_buf[0] = hour / 10 + 48;
W_LCD_Com(0xc0 + 7); W_LCD_STR(Timer_buf);
}
//---------------------------------------------------
uchar read_key(void)
{
uchar
x1 x2;
KEY_IO = 255;
x1 = KEY_IO;
if (x1 != 255) {
delay(100);
x2 = KEY_IO;
if (x1 != x2)
return 255;
while(x2 != 255) x2 = KEY_IO;
if
(x1 == 0x7f)
return 0;
else if (x1 == 0xbf)
return 1;
else if (x1 == 0xdf)
return 2;
else if (x1 == 0xef)
return 3;
else if (x1 == 0xf7)
return 4;
}
return 255;
}
//---------------------------------------------------
void Init()
{
LCD_RW = 0;
W_LCD_Com(0x38); delay(50);
W_LCD_Com(0x0c);
W_LCD_Com(0x06);
W_LCD_Com(0x01);
W_LCD_Com(0x80); W_LCD_STR(LCD_line1);
W_LCD_Com(0xC0); W_LCD_STR(LCD_line2);
TMOD = 0x01; //T0定时方式1
TH0 = 0x4c;
TR0 = 1; //启动T0
PT0 = 1; //高优先级 以保证定时精度
ET0 = 1;
EA = 1;
}
//---------------------------------------------------
void main()
{
uint i j;
uchar Key;
Init();
while(1)
{
//-------------------------------
if (new_s) { //如果出现了新的一秒 修改时间
new_s = 0;
sec++;
sec %= 60;
if(!sec)
{
min++;
min %= 60;
if(!min)
{ hour++; hour %= 24;}
}
W_BUFF(); //写显示
//-------------------------------
}
//-------------------------------
Key = read_key(); //读出按键
switch(Key) { //分别处理四个按键
case
0: modify = 1; break;
case
1: if(modify) {min++; min %= 60; W_BUFF(); break;}
case
2: if(modify) {hour++; hour %= 24; W_BUFF(); break;}
case
3: modify = 0; break;
} }
}
//---------------------------------------------------
void timer0(void) interrupt 1
//T0中断函数 50ms执行一次
{
TH0 = 0x4c;
t0++; t0 %= 2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\121303137 杨帅\
文件 11935583 2015-06-24 13:54 电气1201 单片机课程设计\121303137 杨帅\单片机课程设计杨帅121303137.doc
文件 64512 2015-06-24 12:26 电气1201 单片机课程设计\121303137 杨帅\原理图.doc
文件 35840 2015-06-23 23:09 电气1201 单片机课程设计\121303137 杨帅\程序清单.doc
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\121401114 陶桃\
文件 419829 2015-06-23 23:36 电气1201 单片机课程设计\121401114 陶桃\智能电子钟.doc
文件 105785 2015-06-23 23:38 电气1201 单片机课程设计\121401114 陶桃\智能电子钟.DSN
文件 7606 2015-06-23 23:38 电气1201 单片机课程设计\121401114 陶桃\源程序.txt
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\121703102陈宏源\
文件 50920807 2015-06-23 18:53 电气1201 单片机课程设计\121703102陈宏源\121703102陈宏源.doc
文件 9502 2015-06-23 18:57 电气1201 单片机课程设计\121703102陈宏源\程序.txt
文件 106199 2015-06-10 10:24 电气1201 单片机课程设计\121703102陈宏源\软件仿真.DSN
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\121703110 倪禛霖\
文件 249251 2015-06-23 14:41 电气1201 单片机课程设计\121703110 倪禛霖\121703110 倪禛霖.docx
文件 82049 2015-06-11 17:48 电气1201 单片机课程设计\121703110 倪禛霖\222.DSN
文件 2107 2015-06-24 08:26 电气1201 单片机课程设计\121703110 倪禛霖\数字电压表.ASM
目录 0 2017-05-25 21:25 电气1201 单片机课程设计\121703116 王珂\
文件 231936 2015-06-24 00:08 电气1201 单片机课程设计\121703116 王珂\王珂步进电机控制protues仿真.doc
文件 60928 2015-06-23 23:48 电气1201 单片机课程设计\121703116 王珂\王珂步进电机控制程序.doc
文件 3073024 2015-06-24 00:57 电气1201 单片机课程设计\121703116 王珂\王珂步进电机控制设计报告.doc
目录 0 2015-11-29 15:26 电气1201 单片机课程设计\121703121徐历\
文件 7655 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11
文件 3194 2015-06-11 09:51 电气1201 单片机课程设计\121703121徐历\11.c
文件 2405 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11.hex
文件 21 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11.lnp
文件 6311 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11.LST
文件 10744 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11.M51
文件 8940 2015-06-11 09:53 电气1201 单片机课程设计\121703121徐历\11.OBJ
文件 629 2015-06-11 09:56 电气1201 单片机课程设计\121703121徐历\11.plg
文件 55214 2015-06-11 09:56 电气1201 单片机课程设计\121703121徐历\11.uvopt
............此处省略500个文件信息
- 上一篇:简约清新-极简主义风格PPT模板50套
- 下一篇:有道云笔记 记录,成为更好的自己
相关资源
- AVR单片机嵌入式系统原理与应用实践
- 基于51单片机的智能晾衣架系统
- 英飞凌多核单片机应用技术--AURIX三天
- AS608指纹识别模块
- 基于单片机的无线病房呼叫系统设计
- [单片微机原理与接口技术——基于
- [单片机原理及应用——基于Proteus和
- 基于51单片机12864液晶屏的贪吃蛇游戏
- 基于单片机的汽车无线防盗报警装置
- 基于51单片机的电子琴
- 单片机汇编讲义.rar
- 基于单片机的光功率计的设计
- 基于单片机的无线红外防盗报警系统
- 基于单片机的全自动洗衣机自动控制
- 单片机LED音乐频谱设计
- 课程设计——二级圆柱齿轮减速器设
- PIC单片机的AD转换程序并含串口发送程
- 电子时钟微机原理课程设计报告
- 51单片机点阵屏贪吃蛇
- 单片机原理及应用试题库-
- 基于单片机的多点无线温湿度采集装
- 基于单片机的无线防丢报警器设计
- 51单片机密码锁.zip
- 解析IP数据包网路协议分析课程设计
- 爱上单片机第4版配套资料.zip
- 数据库课程设计\\网上购物商场系统需
- 蓝桥杯单片机组国一复习资料
- 单片机控制ESP8266点亮LED小灯
- STM32CubeMX v4.27.0版本软件2018年10月最新
- 程序设计方法学课程设计---RPG游戏
评论
共有 条评论