计算机控制 下载本文

+12V+5VR154N25R12R6T3R6C8051P1.274041R9+12VV3R14+5V4N25R11R5T2R2B+27VP1.174041R8+12VV2+5VR134N25R10R4T1R1AP1.074041R16R7V1启动=0停止=1+5V+5VP0.0R17P0.1正向=0反向=1

2.如果要加工如图所示的扇形,试完成下列问题: 1)试说明该扇形在插补时由哪几部分(直线或曲线)组成; 2)写出各部分(直线或曲线)的线型、步数、坐标(终点、起点)。

y 5 4 3 2 1 0 1 2 3 4 5 x

3. 试写出三相电机在三相双三拍工作方式以及四相电机在四相八拍工作方式时各相正转和反转的通电顺序。

第二章作业

2.1 如下图,利用开关K实现显示从0-9递增,每按一次显示加1,加到10时返回到0显示,周而复始循环。

P1.0P1.1P1.2P1.3P1.4P1.5P1.6EAINT189C51P3.3 a驱动器g 1K 2&+5V 解:共阴极七段数码管,首先了解数码管编码方式: 0 3F H

1 06 H 2 5B H 3 4F H 4 66 H 5 6D H 6 7D H 7 07 H 8 7F H 9 6F H 利用外部中断实现该上述功能:按键接入INT1 #include char i;

code char tab[10]={0x3f,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void int(void) interrupt 2 { i++

if (i<10) P1=tab[i]; else {i=0;P1=0x3f;} }

main() {

i=0; EA=1; EX1=1; IT1=1; P1=0x3f; while(1); }

&

2.2 设系统时钟频率为12MHz,利用定时器中断实现

1)P1.1输出周期为1s的方波;

2)P1.0输出周期为2s,占空比为20%的脉冲信号。

以上要求可以在一个程序中实现,也可以在两个程序中实现。 解:

#include sbit P1_0=P1^0; sbit P1_1=P1^1; int a; int b;

void int(void) interrupt 1 {

TH0=(65536-50000)/256; TL0=(65536-50000)%6; a++; b++; }

void mian(void) {

a=0; b=0; TMOD=0x01;

TH0=(65536-50000)/256; TL0=(65536-50000)%6; TF0=0; TR0=1; EA=1; ET0=1; while(1) {

if(a==10) {

P1_1=~P1_1; a=0; }

if(b==8) P1_0=0; else if (b==40)

{

P1_0=1; b=0; } } }

2.3 如下图,利用外部中断INT0实现:首先通过P1.7口点亮发光二极管,然后外部输入一脉冲串,则发光二极管亮、暗交替。

+5V 8751 INT0 P1.7 解:

#include sbit P1_7=P1^7;

void int(void) interrupt 0 {

P1_7=!P1.7; }

void main(void) {

P1_7=0; EA=1; EX0=1; IT0=1; while(1); }

2.4如下图,用51单片机的串行口外接并入串出芯片CD4014扩展并行输入口,当开关S闭合时读入开关组S0-S7的信息。

S0

S1 S2 S3 S7 S RXD

8751TXD

P1.0 P1.1

P1 P2 P3 P4 P8 DS CD4014 CLK P/S

解:串行接口控制寄存器:

SM0 SM1 SM2 REN TB8 RB8 TI RI