求51单片机+1602实现红外计数器的显示c程序,附下 数码管程序,现在要用1602显示··· 51单片机红外遥控的程序,在数码管上显示,求大神帮我看下有什...

\u752851\u5355\u7247\u673a\u4eff\u771f\u8ba1\u6570\u5668\uff0c\u7528c\u8bed\u8a00\u5199\u7a0b\u5e8f\uff0cLCD1602\u663e\u793a\uff0c\u5177\u4f53\u8981\u6c42:\u6309\u952e\u6309\u4e0b\u5f00\u59cb\u8ba1\u65f6\uff0c\u6309\u952e\u518d\u6b21\u6309

\u662f\u8ba1\u6570\u5668\uff0c\u8fd8\u65f6\u8ba1\u65f6\u5440\uff1f\u90fd\u8ba1\u4ec0\u4e48\uff1f\u5305\u62ec\u65e5\u671f\u548c\u65f6\u949f\uff1f\u8fd8\u8981\u753b\u4eff\u771f\u56fe\u5417\uff1f\u8fd8\u662f\u5b9e\u7269\uff1f
\u662f\u4e0b\u56fe\u8fd9\u6837\u7684\u5417\uff1f

\u5982\u679c\u9700\u8981\u4eff\u771f\u548c\u7a0b\u5e8f\uff0c\u8bf7\u79c1\u4fe1\u8054\u7cfb\uff0c\u5e76\u6ce8\u660e\u63d0\u95ee\u7684\u9898\u76ee\u3002

\u6570\u7801\u7ba1\u663e\u793a\u4e0d\u4e86\uff0c\u610f\u601d\u662f\uff1a\u663e\u793a\u7684\u6570\u636e\u4e0d\u6b63\u786e\u8fd8\u662f\u6839\u672c\u76f4\u63a5\u5c31\u4e0d\u663e\u793a\u4e1c\u897f\uff1f
\uff081\uff09\u5982\u679c\u662f\u663e\u793a\u4e0d\u6b63\u786e\uff0c\u90a3\u53ef\u80fd\u8ddf\u89e3\u7801\u7ed3\u679c\u6216\u6570\u636e\u4f20\u9001\u6b63\u786e\u4e0e\u5426\u6709\u5173\uff0c\u53ef\u4ee5\u5206\u522b\u53bb\u68c0\u67e5\uff1a\u89e3\u7801\u7ed3\u679c\u4e0d\u6b63\u786e\uff0c\u5148\u68c0\u67e5\u786c\u4ef6\u662f\u5426\u6b63\u786e\uff0c\u6709\u6761\u4ef6\u7684\u8bdd\u53ef\u4ee5\u7528\u793a\u6ce2\u5668\u89c2\u5bdfP32\u7684\u6ce2\u5f62\u662f\u5426\u548c\u539f\u7406\u4e00\u81f4\u3002\u5982\u679c\u6ca1\u95ee\u9898\uff0c\u90a3\u5c31\u68c0\u67e5\u89e3\u7801\u4ee3\u7801\uff0c\u8054\u5408\u4eff\u771f\u5668\u548c\u7ecf\u9a8c\u4e00\u6b65\u4e00\u6b65\u6821\u9a8c\u3002
\uff082\uff09\u5982\u679c\u662f\u6570\u7801\u7ba1\u6839\u672c\u5c31\u4e0d\u663e\u793a\uff0c\u90a3\u4e48\u6211\u53ef\u4ee5\u8ba4\u4e3a\u4f60\u662f\u4e2a\u65b0\u624b\u6216\u8005\u7ecf\u9a8c\u4e0d\u8db3\u3002\u4f60\u4ed4\u7ec6\u770b\u4e00\u4e0b\u4ee3\u7801\uff0c\u6570\u7801\u7ba1\u7528\u7684\u662f\u5171\u9633\u7684\uff08\u5982\u679c\u4f60\u7684\u662f\u5171\u9634\u7684\uff0c\u662f\u6ca1\u529e\u6cd5\u663e\u793a\u6b63\u786e\u7684\u6570\u636e\u7684\uff09\uff0c\u6bb5\u7801\u63a5\u5728P0\uff0c\u4f4d\u7801\u63a5\u5728P2\u3002\u505a\u52a8\u6001\u626b\u63cf\u65f6\uff0c\u7b80\u5355\u7684\u5ef6\u65f6\u4e00\u4e0b\u4e4b\u540e\u76f4\u63a5\u7ee7\u7eed\u8d4b\u6570\u636e\u503c\uff0c\u8fd9\u79cd\u505a\u6cd5\u4e00\u822c\u4e0d\u9f13\u52b1\uff0c\u56e0\u4e3a\u4eba\u662f\u6709\u89c6\u89c9\u6682\u7559\u7684\uff0c\u8fd9\u6837\u53ef\u80fd\u9020\u6210\u91cd\u5f71\uff0c\u4f7f\u5f97\u663e\u793a\u7684\u6570\u636e\u91cd\u53e0\uff0c\u4f8b\u5982\u663e\u793a2\u4e4b\u540e\u76f4\u63a5\u663e\u793a1\uff0c\u90a3\u4e48\u770b\u8d77\u6765\u663e\u793a\u7684\u5c31\u662f3\u3002\u6240\u4ee5\u5e94\u8be5\u5728DISPLAY\u51fd\u6570\u91cc\u9762\u7684\u5ef6\u65f6\u4e4b\u540e\u52a0\u4e00\u4e2aP0=0xFF;\u8fd9\u6837\u4f1a\u597d\u4e00\u70b9\u3002

