新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机按键抢答器程序

51单片机按键抢答器程序

作者:时间:2016-12-01来源:网络收藏
本程序由好几个头文件组成,都在下面,你可以复制代码并保存为独立的文件

头文件STC12C5A.H下载:http://www.51hei.com/mcu/2564.html

本文引用地址://m.amcfsurvey.com/article/201612/324577.htm

#include
#include "stdio.h"
#include "LCD1602.h"
#include "interrupt.h"
#include "chiclet_keyboard.h"
#define uchar unsigned char
#define uint unsigned int
void main()
{
delay(500);
LCD_init();
interrupts_init();
chiclet_keyboard_();
EA=0;
while(1);
}

#ifndef _LCD1602_H
#define _LCD1602_H
/*
单片机:STC89CXX,晶体: 12M 编译:KEIL uVision4
LCD1602命令代码:
代码 说明
1 清除显示
2 光标复位
输入模式选择:
X 0000 01(I/D)S
I/D:光标移动方向,1右移,0左移
S:屏幕文字是否移动.1移动.
显示开/关控制:
X 0000 1DCB
D:整体显示开关,1为开
C:光标开关,1为开
B:光标闪烁,1为闪烁
光标或字符移位:
X 0001 (S/C)(R/L)**
S/C: 1时移动文字,0时移动光标
R/L:1为右移,0为左移
功能设置:
X 001(DL) NF**
DL:1为8线模式,0为4线模式
N: 0为单行显示,1为2行显示
F: 0为5X7字符,1为5X10字符
字符地址:
X 01xx xxxx
xxxxx:对应的ASCII地址
显示地址:
X 1xxx xxxx
xxx xxxx:屏幕显示地址
内部显示和屏幕的地址对应注明:
00--0x0F 对应屏幕第一行,00--0x27内部第一行
0x40--0x4F对应屏幕第二行,0x40--0x67内部第二行
*/
#define uchar unsigned char
#define uint unsigned int
//定义硬件接口
#define LCD_DATA P0
sbit LCD_EN=P2^5;
sbit LCD_RS=P2^3;
sbit LCD_RW=P2^4;
/**********************************************
函数名称:
函数功能:
函数调用:
输入参数:
输出参数:
版权信息:
时间版本: V1.0
***********************************************/
/**********************************************
函数名称: delay_ms(uint num)
函数功能: 延时
函数调用:
输入参数: ms
输出参数:
版权信息:
时间版本: V1.0
备注:晶体:12M
***********************************************/
void delay_ms(uint temp)
{
uint x,y;
for(x=temp;x>0;x--)
for(y=110;y>0;y--);
}
/**********************************************
函数名称: write_com(uchar com)
函数功能: 写命令
函数调用: delay_ms(uint num)
输入参数: 命令代码
输出参数:
版权信息:
时间版本: V1.0
***********************************************/
void LCD_w_com(uchar com)
{
LCD_RS=0;
LCD_RW=0;
LCD_DATA=com;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}


上一页 1 2 下一页

评论


技术专区

关闭