堪的拼音-英国士兵
#include
#include
#define uchar unsigned
char
#define uint unsigned int
#define
LCD_IO P2
sbit KK1 = P3^2; 按键输入;
sbit
KK2 = P3^3; 按键输入;
sbit LCD_RS = P3^5;
sbit LCD_RW = P3^6;
sbit LCD_EN = P3^7;
uchar code LCD_line1[] =
int idata
mydata=0;
************************************
**************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x
(延时一毫秒的个数)
* 输出 : 无
********************
*******************************************
void Delay_1ms(uint x)
{
uchar i, j;
for(i = 0; i <
x; i++) for(j = 0; j <= 148; j++);
}
************************************************
**************
* 名称 : lcd_bz( )
* 功能 :
测试忙碌子程序
* 输入 : 无
* 输出 : result
******
**************************************************
*******
bit lcd_bz()
{
bit result;
LCD_RS = 0;
LCD_RW = 0;
LCD_EN = 0;
_nop_();
_nop_();
_nop_();
_nop_();
result=(bit)(P3&0x80);
LCD_EN = 0;
return result;
}
*******
**************************************************
*****
* 名称 : W_LCD_Com( )
* 功能 : 写指令子程序
* 输入 : com
* 输出 : 无
****************
***********************************************
void W_LCD_Com(uchar com)
{
while(lcd_bz());
LCD_RS = 0;
LCD_RW=0; LCD_EN = 0; LCD_RS和RW同时为低电平时,可以写入指
令
LCD_IO = com; Delay_1ms(5);
下面用EN输入一个高脉冲
LCD_EN = 1; Delay_1ms(5);
LCD_EN = 0;
}
***********************
***************************************
* 名称
: W_LCD_Dat( )
* 功能 : 写数据子程序
* 输入 : dat
* 输出 : 无
********************************
*******************************
void
W_LCD_Dat(uchar dat)
{
while(lcd_bz());
LCD_RS = 1;
LCD_RW=0;LCD_EN = 0; LCD_RS为高,LCD_RW为低时,可以写入数据
LCD_IO = dat; Delay_1ms(5);
下面用EN输入一个高脉冲
LCD_EN = 1; Delay_1ms(5);
LCD_EN = 0;
}
***********************
***************************************
* 名称
: W_LCD_STR( )
* 功能 : 写字符串子程序
* 输入 : *s
* 输出 : 无
********************************
*******************************
void
W_LCD_STR(uchar *s)
{
while(*s > 0) {W_LCD_Dat(*s);
s++;}
}
*****************************
*********************************
* 名称 :
LCD_cursor( )
* 功能 : 设置光标位置子程序
* 输入 : pos
* 输出 : 无
***************
************************************************
void LCD_cursor(uchar pos)
LCD光标定位到处
{
W_LCD_Com(pos+0x80);
第一行地址是0x80
}
************************
**************************************
* 名称 :
initial( )
* 功能 : 初始化子程序
* 输入 : 无
*
输出 : 无
* 指令 :#define LCD_AC_AUTO_INCREMENT
0x06 数据读、写操作后,AC自动增一
#define
LCD_DISPLAY_ON 0x0C 显示开
#define LCD_DISPLAY_DOUBLE_LINE 0x38 两行显示
*************************************************
**************
void initial()
{
W_LCD_Com(0x06|0x04);
W_LCD_Com(0x0c|0x08);
W_LCD_Com(0x38);
W_LCD_STR(LCD_line1);
}
*******
**************************************************
*****
* 名称 : Main()
* 功能 : 主函数
****
**************************************************
*********
void main()
{
bit flag;
uchar temp;
uchar pos;
Delay_1ms(10)
initial();
while(1){
pos=0x4f;
if(mydata>255)
mydata=0;
else if(mydata<0)
mydata=255;
if(mydata>127)
把mydata当做-128~127的有符号数来显示
{
flag=1;
temp=256-mydata;
}
else {temp=mydata;flag=0;}
LCD_cursor(pos);
W_LCD_Dat((temp%10)+'0');
pos--;光标左移(其实光标不显示,只是为了输出高位)
Delay_1ms(10);
if(temp100 ||
temp10)
{
LCD_cursor(pos);
W_LCD_Dat((temp10)%10+'0');
pos--;
}
Delay_1ms(10);
if(temp100)
{
LCD_cursor(pos);
W_LCD_Dat((temp100)%10+'0');
pos--;
}
if(flag)
{
LCD_cursor(pos);
W_LCD_Dat('-');负号
}
else
{ LCD_cursor(pos);
W_LCD_Dat(' ');清除负号(空格代替)
}
if(!KK1)
{
while(KK2);
while(!KK2);
mydata++;
}
else if(!KK2)
{
while(KK1);
while(!KK1);
mydata--;
}
}
}
单纯的意思-好看的英文名字
碗英语-插的拼音怎么写
芧怎么读-贵族血统
中央的反义词是什么-lister
underscore-商业本票
六下英语书人教版-11月英文
嗪怎么读-让我们的英文
nurse什么意思-戻
-
上一篇:本人整理过-杭州市20所重点初中排名,按顺序排列
下一篇:二十四节气的顺序