typedef unsigned int WORD
#include "reg51.h"
#include "intrins.h"
/*Declare SFR associated with the ADC */
sfr ADC_CONTR = 0xBC
sfr ADC_RES = 0xBD
sfr ADC_LOW2= 0xBE
sfr P1ASF = 0x9D
sfr P2M0 = 0x96
sfr P2M1 = 0x95
/厅卖*Define ADC operation const for ADC_CONTR*/
#define ADC_POWER 0x80
#define ADC_FLAG0x10
#define ADC_START 0x08
#define ADC_SPEEDLL 0x00
#define ADC_SPEEDL 0x20
#define ADC_SPEEDH 0x40
#define ADC_SPEEDHH 0x60
//延时知宽
void Delay(WORD n)
{
WORD x
while (n--)
{
x = 5000
while (x--)
}
}
//初始AD寄存器
void InitADC()
{
P1ASF = 0xff
ADC_RES = 0
ADC_CONTR = ADC_POWER | ADC_SPEEDLL
Delay(2)
}
//AD转换
BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START
_nop_()
_nop_()
_nop_()
_nop_()
while (!(ADC_CONTR &ADC_FLAG))
ADC_CONTR &= ~ADC_FLAG
return ADC_RES
}
void main()
{ BYTE temp
P2M1=0 P2M0=0x03 //搭伏亮P2.0和P2.1强推挽
InitADC()
while (1)
{
temp=GetADCResult(0)//转换P1.0
if(temp>1)
P2|=0x03//P1.0有电压 P2.0和P2.1输出高
else
P2&=0xFC//P1.0无电压 P2.0和P2.1输出低
}
}
HS26Fxx-C_Demo_Code-GPIO初始化函数功能:GPIO初始化函数
void GPIO_Init(void)
函数声明
//.h文件声明***************************************************************************
void GPIO_Init(void) //IO初始化
1
2
1
2
函数定义
//.c文件函数定义****************************************************
/*System initial sub function<<===================================*/
//******************************************************************
void GPIO_Init(void)
{
//P0_IO_init
P0 =0x00u //-000 0000
P0M =0xFFu //-111 1111 InOut 0=in / 1=out
P0UR=0x00u //-000 0000 UP_pull 0=dis / 1=en
P0PD=0x00u //-000 0000 DOWN_pull 0=dis / 1=en
P0W =0x00u //0000 0000 Wakeup 0=dis / 1=en
//P1_IO_init
P1 =0x00u //---- -000
P1M =0xFFu //---- -111 InOut 0=in / 1=out
P1UR=0x00u //---- -000 UP_pull 0=dis / 1=en
P1PD=0x00u //---- -000 DOWN_pull 0=dis / 1=en
P1W =0x00u //0000 0000 Wakeup 0=dis / 1=en
//P2_IO_init
P4 =0x00u //0000 0000
P4M =0xFFu //1111 1111 InOut 0=in / 1=out
P4UR=0x00u //0000 0100 UP_pull 0=dis / 1=en
P4PD=0x00u //0000 0000 DOWN_pull 0=dis / 1=en
P4W =0x00u //0000 0000 wakeup 0=dis / 1=en
//******************************************************
FGIE=0 /* 总中断使能位 <<======================*/
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
函数调用
GPIO_Init() //端口初始化
1
1
打开CSDN,阅读体验更佳
s3c2440硬件学习笔记----GPIO接口
一、GPIO介绍 GPIO(General Purpose Input Output)意为通用输入输出端口,简单说就是一些引脚,通过它们禅历输出高低电平或者通过它们读取引脚高低电平状态 S3C2440有130个I/O端口,分为A-J共9组:GPA、GPB、、、、GPJ,可以通贺禅搜过设置寄存器来确定某个引脚袭桐用于输入、输出还是特殊功能。 比如:可以设置GPH6作为输入、输出、或者用于串口。 1、通过寄...
继续访问
MTK Android7.0 gpio口控制demo
MTK6737平台,暴露底层给上层的设备节点控制接口。简单的gpio口控制demo。
ioremap_gpio_demo.c
ioremap demo对应博客介绍 https://xuesong.blog.csdn.net/article/details/114156170
用C控制GPIO
http://forum.cubietech.com/forum.php?mod=viewthread&tid=405&reltid=876&pre_thread_id=0&pre_pos=6&ext=CB 用C控制GPIO的代码[可以直接看CPU占用率了] http://forum.cubietech.com/forum.php?mod=viewthread&tid=405 #in
继续访问
HS26Fxx-C_Demo_Code-延时函数
HS26Fxx-Dome_Code void Delay_Us(unsigned char Delay_Cnt) //{xx.h}文件中声明延时函数************************************************ void Delay_Us(unsigned char Delay_Cnt)//延时函数 //{.c}定义延时函数*********************************************************************** /
继续访问
HS26Fxx-C_Demo_Code-ADC相关函数的定义与使用
HS26Fxx-C_Demo_Code-ADC相关函数的定义与使用 功能:测试AD采样功能 void ADC_Init(void) unsigned long ADC_Data_Collect(unsigned char ADC_Input_Pin,unsigned char ADC_AIN) 1.AD相关函数声明 //.h文件声明*************************************************************************** void ADC_Init
继续访问
HS26Fxx-C_Demo_Code-中断函数、中断子函数的定义与使用
HS26Fxx-C_Demo_Code-中断函数、中断子函数的定义与使用 功能:定时器TC0中断程序参考 void __interrupt[0x08] Interrupt(void)//无需声明 void __interrupt Interrupt_Demo(void) 中断子函数 函数声明 //中断子函数函数声明*********************************************************************** void __interrupt Interrupt
继续访问
HS26Fxx-C_Demo_Code-测试函数RF格式,UART格式的定义与使用
HS26Fxx-C_Demo_Code-测试函数RF格式,UART格式的定义与使用 功能:利用示波器或者UART串口工具测试 void Send_Dat_For_Test(unsigned char Test_Dat) 1.测试函数函数声明 //.h文件声明*************************************************************************** void Send_Dat_For_Test(unsigned char Test_Dat)
继续访问
HT66FXX.zip_HT-IDE3000_HT66Fxx_ht_ht-46_ht66f
HT单片机HT66F系列最基本的实用教程中文资料完全版
最新发布 C8051FXX-boot-loader-.zip_boot loader
主要描述了C8051F0XX系列单片机的引导装入程序考虑及举例
stc8_demo程序.rar_DEMO_STC8 PCA_stc8_stc8 pwm_stc8a8
stc8,DEMO程序: uart stc8aid delay IO timer adc pwm pca
cape-fxx.rar_1c60deac5d48_dcfxx_fxxee_out_tof_cape beagle
FXX_DRV_VER 0.1 AM335 interface functions: int ioctrl_init(void) int ioctrl_cleanup(void) uint32_t *ioctrl_remap(uint32_t *addr_ptr, size_t block_len) int ioctrl_unmap(uint32_t *addr_ptr, size_...
fxx.zip_c 语言微分_telephonew1j_产品代码fxx
常微分代码,主要是C语言方面的,大家可以下载看看的
HT66FXX-EEPROM.rar_单片机开发_Asm_
HT66FXX-EEPROM的读写及应用说明文档
FXX_PR3_NV.rar
FXX_PR3_NV.rar,FXX_PR3_NV.xml
合泰单片机例程资料,HT66FXX FLASH例程,源码学习.rar_DEMO_ht66f50 _newsz3i_合泰 学习_合
合泰单片机HT66F50例程工程源程序,合泰各种例程demo都在里面
HC89F3xx1_Touch_Demo_Code V1.0.5.0_fourt1r_HC89F3XXX_芯圣_DEMO_芯圣程
芯圣HC89FXX系列触摸程序,调好的。官方下载。
STM32F103ZET6 - USB_DFU 升级
STM32F103ZET6 - USB_DFU 升级 前言: 记录下碰到的坑!! 仿真时发现读按键状态函数HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin),无论是判断等于1还是0,仿真都能进入纠结很久,然后查看GPIOx_IDR寄存器, 发现没问题,按键按下时该位为0,不按为1经查找发现是IDE优化等级问题,STM32CubeMX生成的代码默认优化等级为...
继续访问
单片机
编程语言
写评论
评论
收藏
点赞
P1ASF是选择哪个口模拟AD转换功能孙局尺,(1<<ADC_CH0)(ADC_CH0相当于0)故P1ASF第0位被置1,选择P1.0为模拟通道。
第二个则高是对ADC_CONTR寄存腊配器进行了设置,(1 <<7)将第八位置1,(1 <<5)将第六位置1,ADC_CONTR = ADC_360T | ADC_ON 将ADC_CONTR寄存器第六位和第八位置1,具体功能就是开启AD转换,选择转换速度。
如有不对请指正!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)