qiuqiu
获得 12 次赞
帮助过273人
LCD1602模块在两行的滚动显示的编程过程中产生了一些小疑问,希望各位大佬可以帮忙解答一下谢谢大家了。 #include"intrins.h" #include"reg52.h" typedef unsigned char uchar; uchar a[23]="It's very interesting !"; uchar b[18]="This is the world."; void delay(int i) //1us { while(i--); } sbit RW=P2^5; sbit RS=P2^6; sbit E=P2^7; void wc(unsigned char c) { E=0; RS=0; RW=0; P0=c; E=1; delay(10); E=0; } //写指令 void wd(unsigned char d) { E=0; RS=1; RW=0; P0=d; E=1; delay(10); E=0; }//写数据 void Init() { wc(0x0c); wc(0x38); wc(0x01); } //初始化 void display() { unsigned char i=0; wc(0x40+0x80); for(i=0;i<=22;i++) { wd(a[i]); } wc(0x00+0x80); for(i=0;i<=17;i++) { wd(b[i]); } wc(0x07); } void main() { unsigned char i=0; Init(); display(); while(1) { /@@* wc(0x00+0x80); for(i=0;i<=17;i++) { wd(b[i]); delay(30000); } */ //如果改成这一段程序,LCD1602就只有第一行的内容在滚动了 wc(0x40+0x80); for(i=0;i<=22;i++) { wd(a[i]); }//如果写这一段程序,会有两行在滚动 } } 可以告诉我为什么吗
代码如下: # include <stm32f10x.h> # include "delay.h" # include "sys.h" # define LED0 PBout(5) void gpio_init () { GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE ENABLE);//gpio及afio时钟使能 //gpioe 端口4外部中断配置 GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPU; GPIO_InitStruct.GPIO_Pin=GPIO_Pin_4; GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz; GPIO_Init(GPIOE &GPIO_InitStruct); //gpiob 端口5配置 GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5; GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz; GPIO_Init(GPIOB &GPIO_InitStruct); GPIO_SetBits(GPIOBGPIO_Pin_5); } void exti_init() { EXTI_InitTypeDef EXTI_InitStruct; NVIC_InitTypeDef NVIC_InitStruct; gpio_init (); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO ENABLE);//端口复用时钟使能 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE GPIO_PinSource4 );//中断线映射 EXTI_InitStruct.EXTI_Line=EXTI_Line4;//线4 EXTI_InitStruct.EXTI_LineCmd=ENABLE;//使能 EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;//外部中断模式 EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发 EXTI_Init(&EXTI_InitStruct); //中断设置 NVIC_InitStruct.NVIC_IRQChannel=EXTI4_IRQn; NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2; NVIC_InitStruct.NVIC_IRQChannelSubPriority=2; NVIC_Init(&NVIC_InitStruct); } //中断服务函数 void EXTI4_IRQHandler() { // delay_ms(10);//消抖 LED0=!LED0; EXTI_ClearITPendingBit(EXTI_Line4); } int main () { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); // gpio_init (); exti_init(); GPIO_ResetBits(GPIOBGPIO_Pin_5); while(1); } 按键按下,外部中断没反应。
图中的判定值c>20是单片机内部AD采集值计算出来的温度,当到达那个20时 会有上下小幅波动的情况,引脚电平也会跟着上下跳动 求如何在这程序中解决这问题其中C值是AD采集计算出来的,当达到20时 这个值会在19.8到20.2之间跳动 LED也就闪烁 我想解决这种情况 1.PNG (13.74 KB 下载次数: 0) 下载附件 保存到相册 2019-9-9 09:54 上传
用TVP5150芯片在LCD上显示图像,屏上右边有一条竖线,竖线之外无法显示,应该是tvp5150寄存器设置的问题,不知道怎么改,有弄过的请解答一下,非常感谢!
以前使用过的AD6.9能够导出DXF,但是近期更换了AD版本为AD19.0.4 导出DXF的时候提示如下 file -> export ->DXF/DWG ->
由于工作需要,需在stm32f103中移植uboot和uclinux。在网上下载了uboot的源码,结合自己开发板的情况修改了uboot,并使用MDK编译,编译成功后,下载到开发板串口没有输出任何信息。
本来是通电后,按电源开关,显示屏就一起打开的。然后我看视频用ISP写入了一个实验代码,现在打开电源开关屏幕不跟着一起打开,怎么恢复呢。我写入TFTLCD显示实验的程序之后屏幕显示了,但是不是进入那个桌面。