先定义一下LCD的使能端口一些设置
例如:
sbit LCD_RS = P2^6; //复位端
sbit LCD_RW = P2^5; //写数据端
sbit LCD_EP = P2^7; //使能端
添加读写以及初始化LCD的代码
/****************侧忙函数************************/
BOOL lcd_bz()
{
BOOL result;
LCD_RS = 0;
LCD_RW = 1;
LCD_EP = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (BOOL)(P0 & 0x80); //检测P0最高位是否为1
LCD_EP = 0;
return result;//返回侧忙结果
}

/****************写命令函数************************/
lcd_wcmd(BYTE cmd)
{ // 写入指令数据到LCD
while(lcd_bz());
LCD_RS = 0;
LCD_RW = 0;
LCD_EP = 0;
_nop_();
_nop_();
P0 = cmd; //将8位指令通过P0口传给1602
_nop_();
_nop_(); //用于产生一个脉冲宽度
_nop_();
_nop_();
LCD_EP = 1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EP = 0;
}

lcd_pos(BYTE pos)
{ //设定显示位置
lcd_wcmd(pos | 0x80);
}

/****************写数据函数************************/
lcd_wdat(BYTE dat)
{ //写入字符显示数据到LCD
while(lcd_bz());
LCD_RS = 1;
LCD_RW = 0;
LCD_EP = 0;
P0 = dat; //将8位数据通过P0口传给1602
_nop_();
_nop_(); //用于产生一个脉冲宽度
_nop_();
_nop_();
LCD_EP = 1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EP = 0;
}

lcd_init()
{ //LCD初始化设定
lcd_wcmd(0x38); //16*2显示,5*7点阵,8位数据
delay(1);
lcd_wcmd(0x0c); //显示开,关光标
delay(1);
lcd_wcmd(0x06); //移动光标
delay(1);
lcd_wcmd(0x01); //清除LCD的显示内容
delay(1);
}

添加完之后在main函数中添加初始化LCD的函数
例如
void main(void)
{
BYTE i;
lcd_init();// 初始化LCD
delay(10);
while(1)
{
lcd_wcmd(0x06);//向右移动光标
lcd_pos(0);//设置显示位置为第一行的第1个字符
i = 0;
tt.XX.number = ??; //这边问好表示你需要显示的数据,这样你应该明白怎么做了
//将你的数据赋值给number即可,然后让他显示dis的数据
while(tt.dis1[ i ] != '\0')
{
lcd_wdat(dis1[ i ]);
i++;
delay(30);//控制两字之间显示速度
}
delay(500);//控制两字之间显示速度
lcd_wcmd(0x01);//清除LCD的显示内容

}

}
//程序的定义头文件下写这个,主要是省去数据转换这一环节,让自己代码更加快速转换
typedef union
{
unsigned char dis1[4];
struct
{
int number;
}XX;
}TT;
idata TT tt;
不懂可继续追问,懒得去看你之前写的那些,就给你提供一下方法

