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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3846|回復: 2
收起左側

TLC2543的單片機驅動程序 lcd1602顯示

[復制鏈接]
ID:161768 發表于 2017-8-5 03:47 | 顯示全部樓層 |閱讀模式
TLC2543是德州儀器公司生產的12位開關電容型逐次逼近模數轉換器
TLC2543的中文資料下載:http://www.zg4o1577.cn/chip/4009.html
221444og6g3jk2z4jkptr6.png
51單片機驅動程序如下:
  1. #include"TLC2543.h"

  2. void delay0(uint i)
  3. {
  4.         while(i--);
  5. }


  6. uint Read_AD_Data(uchar cmd)          //tlc2543 AD轉換 ,cmd為命令指令(高四位選通11路通道,D3D2選擇一次需要時鐘數,D1低電平為高位優先,D0低電平為無極性輸出)
  7. {
  8.         uchar i;
  9.         uint dat=0;
  10.         clk=0;
  11.         cs=0;
  12.         for(i=0;i++;i<12)
  13.         {
  14.                
  15.                 if(sdo) dat|=0x01;                 //dat存放輸出碼,高位開始
  16.             sdi=(bit)(cmd&0x80);         //從高位開始一個時鐘輸入一位命令
  17.             clk=1;                                         //創建時鐘下降沿
  18.             clk=0;
  19.                 cmd<<=1;
  20.             dat<<=1;
  21.         }
  22.         cs=1;
  23.         delay0(300);
  24.         cs=0;
  25.         for(i=0;i<12;i++)
  26.         {
  27.                
  28.                 if(sdo) dat|=0x01;
  29.             sdi=(bit)(cmd&0x80);
  30.             clk=1;
  31.             clk=0;
  32.                 cmd<<=1;
  33.             dat<<=1;
  34.         }
  35.         cs=1;
  36.         dat>>=1;
  37.         return dat;
  38. }
復制代碼
lcd1602顯示液晶屏顯示驅動:
  1. #include"lcd.h"
  2. uchar code tab[]=" 2017-5-7 SUN";        //存放在程序存儲區(如flash)中的,只有在燒寫程序時,才能改變tab中的各元素的值
  3. uchar code tab1[]="  23-59-55";
  4. void LcdDelay(uint c)
  5. {               
  6.         uchar i;
  7.         while(c--)
  8.         {
  9.                 for(i=0;i++;i<110);
  10.         }
  11. }
  12. void LcdWriteCom(uchar com)
  13. {
  14.         e=0;
  15.         rs=0;
  16.         rw=0;
  17.         PS=com;
  18.         LcdDelay(5);
  19.         e=1;
  20.         LcdDelay(5);
  21.         e=0;
  22. }
  23. void LcdWriteData(uchar date)
  24. {
  25.           e=0;
  26.         rs=1;
  27.         rw=0;
  28.         PS=date;
  29.         LcdDelay(5);
  30.         e=1;
  31.         LcdDelay(5);
  32.         e=0;
  33. }
  34. void LcdInit()
  35. {
  36.         uchar num;   
  37.            LcdWriteCom(0x38);           //4位總線雙行顯示低5*7點陣字符,指令6:00111000(001+DL+N+F+**)DL:高4位總線,低8位;N:高雙行顯示,低單行;F:低5*7點陣字符,高5*10
  38.            LcdWriteCom(0x0c);           //整體顯示開、光標關、光標不閃爍,指令4:0000+1DCB顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。
  39.            LcdWriteCom(0x06);           //光標右移、屏幕上所有文字不左移或者右移,指令3:00000+1+I/D+B光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。
  40.            LcdWriteCom(0x01);           //指令1:清顯示
  41.            LcdWriteCom(0x80);           //指令8:DDRAM地址設置1+00000000(數據存儲地址)
  42.            for(num=0;num<13;num++)
  43.     {
  44.                     LcdWriteData(tab[num]);  //顯示數據tab:年月日
  45.                     LcdDelay(5);
  46.         }
  47.         LcdWriteCom(0x80+0x40);        //1+1000000液晶屏的數據指針移到第二行第一個字處
  48.         for(num=0;num<10;num++)
  49.         {
  50.                   LcdWriteData(tab1[num]);        //顯示tab1:23:59:55
  51.                   LcdDelay(5);
  52.         }
  53.                 TMOD=TMOD|0x01;//定時器0        每50000*1us=0.05s溢出一次            
  54.                 TH0=0x3c;
  55.                 TL0=0xb0;
  56.                 EA=1;                                //開總中斷
  57.                 ET0=1;                                //開定時器0中斷
  58.                 TR0=1;                                //開定時器
  59. }
  60. void LcdWriteSg(uchar d,uchar add,uchar date)//分離時間的個位十位
  61. {  uchar shi,ge;
  62.    shi=date/10;                 //十位
  63.    ge=date%10;                 //個位
  64.    LcdWriteCom(d+add);        //在第二行顯示add
  65.    LcdWriteData(0x30+shi);                //寫入數據(數字偏移位0x30+shi)
  66.    LcdWriteData(0x30+ge);
  67. }
  68. void LcdWriteSg1(uchar d,uchar add,uchar date)//分離時間的個位十位
  69. {  uchar shi,ge;
  70.    shi=date/10;                 //十位
  71.    ge=date%10;                 //個位
  72.    LcdWriteCom(d+add);
  73.    LcdWriteData(0x30+shi);                //寫入數據(數字偏移位0x30+shi)
  74.    LcdWriteCom(d+add+2);
  75.    LcdWriteData(0x30+ge);
  76. }
復制代碼

仿真和完整源碼下載地址:http://www.zg4o1577.cn/bbs/dpj-91718-1.html


回復

使用道具 舉報

ID:265867 發表于 2018-4-8 20:44 | 顯示全部樓層
你這LCD1206驅動有點問題啊,如for(i=0;i<12;i++)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品乱码 | 久久精品免费观看 | 久久久一区二区三区 | 色婷婷综合在线观看 | 一区二区免费看 | 中文字幕乱码一区二区三区 | 中文字幕高清 | 在线播放91 | 成人精品系列 | 69视频在线播放 | 久久精品免费一区二区三 | 91成人精品| 精品一二区 | 日韩av网址在线观看 | 2018天天干天天操 | 在线观看日本网站 | 日本黄色的视频 | av一级毛片 | 免费精品视频在线观看 | 国产99久久久国产精品 | 久草中文在线 | 国产日产精品一区二区三区四区 | 色综合久久久久 | 欧美亚洲国产日韩 | 国产区在线 | 在线免费观看毛片 | 国产精品毛片无码 | 黄色在线观看 | 蜜桃视频在线观看免费视频网站www | 天天视频一区二区三区 | 日本网站在线看 | 成人午夜激情 | 一级黄色网页 | 福利片在线观看 | jlzzjlzz国产精品久久 | 欧美性另类 | 天堂资源| 操网站 | 最新中文字幕在线 | 国产在线中文字幕 | 亚洲va欧美va天堂v国产综合 |