PIC12F683微控制器实验板
ay_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。
- 现代通信系统与DSP实验平台(07-12)
- AT89S51单片机实验系统的开发与应用(06-21)
- 基于VRML和JavaScript的数码摄影虚拟实验系统的设计与实现(09-20)
- 通信系统原理技术与DSP实验平台的研制(06-06)
- Linux基础命令之:实验内容及小结(08-13)
- Linux快速入门之: 实验内容——安装Linux操作系统及小结(08-13)