久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3032|回復(fù): 9
收起左側(cè)

求助!想請(qǐng)教大家單片機(jī)+lcd連續(xù)顯示的問(wèn)題

[復(fù)制鏈接]
ID:630579 發(fā)表于 2019-12-10 22:59 | 顯示全部樓層 |閱讀模式
200黑幣
大家好!我做了一個(gè)舵機(jī)角度的代碼,其中有uint value[]={1500,1000,1500,2000,1500};
uint ms[]={0,45,0,45,0};
。。。。。。
        for(i=0;i<5;i++)                {
                        pwm_value=value;//通過(guò)數(shù)組就可以改變舵機(jī)的轉(zhuǎn)角度
                        delay_ms(1000);
       }
想要在lcd上隨著這個(gè)循環(huán)連續(xù)顯示數(shù)組ms里的數(shù),怎么改呢?
我讀51單片機(jī)實(shí)戰(zhàn)指南這本書上面,都是直接顯示一個(gè)數(shù)組,不會(huì)舉一反三了。想請(qǐng)問(wèn)大家。




最佳答案

查看完整內(nèi)容

按你的要求給你寫一個(gè)示例+仿真,有詳細(xì)注釋,看懂后就可以隨心所欲的顯示各種字符。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2019-12-10 22:59 | 顯示全部樓層
按你的要求給你寫一個(gè)示例+仿真,有詳細(xì)注釋,看懂后就可以隨心所欲的顯示各種字符。 無(wú)標(biāo)題.jpg
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit LCD_RS=P3^5;                                //液晶屏RS口  寫指令低,寫數(shù)據(jù)高
  5. sbit LCD_EN=P3^4;                                //液晶屏EN口  高脈沖使能寫指令/數(shù)據(jù),低跳變執(zhí)行

  6. uint value[]={1500,1000,1500,2000,1500};
  7. uint ms[]={0,45,0,45,0};
  8. uint pwm_value;
  9. /*******100us延時(shí)程序********/
  10. void delay(uint x)
  11. {
  12.         uint a,b;
  13.         for(a=x;a>0;a--)
  14.                 for(b=10;b>0;b--);
  15. }
  16. /*******1ms延時(shí)程序********/
  17. void delay_ms(uint x)
  18. {
  19.         uint a,b;
  20.         for(a=x;a>0;a--)
  21.                 for(b=125;b>0;b--);
  22. }
  23. /*******液晶寫指令程序********/
  24. void write_com(uchar com)
  25. {
  26.         LCD_EN=0;        //初始設(shè)置LCD_EN低電平
  27.         LCD_RS=0;        //允許寫指令
  28.         P0=com;                //傳遞指令
  29.         delay(10);        //延時(shí)1ms
  30.         LCD_EN=1;        //使能寫入
  31.         delay(10);        //延時(shí)1ms
  32.         LCD_EN=0;        //低跳變執(zhí)行
  33.        
  34. }
  35. /*******液晶寫數(shù)據(jù)程序********/
  36. void write_date(uchar date)
  37. {
  38. //        LCD_EN=0;        //初始設(shè)置LCD_EN低電平
  39.         LCD_RS=1;        //允許寫數(shù)據(jù)
  40.         P0 =date;        //傳遞數(shù)據(jù)
  41.         delay(10);        //延時(shí)1ms
  42.         LCD_EN=1;        //使能寫入
  43.         delay(10);        //延時(shí)1ms
  44.         LCD_EN=0;        //低跳變執(zhí)行
  45.        
  46. }
  47. /*******液晶初始化程序********/
  48. void init()                //設(shè)置顯示模式、
  49. {
  50.         write_com(0x38);//設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口
  51.         write_com(0x01);//顯示清零,數(shù)據(jù)指針清零
  52.         write_com(0x0c);//設(shè)置開(kāi)顯示,不顯光標(biāo)
  53.         write_com(0x06);//設(shè)置寫一個(gè)字符后地址指針加1
  54. }
  55. /**********************主程序*************************/
  56. void main()
  57. {
  58.         uchar i;                                        //定義循環(huán)變量
  59.         init();                                        //初始化LCD程序
  60.         for(i=0;i<5;i++)
  61.         {
  62.                 pwm_value=value[i];//通過(guò)數(shù)組就可以改變舵機(jī)的轉(zhuǎn)角度

  63.                 write_com(0x80);//LCD1602的第一行第0位置起
  64.                 write_date(value[i]/1000%10+'0');//LCD顯示數(shù)據(jù)的千位
  65.                 write_date(value[i]/100%10+'0');//LCD顯示數(shù)據(jù)的百位
  66.                 write_date(value[i]/10%10+'0');//LCD顯示數(shù)據(jù)的十位
  67.                 write_date(value[i]%10+'0');//LCD顯示數(shù)據(jù)的個(gè)位

  68.                 write_com(0xc0+i*3);//LCD1602的第二行第0位置起,每次+3格
  69.                 write_date(ms[i]/10+'0');//LCD顯示數(shù)據(jù)的十位
  70.                 write_date(ms[i]%10+'0');//LCD顯示數(shù)據(jù)的個(gè)位
  71.                 delay_ms(1000);
  72.         }
  73.         while(1);
  74. }
