设计题复习题参考代码(自己画图验证).pdfVIP

  • 0
  • 0
  • 约6.16千字
  • 约 7页
  • 2023-08-23 发布于上海
  • 举报

设计题复习题参考代码(自己画图验证).pdf

设计题复习题 1、试设计一个基于数码管的,能显示自己学号后八位的系统。要求画出硬件连接图(?分)、 程序清单(?分)、运行效果(?分)。 sfr P0=0x80; sfr P2=0xA0; sfr P3=0xb0; // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, unsigned xuehao[8]={1,9,9,0,1,1,0,6};学号 // void delayk(unsigned int x) {unsigned int i,j; for(i=0;ix;i++) for(j=0;j100;j++) ; } main() { unsigned char wz,i,j; while(1) { wz=0xfe; for(i=0;i8;i++) { P2=wz; P0=showdate[ xuehao[i] ]; wz=wz1|0x01; delayk(2); } } 2、试设计一个89S52单片机流水灯系统,带两个方向控制按键,中断方式,随时切换方向。 要求画出硬件连接图(?分)、程序清单(?分)、运行效果(?分)。 #include reg52.h #define m 200 unsigned char flag; unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; delay(int x) { int i,j; for(i=0;ix;i++) for(j=0;j120;j++); } main() {int i,j; unsigned char LED; IE=0x83; //初始化中断int0,int1 TCON=0x05; flag=5; //初始化方向标志,5 不动 1 往左 0 往右 LED=0xfe; while(1) { P0=led; if (flag==1) { led=led1|0x01; if(led==0xff) led=0xfe; } else if (flag==0) { led=led1|0x80; if(led==0xff) led=0x7f; } delay(m); } } void key1(void) interrupt 0 //往左按键 { flag=1; } void key2(void) interrupt 3 //往右按键 { flag=0; } 3、试设计一个脉冲发生器,f=2Hz。要求画出硬件连接图(?分)、程序清单(?分)、 运行效果(?分)。 //==声明区================================ #include reg51.h // 定义8x51 暂存器之标头档,P2-17~19 Sbit maichong=P1^1 // 定义Port 1.1 为脉冲输出 #define count 50000 // T0(MODE 1)之计量值,约0.05 秒(7-8 页) #define TH_M1 (65636-count)/256 // T0(Mode 1)计量高8 位元 #define TL_M1 (65636-count)%256 // T0(Mode 1)计量低8 位元 //==主程序================================ main() // 主程序开始 { int i; // 宣告i 变数 TMOD = 0xf1; // 设定T0 为mode 1(7-3 页) TMOD |= 0x01;

文档评论(0)

1亿VIP精品文档

相关文档