标题: 16*64汉字点阵显示仿真原理图+单片机代码 [打印本页]

作者: 啊啊啊哒哒哒啊    时间: 2018-12-22 12:37
标题: 16*64汉字点阵显示仿真原理图+单片机代码
新人发帖
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include <REGX51.H>
  2. #include <INIT.H>

  3. /************汉字点阵*************/
  4. uchar code        hanzi[4][32] =                                         //一个汉字分两行,所以数组二维数为字数的两倍
  5. {0x02,0x00,0x01,0x00,0x01,0x00,0xff,0xfe,0x08,0x20,0x08,0x20,0x08,0x20,0x04,0x40,
  6. 0x04,0x40,0x02,0x80,0x01,0x00,0x02,0x80,0x04,0x60,0x18,0x1e,0xe0,0x08,0x00,0x00
  7. },                                                                                //"文",0

  8. {0x08,0x80,0x0c,0xc0,0x09,0x88,0x12,0x3c,0x17,0xe6,0x31,0x14,0x52,0x08,0x95,0x04,
  9. 0x19,0xf8,0x11,0x10,0x12,0x90,0x14,0xa0,0x10,0x60,0x11,0x98,0x16,0x06,0x00,0x00
  10. },                                                                               //"俊",1

  11. {00x24,0x04,0x34,0x04,0x24,0x24,0x3f,0xa4,0x44,0x24,0x04,0x24,0x7f,0xa4,0x04,0x24,
  12. 0x3f,0xa4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x24,0x84,0x27,0x84,0x05,0x14,0x04,0x08
  13. },                                                                               //"制",2

  14. {0x08,0x80,0x0c,0x80,0x09,0x00,0x13,0xfe,0x12,0x80,0x34,0x88,0x50,0xfc,0x90,0x80,
  15. 0x10,0x80,0x10,0x84,0x10,0xfe,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80
  16. }                                                                                //"作",3

  17. };







  18. /************位定义**************/
  19. sbit STTP = P2^7;

  20. /************变量声明***********/
  21. uint n,i,j;                        //delay()延时函数计数变量
  22. uint x,y,z;                        //out_hanzi()

  23. /************函数声明***********/
  24. void        delay(uint n);                        //延时函数
  25. void        out_rxd(uchar *d);                                //汉字输出




  26. /************主函数**************/

  27. void main()
  28. {
  29.         SCON = 0x00;
  30.         while(1)
  31.         {       
  32.                 P1 = 0;
  33.                 for( x = 0; x < 32; x+=2)
  34.                   {       
  35.                         STTP = 0;
  36.                         out_rxd(&hanzi[3][x+1]);
  37.                         out_rxd(&hanzi[3][x]);
  38.                         out_rxd(&hanzi[2][x+1]);
  39.                         out_rxd(&hanzi[2][x]);
  40.                         out_rxd(&hanzi[1][x+1]);
  41.                         out_rxd(&hanzi[1][x]);
  42.                         out_rxd(&hanzi[0][x+1]);
  43.                         out_rxd(&hanzi[0][x]);
  44.                         STTP = 1;
  45.                         P1 = x/2;
  46.                 }
  47.         }
  48. }

  49. /************子函数定义?********/

  50. void delay(uint n)
  51. {

  52.                 for( ; n > 0 ; n--)
  53.                 {
  54.                         for( j = 0; j < 10; j++)
  55.                         {;}
  56.                 }

  57. }

  58. void out_rxd(uchar *d)
  59. {
  60.         SBUF = *d;                        //启动串行口传送
  61.         while(TI == 0);                        //等待串口传送结束
  62.         TI = 0;                                //将串口中断标志位置0
  63. }
复制代码

所有资料51hei提供下载:
汉字点阵显示.rar (150.33 KB, 下载次数: 95)



作者: fangliang    时间: 2020-5-5 20:51
仿真效果不是很好

3SIOQ25Q008TR2@CFOR(F0D.png (29.26 KB, 下载次数: 101)

3SIOQ25Q008TR2@CFOR(F0D.png

作者: fangliang    时间: 2020-5-5 22:32
太差劲了,程序都编译不了,最基本的位定义都搞错了,还有里面的字模和仿真里面的都不一样

BDTXJ$)7VW}$L8R0(V9[5TX.png (214.33 KB, 下载次数: 51)

BDTXJ$)7VW}$L8R0(V9[5TX.png





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1