PIC12F683微控制器实验板介绍
y_ms(1000); I = 1; (我== 8)I = 0; }(1);}
在mikroC编译这个程序,负载??内的PIC12F683与任何ICSP编程。输出:
在LED上显示的3位计数器实验第2号:轻触开关输入和电机控制。本次实验的目的是两个轻触开关来控制电机。当按下一个开关,电机就会开启,其他关闭。安装: 将SW1和SW2引脚(引脚7)GP0和GP1的PIC12F683(引脚6)。还可以连接电机驱动器的引脚GP2的(引脚5 )。因此,GP0和GP1均为输入和GP2输出。请记住,当按下开关时,相应的SW引脚被拉低 。在正常情况下,SW1和SW2拉高。
软件
/* Motor ON/OFF control with tact switches
Rajendra Bhatt, Sep 3, 2010
PIC12F683, MCLR OFF, Internal Oscillator @ 4.00MHz
*/
sbit Start_Button at GP0_bit;
sbit Stop_Button at GP1_bit;
sbit Motor at GP2_bit;
void main() {
CMCON0 = 7; // Disable Comparators
TRISIO = 0x03; // 0000 0011 GPIO 0, 1, Inputs; Rest are O/Ps
ANSEL = 0x00;
Motor = 0;
do {
if (!Start_Button) { /* When a tact switch is pressed, Logic I/P is 0*/
Delay_ms(100);
Motor = 1; // Turn Motor ON
}
if (!Stop_Button) {
Delay_ms(100);
Motor = 0; // Turn Motor ON
}
} while(1);
}
输出:当SW1按下时,电机将开启,并按下SW2时,它会熄灭。
实验3: 软件UART测试。
本次实验的目的是发送一个字符串到PC使用的软件UART例程。该字符串将被转移到PC上的超级终端窗口显示时,按下SW1开关。字符串将被按下开关
安装:
微控制器端:
连接UTX和SW1引脚GP0(引脚7)和GP1端口分别。
PC端:
连接RX(2),TX(3)和GND(5)针板相应的PC机的RS232端口引脚。此外,在PC上定义以下设置一个新的连接的超级终端窗口。
BPS = 9600,数据位= 8;校验=无,停止位= 1; =硬件流量控制
软件
/*
PIC12F683 Experiment Board
Experimen No. 3 : Read analog voltage from AN0 and diplay
on Hyperterminal window on PC using Software UART.
Date: 06/25/2010
*/
char Message1[] = Digital Value= ;
unsigned int adc_value, backup=0 ;
char *temp = 0000, error;
int i;
void main() {
CMCON0 = 7;
TRISIO = 11; // GPIO 0, 1, 3 Inputs; Rest are O/Ps
ANSEL = 0;
GPIO = 0;
// Define GPIO.3 as UART Rx, and 5 as Tx
error = Soft_UART_Init(GPIO,3, 5, 9600, 0 );
Delay_ms(100);
do {
adc_value = ADC_Read(0);
if(adc_value != backup) {
if (adc_value/1000)
temp[0] = adc_value/1000 + 48;
else
temp[0] = '0';
temp[1] = (adc_value/100)%10 + 48;
temp[2] = (adc_value/10)%10 + 48;
temp[3] = adc_value%10 + 48;
for (i=0; i= 13; i++) {
Soft_UART_Write(Message1[i]);
Delay_ms(50);
}
for (i=0; i= 3; i++) {
Soft_UART_Write(temp[i]);
Delay_ms(50);
}
Soft_UART_Write(10); // Line Feed
Soft_UART_Write(13); // Carriage Return
backup = adc_value;
}
delay_ms(100);
} while(1);
}
输出
相应的模拟输入数字号码将显示在超级终端窗口。您可以改变电位器和数字同等数量也将发生变化。请记住,ADC是10位,让您在屏幕上看到的数量将会从0000到1023。
- RS232、RS485和RS422介绍与比较(12-14)
- ARM处理器模式介绍和模式切换(11-28)
- EZ-USB FX2单片机CY7C68013的特性介绍(10-15)
- MCS-51单片机的中央处理器CPU介绍(05-13)
- 详细介绍用51单片机解密任何红外遥控器(10-23)
- 飞思卡尔MC9S12NE64以太网模块介绍(10-18)