1602很简单啊。你首先弄清楚1602的内部驱动是什么芯片?是串口还是并口。然后按照内部驱动的时序设计一个驱动通讯就可以了。

  • 姹傚姪51鍗曠墖鏈 鏄剧ず鍣1602鐨勮緭鍑轰唬鐮
    绛旓細include <string.h>sbit RS=P1^0;sbit RW=P1^1;sbit EN=P1^2;sbit DATA=P2; //瀹氫箟LCD1602绠¤剼void lcd1602_display_str(unsigned char x,bit y,unsigned char dat[]);//x锛氬垪 0-15 y:琛 0-1 dat鍐欏叆鐨勪笢瑗縱oid lcd1602_display_byte(unsigned char x,bit y,unsigned char ascll);...
  • 濡備綍鎶1602鎺ュ叆51鍗曠墖鏈
    绛旓細涓嬮潰鐨勫浘灏辨槸涓涓帴鍙g數璺晩
  • 姹備竴浠51鍗曠墖鏈1602鏃堕挓鐨刢绋嬪簭銆傛渶濂戒笉鐢ㄥ埌ds1302銆備粠閫氱數璁℃椂灏卞彲浠ヤ簡...
    绛旓細bit busy1602(){ bit busy=0;lcd1602=0xff;rs=0;rw=1;e=1;e=1;busy=BF;e=0;return busy;} void xml(uchar ml){ while(busy1602());rs=0;rw=0;lcd1602=ml;e=1;e=0;} void xsj(uchar sj){ while(busy1602());rs=1;rw=0;lcd1602=sj;e=1;e=0;} void init1602(){ xml...
  • 51鍗曠墖鏈缂栧啓lcd1602鏄剧ず绋嬪簭,绗竴琛屾樉绀鸿嚜宸辩殑濮撳悕,绗簩琛屾樉绀哄鍙穇鐧...
    绛旓細2銆佸鍏51鍗曠墖鏈鐨勫ご鏂囦欢浠ュ強LCD1602鐨勫ご鏂囦欢銆3銆佸垱寤轰竴涓欢鏃跺嚱鏁帮紝鍙互浼犲叆鎯宠鍏蜂綋寤舵椂鐨勬椂闀匡紝鍏跺唴閮瀹炵幇鏄敱涓涓簩閲嶅惊鐜紝涓や釜寰幆鐨勬鏁扮浉涔樼Н銆4銆佺劧鍚庡垱寤哄啓鍛戒护鐨勫嚱鏁帮紝鎸囧畾RS鍜孍鍚屾椂涓0鏃讹紝鎵嶅彲浠ュ啓鍏ュ懡浠わ紝璁惧畾瀹屾垚鍚庯紝灏哻om鍐欏叆杈撳嚭绔彛锛岃瀹氬啓鍛戒护鏃讹紝E涓烘鑴夊啿锛岀劧鍚庣┖鎿嶄綔涓涓満鍣ㄥ懆鏈...
  • hot51鍗曠墖鏈寮鍙戞澘涓1602娑叉櫠鏄剧ず鏄庢牱杩炴帴鐨
    绛旓細浣跨敤STC鐨凱1鍙e拰P2鍙 涓1602娑叉櫠杩炴帴锛1锛孒OT51寮鍙戞澘浣跨敤鐨勬槸STC8051CPU锛屽叿澶囧畬鏁寸殑P0,P1,P2鍙e姛鑳斤紱2锛1602娑叉櫠浣跨敤8浣嶆暟鎹嚎锛孍,RW,RS,鍒嗗埆杩炴帴鍏崇郴涓猴細8浣嶆暟鎹嚎鎺1鍙o紝E 鎺 P2.0锛孯W锛屾帴P2.1锛孯S鎺2.2锛3锛屽弬鑰1602鐨勬搷浣滄墜鍐岋紝鍗冲彲鍋氬嚭椹卞姩绋嬪簭銆
  • 姹51鍗曠墖鏈鐨勭畝鍗曞紑鍙戦」鐩
    绛旓細姣斿閿洏杈撳叆,鏈堿D妯℃暟鏂瑰紡,璺濋樀鎵弿鏂瑰紡,鐩存帴鎺ョ鍙e拰鍦版柟寮,涓插彛鎵╁苟鍙h緭鍏ユ柟寮,绛夌瓑,鏄剧ず涔熷姝,闈欐,鍔ㄦ,绛夊绉嶆柟娉曞幓瀹炵幇,鐔熺粌浜嗚繖浜涘瓙绋嬪簭,浠ュ悗寮鍙戦」鐩嬁鍑烘潵鐩存帴浣跨敤灏卞彲浠ヤ簡, (鏈変簺闇淇敼涓鐐瑰効),寤虹珛涓涓瓙绋嬪簭搴!澶囨棩鍚庝箣闇!杩欐椂鍊欎綘浼氬彂鐜鍗曠墖鏈涔熶笉杩囧姝よ交鏄撳氨鍙互鐜╄浆!
  • 鍩轰簬51鍗曠墖鏈,DS1302,1602瀹炵幇涓囧勾鍘(骞存湀鏃ユ椂鍒嗙)鍙婇椆閽熷姛鑳界殑C绋嬪簭...
    绛旓細[2]鍗曠墖鏈鸿闊虫姤鏃剁數瀛愯〃 鍔熻兘鎻忚堪锛1銆佹寜閿皟璇曡缃椆閽 2銆佸甫澶囩敤鐢垫睜锛堟柇鐢电户缁蛋鏃讹級3銆佹暣鐐硅闊虫姤鏃 鈽嗗凡浣滃嚭鐨勫疄鐗╀紭閰疯棰戞紨绀哄湴鍧锛歨ttp://v.youku.com/v_show/id_XMTQ3OTMwMjM0OA==.html [3]鍗曠墖鏈虹孩澶閬ユ帶鐢靛瓙琛ㄨ闊虫姤鏃惰闊虫挱鎶ユ俯婀垮害 鍔熻兘鎻忚堪锛1銆佺孩澶栭仴鎺ц皟鏃堕棿璁惧畾闂归挓 2銆佸甫澶囩敤...
  • 鎴戦渶瑕佷竴涓や釜MCS-51鍗曠墖鏈寮鍙戞澘娑叉櫠1602鐨勬樉绀虹▼搴!!璋㈣阿!鍒氬叆闂!鎵浠...
    绛旓細//1602娑叉櫠灞忔樉绀 //鏄剧ず缁撴灉锛189 //鍏綅鏁版嵁鍙f帴p1 include <stc12c2052ad.h> define uint unsigned int define uchar unsigned char sbit rs=P3^4;sbit e=P3^5;uchar a[]="0123456789";uchar i;uchar num;void delay (uint z){ uint x,y;for(x=z;x>0;x--)for(y=600;y>0;y...
  • 51鍗曠墖鏈涓,鏈夊叧1602鏄剧ず,鍜屼覆鍙i氫俊闂,姹傚ぇ绁炴寚鐐孤仿仿
    绛旓細LCD1602鏄剧ず涓枃瀛楃鈥滃鍚嶏細寮犲北鈥濓紝浣犱笉鑳姐--- 缁勬垚鍑犱釜5 * 8鐐归樀鏄剧ず鍚勭鍥惧舰锛屽啋鍏呭瓧绗︼紝杩欎簺瀛楃鏄剧ず涓嶆纭殑鍒椼傚摝锛屾妸杩欎釜浣滀负涓绉嶆柟娉曟潵鏄剧ず涓浗鏂囧瓧锛屽彧鏄负浜嗘楠楀瀛愩12864鍙互鏄剧ず---鏄16 * 16鐐归樀瀛楃锛岃繖鍙互琚涓烘槸鏍囧噯瀛楃銆備絾鏄1602鏄揪涓嶅埌杩欎釜姘村钩锛屽彧鑳芥樉绀轰竴浜涚畝鍗曠殑鑷垜绗﹀彿锛...
  • 51鍗曠墖鏈瀛楃娑叉櫠灞(LMC1602)杈撳嚭绔疪S,RW杩樻湁E鍒嗗埆閮芥湁浠涔堜綔鐢?_鐧惧害...
    绛旓細51鍗曠墖鏈瀛楃娑叉櫠灞(LMC1602)杈撳嚭绔疪S浣滅敤鏄瓨鏀炬帶鍒朵俊鎭紝浣撶幇褰撳墠鎸囦护鎵ц瀵勫瓨鍣ㄧ粨鏋滅殑鍚勭鐘舵佷俊鎭紝楂樼數骞1鏃堕夋嫨鏁版嵁瀵勫瓨鍣ㄣ佷綆鐢靛钩0鏃堕夋嫨鎸囦护瀵勫瓨鍣ㄣ51鍗曠墖鏈哄瓧绗︽恫鏅跺睆(LMC1602)杈撳嚭绔疪W浣滅敤鏄鍐欎俊鍙凤紝楂樼數骞1鏃惰繘琛岃鎿嶄綔銆51鍗曠墖鏈哄瓧绗︽恫鏅跺睆(LMC1602)杈撳嚭绔疎浣滅敤鏄綔涓鸿緭鍏ュ紩鑴氾紝鍙湁璇ュ紩鑴氭縺娲...
  • 扩展阅读:51单片机简易电子钟 ... 基于51单片机的电子钟 ... 51单片机精确延时1秒 ... lcd1602接51单片机 ... 51单片机编程对照表 ... 单片机芯片 ... 51单片机1602显示数字 ... 51单片机高级案例 ... 51单片机1602液晶计算器 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网