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

標題: stm32c8t6 lcd1602的設計源碼 [打印本頁]

作者: jebel    時間: 2018-4-19 19:54
標題: stm32c8t6 lcd1602的設計源碼
如附件所示

單片機源程序如下:
  1. #include "Lcd_1602.h"

  2. unchar count,s1num;
  3. char miao,shi,fen;
  4. unchar table[] =  "      ZNSYS    ";
  5. unchar table1[] =  "    00 00.00";

  6. void LCD_GPIO_init(void){
  7.         GPIO_InitTypeDef GPIO_InitStructure;
  8.         //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);
  10.         GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
  11.         DBGMCU_CR&=0xFFFFFFDF;
  12.        
  13.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  15.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;       
  16.         GPIO_Init(GPIOB, &GPIO_InitStructure);       
  17.        
  18.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  20.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;       
  21.         GPIO_Init(GPIOB, &GPIO_InitStructure);       
  22.                
  23.        
  24.         GPIO_SetBits(GPIOB,GPIO_Pin_All);  
  25. }

  26. void LCD_GPIO_WriteData(unchar data)
  27. {
  28.         part_h_o=((data&0x80)>>7);
  29.         part_g_o=((data&0x40)>>6);
  30.         part_f_o=((data&0x20)>>5);
  31.         part_e_o=((data&0x10)>>4);
  32.         part_d_o=((data&0x08)>>3);
  33.         part_c_o=((data&0x04)>>2);
  34.         part_b_o=((data&0x02)>>1);
  35.         part_a_o=((data&0x01));
  36. }

  37. unchar LCD_GPIO_RedData(void)
  38. {
  39.         unchar data=0x00;
  40.         data=0x80&(data+0x7f+part_a_i);
  41.         data=0xc0&(data+0x3f+part_b_i);
  42.         data=0xe0&(data+0x1f+part_c_i);
  43.         data=0xf0&(data+0x0f+part_d_i);
  44.         data=0xf8&(data+0x07+part_e_i);
  45.         data=0xfc&(data+0x03+part_f_i);
  46.         data=0xfe&(data+0x01+part_g_i);
  47.         data=0xff&(data+0x00+part_h_i);
  48.         return data;
  49. }
  50. void LCD_Write_com(unchar com)
  51. {
  52.         lcd_rs=0;
  53.         lcd_en=0;
  54.         LCD_GPIO_WriteData(com);
  55.         delay_us(50);
  56.         lcd_en=1;
  57.         delay_us(50);
  58.         lcd_en=0;       
  59. }

  60. void LCD_Write_date(unchar date)
  61. {

  62.         lcd_rs=1;
  63.         lcd_en=0;
  64.         LCD_GPIO_WriteData(date);
  65.         delay_us(50);
  66.         lcd_en=1;
  67.         delay_us(50);
  68.         lcd_en=0;       
  69. }

  70. void LCD_Init(void)
  71. {

  72.         unchar num;

  73.         lcd_en=0;
  74.         fen=59;
  75.         miao=53;
  76.         shi=23;             
  77.   lcd_rw=0;
  78.         LCD_Write_com(0x38);//16*2顯示,5*7點陣,8位數據接口
  79.         LCD_Write_com(0x0c);//開顯示,不顯示光標
  80.         LCD_Write_com(0x06);//寫個字符地址加一
  81.         LCD_Write_com(0x01);//顯示清0,數據指針清零
  82.         LCD_Write_com(0x80);
  83.         for(num=0;num<15;num++)
  84.                 {

  85.                         LCD_Write_date(table[num]);
  86.                         delay_us(50);
  87.                 }
  88.         LCD_Write_com(0x80+0x40);

  89.         for(num=0;num<12;num++)
  90.                 {
  91.                         LCD_Write_date(table1[num]);
  92.                         delay_us(50);

  93.                 }
  94. }

  95. void Write_num(unchar add,unchar date){//add 4 7 10
  96.         unchar shi,ge;
  97.         shi=date/10;
  98.         ge=date%10;
  99.         LCD_Write_com(0x80+0x40+add);
  100.         LCD_Write_date(0x30+shi);
  101.         LCD_Write_date(0x30+ge);
  102. }
  103. /*void write_sfm(unchar add,unchar date)
  104. {
  105.         unchar shi,ge;
  106.         shi=date/10;
  107.         ge=date%10;
  108.         LCD_Write_com(0x80+0x40+add);
  109.         LCD_Write_date(0x30+shi);
  110.         LCD_Write_date(0x30+ge);
  111. }
  112. void keyscan()
  113. {
  114.         if(s1==0)       
  115.         {
  116.                 delay(5);
  117.                 if(s1==0)
  118.                 {        s1num++;
  119.                         while(!s1);
  120.                         if(s1num==1)
  121.                         {
  122.                                 TR0=0;
  123.                                 LCD_Write_com(0x80+0x40+10);
  124.                                 LCD_Write_com(0x0f);
  125.                         }
  126.         }
  127.                         if(s1num==2)
  128.                         {
  129.                                 write_com(0x80+0x40+7);
  130.                         }
  131.                         if(s1num==3)
  132.                         {
  133.                                 write_com(0x80+0x40+4);
  134.                         }
  135.                         if(s1num==4)
  136.                         {
  137.                                 s1num=0;
  138.                                 write_com(0x0c);
  139.                         }

  140.                                
  141.                 }
  142.                 if(s1num!=0)
  143.                 {
  144.                         if(s2==0)
  145.                         {
  146.                                 delay(5);
  147.                                 if(s2==0)
  148.                                 {
  149.                                         while(!s2);
  150.                                         if(s1num==1)
  151.                                         {
  152.                                                 miao++;
  153.                                                 if(miao==60)
  154.                                                         miao=0;
  155.                                                 write_sfm(10,miao);
  156.                                                 write_com(0x80+0x40+10);
  157.                                                
  158.                                                
  159.                                         }
  160.                                         if(s1num==2)
  161.                                         {
  162.                                                 fen++;
  163.                                                 if(fen==60)
  164.                                                         fen=0;
  165.                                                 write_sfm(7,fen);
  166.                                                 write_com(0x80+0x40+7);
  167.                                         }
  168.                                         if(s1num==3)
  169.                                         {
  170.                                                 shi++;
  171.                                                 if(shi==24)
  172.                                                         shi=0;
  173.                                                 write_sfm(4,shi);
  174.                                                 write_com(0x80+0x40+4);
  175.                                         }
  176.                                 }
  177.                         }
  178.                         if(s3==0)
  179.                         {
  180.                                 delay(5);
  181.                                 if(s3==0)
  182.                                 {
  183.                                         while(!s3);
  184.                                         if(s1num==1)
  185.                                         {
  186.                                                 if(miao==0)
  187.                                                 {
  188.                                                         miao=59;
  189.                                                         write_sfm(10,miao);
  190.                                                         write_com(0x80+0x40+10);
  191.                                
  192.                                                 miao--;
  193.                                                 if(miao==-1)
  194.                                                         miao=59;
  195.                                                 write_sfm(10,miao);
  196.                                                 write_com(0x80+0x40+10);
  197.                                         }
  198.                                         if(s1num==2)
  199.                                         {
  200.                                                 fen--;
  201.                                                 if(fen==-1)
  202.                                                         fen=59;
  203.                                                 write_sfm(7,fen);
  204.                                                 write_com(0x80+0x40+7);
  205.                                         }
  206.                                         if(s1num==3)
  207.                                         {
  208.                                                 shi--;
  209.                                                 if(shi==-1)
  210.                                                         shi=23;
  211.                                                 write_sfm(4,shi);
  212.                                                 write_com(0x80+0x40+4);
  213.                                         }
  214.                                 }
  215.                         }
  216.                 }
  217. }
  218. void main()
  219. {
  220.         LCD_init();
  221.         while(1)
  222.         {
  223.                 keyscan();
  224.                
  225.         }
  226. //        while(1);
  227. }
  228. /////////////////////////////////////////////////////////////////////////////////////此處屬于中斷

  229. void timer0() interrupt 1
  230. ……………………

  231. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
LCD1602.zip (2.16 KB, 下載次數: 106)



作者: 洛陽一笑    時間: 2019-5-4 09:42
老哥好使嘛
作者: dianzi741    時間: 2019-11-29 19:18
這個可以用嗎
作者: 啦啦來咯啦    時間: 2021-5-10 18:58
有接線圖嗎

作者: cGrease    時間: 2021-5-12 20:13
就兩文件




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 九九久久在线看 | 婷婷色婷婷 | 免费一级淫片aaa片毛片a级 | 国产精品亚洲综合 | 日本黄色影片在线观看 | 国产乱码精品一区二区三区中文 | av色站 | 国产视频久久 | 91精品国产色综合久久不卡蜜臀 | 99精品国产一区二区青青牛奶 | 亚洲成人综合在线 | 美女131mm久久爽爽免费 | 日韩美女在线看免费观看 | 久久综合九色综合欧美狠狠 | 婷婷午夜天 | 一级黄色毛片 | 国产欧美日韩一区二区三区在线观看 | 欧美 日韩 中文 | 黄网站涩免费蜜桃网站 | 亚洲一区二区视频 | 欧美国产精品一区二区三区 | 操久久 | 欧美性猛交一区二区三区精品 | 九九久久精品 | 久优草| 国产高清在线精品 | 中文字幕成人av | 亚洲精品第一国产综合野 | 日本人和亚洲人zjzjhd | 夜夜久久| 中日字幕大片在线播放 | 成人永久免费 | 亚洲欧美日韩成人在线 | 国产成人精品一区二三区在线观看 | 无码一区二区三区视频 | 成人中文字幕在线观看 | 色视频在线播放 | 亚洲网站在线播放 | 九九色综合| 999国产精品视频 | 成人久久18免费网站图片 |