• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 4
    下载次数
  • 2013-07-09 01:35
    上传日期
基于8255的lcd存储示波器显示 a) 用AD转换器采集输入信号,存入SRAM(例6264)芯片中, b) 进行DA转换后回放SRAM中的数据,通过模拟示波器显示。 c) 利用键盘控制单步和连续慢放信号波形。 d) 波形参数可以用数值或图形在数码管或LCD上显示,或者可以结合示波器进行图形回放显示。
zgw.rar
  • zgw.c
    2.9KB
内容介绍
#include<reg52.h> #include<absacc.h rel='nofollow' onclick='return false;'> #define PORTA XBYTE[0X7FFC] #define PORTB XBYTE[0X7FFD] #define CONTROL XBYTE[0X7FFF] #define uchar unsigned char #define uint unsigned int uchar code *shape[4]={"rectangle","triangle ","sin ","saw "}; uchar code form[][32]={ {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, {0x80,0x90,0xa0,0xb0,0xc0,0xd0,0xe0,0xf0,0xff,0xf0,0xe0,0xd0,0xc0,0xb0,0xa0,0x90,0x80,0x70,0x60,0x50,0x40,0x30,0x20,0x10,0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70}, {0x80,0x98,0xb0,0xc7,0xda,0xea,0xf6,0xfd,0xff,0xfd,0xf6,0xea,0xda,0xc7,0xb0,0x98,0x80,0x67,0x4f,0x38,0x25,0x15,0x09,0x02,0x00,0x02,0x09,0x15,0x25,0x38,0x4f,0x67}, {0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0xe0,0xe8,0xf0,0xf8,0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78} }; sbit function=P1^0; sbit ft=P1^1; sbit beep=P1^2; sbit lcden=P3^0; sbit lcdrs=P3^1; uchar functionnum; bit period; uint num; void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void di() { beep=0; delayms(100); beep=1; } void write_com(uchar com) { lcdrs=0; PORTB=com; delayms(1); lcden=1; delayms(1); lcden=0; } void write_data(uchar date) { lcdrs=1; PORTB=date; delayms(1); lcden=1; delayms(1); lcden=0; } void display() { uchar k,m; uchar str1[]="f=1000Hz"; uchar str2[]="T=1ms "; write_com(0x80+0x04); //write for(k=0;k<9;k++) { write_data(shape[functionnum][k]); delayms(1); } write_com(0x80+0x40+0x04); //f() if(!period) { m=0; while(str1[m]!='\0') { write_data(str1[m]); delayms(1); m++; } } else { m=0; while(str2[m]!='\0') { write_data(str2[m]); delayms(1); m++; } } } void init() { CONTROL=0x80; PORTA=0xff; PORTB=0xff; TMOD=0x02; //TMOD=0x02 TH0=210; TL0=210; EA=1; ET0=1; TR0=1; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); display(); } void keyscan() { if(function==0) { EA=0; delayms(5); if(function==0) { di(); functionnum++; if(functionnum==4) functionnum=0; display(); while(!function); } EA=1; } if(ft==0) { EA=0; delayms(5); if(ft==0) { di(); period=~period; display(); while(!ft); } EA=1; } } void main() { init(); while(1) { keyscan(); } } void T0_time() interrupt 1 { num=num%32; PORTA=form[functionnum][num++]; }
评论
    相关推荐
    • 8255+lcd(me).rar
      通过8255拓展矩阵键盘,并加了LCD显示程序,完成了人机接口操作
    • 8255A-drives-LCD1602.zip
      8255A扩展驱动LCD1602,文件中带有C51程序,PROTEUS仿真文件,可以进行仿真验证
    • 8255ALCD1602.rar
      利用8255a扩展的lcd1602程序 希望喜欢
    • 8255LCD1.rar
      在达盛实验箱下的lcd单片机显示,两行国标汉字,爱好者可以好好学习一下
    • the-8255-LCD.rar
      设计一串口通信程序,波特率9600,通过RS232串口自环。自动循环发送数据串(设计在程序中)接收并存储和显示该数据串发送数据内容由键盘输入,每串数据不大于8字节。数据串单次发送由按键启动,接收端显示数据串并...
    • 8255.rar
      8255 I_O口扩展,8255 I_O口扩展
    • 8255de-LCDxianshi.rar
      基于8255的C51单片机设计 秒表功能可以存储20个数据
    • 8255_LCD-7.rar
      用于接上8255lcd的嵌入式linux下驱动程序以及相应的测试程序
    • 基于8255LCD显示温度控制器设计_南邮_通院课程设计
      lxs是最终版本,8255驱动1602,0-10显示无bug,可设置上下限,带温度回显(仅显示不同温度值); lxs2是初版,仅8255驱动1602显示, test带8155驱动数码管显示和仅51单片机驱动1602程序及仿真图;
    • 51单片机通过8255控制LCD
      主要写的很明了,程序简单,适合初学,是PROTEUS仿真!接下来就开始写240128的LCD