标题: 萌新求教,原理图如下,求一个键盘显示单片机程序的编程思路 [打印本页]

作者: 笑宇    时间: 2019-5-15 23:25
标题: 萌新求教,原理图如下,求一个键盘显示单片机程序的编程思路
想通过自己的能力制作出来

8255 d0-d7接51p0.0到p0.7  。矩阵键盘接p1口 。lcd1602 rs rw e接p3口  。373输入接p0.0到p0.7,输出q0 q0作为8255a0和a1地址,q7做8255cs地址  。 rd=P2^4; wr=P2^5;rest=P2^3; 373使能端c接p2.6  8255pc口接lcd显示求一个矩阵键盘显示程序,键盘上输入数字显示 数字就行。实在不行求一个能显示设定好的字符程序思路也行             


作者: 笑宇    时间: 2019-5-16 08:57
#include<intrins.h>
#include<absacc.h>
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
#define PA  XBYTE[0XFF7C]
#define PB  XBYTE[0XFF7D]  
#define PC  XBYTE[0XFF7E]  
#define COM XBYTE[0XFF7F]
        sbit Lcden=P3^5;
        sbit Lcdrs=P3^7;
        sbit G=P2^6;
  sbit rdl=P2^4;
sbit wrl=P2^5;
sbit rest1=P2^3;
        void delay(uint z)
        {
                uint x,y;
                for(x=z;x>0;x--)
                for(y=110;y>0;y--);
        }
       
        void write_com(uchar com)
        {
                Lcdrs=0;
                P0=com;
                delay(5);
                Lcden=1;
                delay(5);
                Lcden=0;
        }
        void write_dat(uchar dat)
        {
                Lcdrs=1;
                P0=dat;
                delay(5);
                Lcden=1;
                delay(5);
                Lcden=0;
        }
               
               
        void init()
        {
                Lcden=0;
                write_com(0x38);
                write_com(0x0e);
                write_com(0x06);
                write_com(0x01);
                write_com(0x80);
                }
       
        void main()
        {
               
                 COM=0x80;
                G=1;
                rdl=1;
                wrl=0;
                rest1=0;
                P0=0x22;
               
                delay(5);
                G=0;
                delay(5);
               
                init();
                write_dat(0x42);
                while(1);
        }
自己编的但是测试发现pc口没有输出大佬看看有什么问题





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