復(fù)制代碼





回復(fù)

使用道具 舉報(bào)

ID:470332 發(fā)表于 2019-12-11 08:56 | 顯示全部樓層
你把數(shù)組里的數(shù)一個(gè)一個(gè)的送到顯示不就可以嗎,每次循環(huán)完后數(shù)組下標(biāo)在從0開(kāi)始
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 09:44 | 顯示全部樓層
moluxiyan 發(fā)表于 2019-12-11 08:56
你把數(shù)組里的數(shù)一個(gè)一個(gè)的送到顯示不就可以嗎,每次循環(huán)完后數(shù)組下標(biāo)在從0開(kāi)始

大佬,可以麻煩你一下能用代碼寫一兩行嗎?隨著循環(huán)顯示lcd
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 09:46 | 顯示全部樓層
moluxiyan 發(fā)表于 2019-12-11 08:56
你把數(shù)組里的數(shù)一個(gè)一個(gè)的送到顯示不就可以嗎,每次循環(huán)完后數(shù)組下標(biāo)在從0開(kāi)始

那個(gè)數(shù)組里面的數(shù)還要再加一些的,怕這樣單個(gè)單個(gè)顯示會(huì)讓整個(gè)代碼冗長(zhǎng)。
回復(fù)

使用道具 舉報(bào)

ID:470332 發(fā)表于 2019-12-11 11:20 | 顯示全部樓層
一個(gè)杰 發(fā)表于 2019-12-11 09:44
大佬,可以麻煩你一下能用代碼寫一兩行嗎?隨著循環(huán)顯示lcd

for(i=0;i<5;i++)               
{
            pwm_value=value;//通過(guò)數(shù)組就可以改變舵機(jī)的轉(zhuǎn)角度
            delay_ms(1000);
            顯示(ms);
  }
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 14:39 | 顯示全部樓層
wulin 發(fā)表于 2019-12-11 13:30
按你的要求給你寫一個(gè)示例+仿真,有詳細(xì)注釋,看懂后就可以隨心所欲的顯示各種字符。

大佬,是運(yùn)行1500的時(shí)候,舵機(jī)轉(zhuǎn)0度,同時(shí)在lcd上顯示0度,然后運(yùn)行1000,舵機(jī)轉(zhuǎn)45度,同時(shí)在lcd上顯示45度等等。每運(yùn)行一次lcd顯示一個(gè)角度。再改一下就完美了。感謝感謝!
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 14:39 | 顯示全部樓層

這個(gè)之前也想到過(guò),但是感覺(jué)不太行。
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 14:52 | 顯示全部樓層
wulin 發(fā)表于 2019-12-10 22:59
按你的要求給你寫一個(gè)示例+仿真,有詳細(xì)注釋,看懂后就可以隨心所欲的顯示各種字符。

對(duì)的對(duì)的!感謝
回復(fù)

使用道具 舉報(bào)

ID:630579 發(fā)表于 2019-12-11 16:14 | 顯示全部樓層
wulin 發(fā)表于 2019-12-10 22:59
按你的要求給你寫一個(gè)示例+仿真,有詳細(xì)注釋,看懂后就可以隨心所欲的顯示各種字符。

大佬,我按照你的方法弄出來(lái)了,但是LCD上本該顯示數(shù)字的地方顯示四條橫線,第二條橫線隨著循環(huán)在動(dòng),請(qǐng)問(wèn)你知道啥意思嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产馆在线真实露脸 | 国产精品美女一区二区三区 | 国产精品黄色 | 天天干狠狠 | 日本精品视频一区二区三区四区 | 欧美视频在线播放 | www.v888av.com| 日韩在线视频免费观看 | 视频在线日韩 | 精品美女久久久 | 91中文字幕 | 国产精品第2页 | www.欧美视频 | 亚洲精品视频在线 | 日韩视频在线一区 | 久久久做| 国产成人免费在线 | 欧美中文一区 | 中文字字幕一区二区三区四区五区 | 国产视频在线观看一区二区三区 | 欧美精品网 | 久久精品成人 | 亚洲精品视频导航 | 亚洲精品视频在线 | 精品粉嫩aⅴ一区二区三区四区 | 亚洲精品视频一区二区三区 | 成人在线一区二区 | 国产精品人人做人人爽 | 一区二区三区免费 | 亚洲精精品| 伊人国产精品 | 99精品久久久久 | 中文字幕不卡视频在线观看 | 成人一区二区三区 | 老司机精品福利视频 | 日韩一区二区在线观看 | 81精品国产乱码久久久久久 | 天天天天天操 | 狠狠躁躁夜夜躁波多野结依 | 中文字幕av一区二区三区 | 日韩在线免费视频 |