智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1344|回复: 2
打印 上一主题 下一主题

图像不断滚动 求赐教

[复制链接]

6

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
威望
135
贡献
49
兑换币
61
注册时间
2013-1-23
在线时间
36 小时
跳转到指定楼层
1#
发表于 2013-4-5 21:09:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
之前图像中间有条粗黑线一起上下滚 现在黑线被我搞没了 但是还是在不断滚...
下面是行场中断函数
一开始的时候有黑线一起往上滚 而且滚动幅度更大 然后我改了Interval 从6改到了3 幅度就最小了 再改成2就变成往下滚了...
我一开始以为是前一场的前几行没采到 所以采到下一场的前几行去了 后来发现每场图像都是连续的 所以不会是这种情况
  1. #pragma CODE_SEG NON_BANKED
  2. /**************************************************
  3. ** 函数名称: 中断处理函数
  4. ** 功能描述: 行中断处理函数
  5. ** 输    入: 无
  6. ** 输    出: 无
  7. ** 说明:  
  8. ***************************************************/
  9. interrupt 9 void HREF_IQR()
  10. {
  11.   TFLG1_C1F=1;              //清行中断标志位
  12.   m++;                      //行数
  13.   if(m<0||m>=115) return;   //判断是否从新的一场开始 一场240行 并消除前24行左右场消隐。
  14.   
  15.   Interval=3;               //设置间隔
  16.   
  17.   if(m%Interval==0)
  18.   {
  19.   //delayrowfirst();          //消除行消隐
  20.   Image_Data[Line_C][0] = PORTA;_asm(nop);
  21.   Image_Data[Line_C][1] = PORTA;_asm(nop);
  22.   Image_Data[Line_C][2] = PORTA;_asm(nop);
  23.   Image_Data[Line_C][3] = PORTA;_asm(nop);
  24.   Image_Data[Line_C][4] = PORTA;_asm(nop);
  25.   Image_Data[Line_C][5] = PORTA;_asm(nop);
  26.   Image_Data[Line_C][6] = PORTA;_asm(nop);
  27.   Image_Data[Line_C][7] = PORTA;_asm(nop);
  28.   Image_Data[Line_C][8] = PORTA;_asm(nop);
  29.   Image_Data[Line_C][9] = PORTA;_asm(nop);
  30.   Image_Data[Line_C][10] = PORTA;_asm(nop);
  31.   Image_Data[Line_C][11] = PORTA;_asm(nop);
  32.   Image_Data[Line_C][12] = PORTA;_asm(nop);
  33.   Image_Data[Line_C][13] = PORTA;_asm(nop);
  34.   Image_Data[Line_C][14] = PORTA;_asm(nop);
  35.   Image_Data[Line_C][15] = PORTA;_asm(nop);
  36.   Image_Data[Line_C][16] = PORTA;_asm(nop);
  37.   Image_Data[Line_C][17] = PORTA;_asm(nop);
  38.   Image_Data[Line_C][18] = PORTA;_asm(nop);
  39.   Image_Data[Line_C][19] = PORTA;_asm(nop);
  40.   Image_Data[Line_C][20] = PORTA;_asm(nop);
  41.   Image_Data[Line_C][21] = PORTA;_asm(nop);
  42.   Image_Data[Line_C][22] = PORTA;_asm(nop);
  43.   Image_Data[Line_C][23] = PORTA;_asm(nop);
  44.   Image_Data[Line_C][24] = PORTA;_asm(nop);
  45.   Image_Data[Line_C][25] = PORTA;_asm(nop);
  46.   Image_Data[Line_C][26] = PORTA;_asm(nop);
  47.   Image_Data[Line_C][27] = PORTA;_asm(nop);
  48.   Image_Data[Line_C][28] = PORTA;_asm(nop);
  49.   Image_Data[Line_C][29] = PORTA;_asm(nop);
  50.   Image_Data[Line_C][30] = PORTA;_asm(nop);
  51.   Image_Data[Line_C][31] = PORTA;_asm(nop);
  52.   Image_Data[Line_C][32] = PORTA;_asm(nop);
  53.   Image_Data[Line_C][33] = PORTA;_asm(nop);
  54.   Image_Data[Line_C][34] = PORTA;_asm(nop);
  55.   Image_Data[Line_C][35] = PORTA;_asm(nop);
  56.   Image_Data[Line_C][36] = PORTA;_asm(nop);
  57.   Image_Data[Line_C][37] = PORTA;_asm(nop);
  58.   Image_Data[Line_C][38] = PORTA;_asm(nop);
  59.   Image_Data[Line_C][39] = PORTA;_asm(nop);
  60.   Image_Data[Line_C][40] = PORTA;_asm(nop);
  61.   Image_Data[Line_C][41] = PORTA;_asm(nop);
  62.   Image_Data[Line_C][42] = PORTA;_asm(nop);
  63.   Image_Data[Line_C][43] = PORTA;_asm(nop);
  64.   Image_Data[Line_C][44] = PORTA;_asm(nop);
  65.   Image_Data[Line_C][45] = PORTA;_asm(nop);
  66.   Image_Data[Line_C][46] = PORTA;_asm(nop);
  67.   Image_Data[Line_C][47] = PORTA;_asm(nop);
  68.   Image_Data[Line_C][48] = PORTA;_asm(nop);
  69.   Image_Data[Line_C][49] = PORTA;_asm(nop);
  70.   Image_Data[Line_C][50] = PORTA;_asm(nop);
  71.   Image_Data[Line_C][51] = PORTA;_asm(nop);
  72.   Image_Data[Line_C][52] = PORTA;_asm(nop);
  73.   Image_Data[Line_C][53] = PORTA;_asm(nop);
  74.   Image_Data[Line_C][54] = PORTA;_asm(nop);
  75.   Image_Data[Line_C][55] = PORTA;_asm(nop);
  76.   Image_Data[Line_C][56] = PORTA;_asm(nop);
  77.   Image_Data[Line_C][57] = PORTA;_asm(nop);
  78.   Image_Data[Line_C][58] = PORTA;_asm(nop);
  79.   Image_Data[Line_C][59] = PORTA;_asm(nop);
  80.   Image_Data[Line_C][60] = PORTA;_asm(nop);
  81.   Image_Data[Line_C][61] = PORTA;_asm(nop);
  82.   Image_Data[Line_C][62] = PORTA;_asm(nop);
  83.   Image_Data[Line_C][63] = PORTA;_asm(nop);
  84.   Image_Data[Line_C][64] = PORTA;_asm(nop);
  85.   Image_Data[Line_C][65] = PORTA;_asm(nop);
  86.   Image_Data[Line_C][66] = PORTA;_asm(nop);
  87.   Image_Data[Line_C][67] = PORTA;_asm(nop);
  88.   Image_Data[Line_C][68] = PORTA;_asm(nop);
  89.   Image_Data[Line_C][69] = PORTA;_asm(nop);
  90.   Image_Data[Line_C][70] = PORTA;_asm(nop);
  91.   Image_Data[Line_C][71] = PORTA;_asm(nop);
  92.   Image_Data[Line_C][72] = PORTA;_asm(nop);
  93.   Image_Data[Line_C][73] = PORTA;_asm(nop);
  94.   Image_Data[Line_C][74] = PORTA;_asm(nop);
  95.   Image_Data[Line_C][75] = PORTA;_asm(nop);
  96.   Image_Data[Line_C][76] = PORTA;_asm(nop);
  97.   Image_Data[Line_C][77] = PORTA;_asm(nop);
  98.   Image_Data[Line_C][78] = PORTA;_asm(nop);
  99.   Image_Data[Line_C][79] = PORTA;_asm(nop);
  100.   Image_Data[Line_C][80] = PORTA;_asm(nop);
  101.   Image_Data[Line_C][81] = PORTA;_asm(nop);
  102.   Image_Data[Line_C][82] = PORTA;_asm(nop);
  103.   Image_Data[Line_C][83] = PORTA;_asm(nop);
  104.   Image_Data[Line_C][84] = PORTA;_asm(nop);
  105.   Image_Data[Line_C][85] = PORTA;_asm(nop);
  106.   Image_Data[Line_C][86] = PORTA;_asm(nop);
  107.   Image_Data[Line_C][87] = PORTA;_asm(nop);
  108.   Image_Data[Line_C][88] = PORTA;_asm(nop);
  109.   Image_Data[Line_C][89] = PORTA;_asm(nop);
  110.   Image_Data[Line_C][90] = PORTA;_asm(nop);
  111.   Image_Data[Line_C][91] = PORTA;_asm(nop);
  112.   Image_Data[Line_C][92] = PORTA;_asm(nop);
  113.   Image_Data[Line_C][93] = PORTA;_asm(nop);
  114.   Image_Data[Line_C][94] = PORTA;_asm(nop);
  115.   Image_Data[Line_C][95] = PORTA;_asm(nop);
  116.   Image_Data[Line_C][96] = PORTA;_asm(nop);
  117.   Image_Data[Line_C][97] = PORTA;_asm(nop);
  118.   Image_Data[Line_C][98] = PORTA;_asm(nop);
  119.   Image_Data[Line_C][99] = PORTA;_asm(nop);
  120.   Image_Data[Line_C][100] = PORTA;_asm(nop);
  121.   Image_Data[Line_C][101] = PORTA;_asm(nop);
  122.   Image_Data[Line_C][102] = PORTA;_asm(nop);
  123.   Image_Data[Line_C][103] = PORTA;_asm(nop);
  124.   Image_Data[Line_C][104] = PORTA;_asm(nop);
  125.   Image_Data[Line_C][105] = PORTA;_asm(nop);
  126.   Image_Data[Line_C][106] = PORTA;_asm(nop);
  127.   Image_Data[Line_C][107] = PORTA;_asm(nop);
  128.   Image_Data[Line_C][108] = PORTA;_asm(nop);
  129.   Image_Data[Line_C][109] = PORTA;_asm(nop);
  130.   Image_Data[Line_C][110] = PORTA;_asm(nop);
  131.   Image_Data[Line_C][111] = PORTA;_asm(nop);
  132.   Image_Data[Line_C][112] = PORTA;_asm(nop);
  133.   Image_Data[Line_C][113] = PORTA;_asm(nop);
  134.   Image_Data[Line_C][114] = PORTA;_asm(nop);
  135.   Image_Data[Line_C][115] = PORTA;_asm(nop);
  136.   Image_Data[Line_C][116] = PORTA;_asm(nop);
  137.   Image_Data[Line_C][117] = PORTA;_asm(nop);
  138.   Image_Data[Line_C][118] = PORTA;_asm(nop);
  139.   Image_Data[Line_C][119] = PORTA;_asm(nop);
  140.   Image_Data[Line_C][120] = PORTA;_asm(nop);
  141.   Image_Data[Line_C][121] = PORTA;_asm(nop);
  142.   Image_Data[Line_C][122] = PORTA;_asm(nop);
  143.   Image_Data[Line_C][123] = PORTA;_asm(nop);
  144.   Image_Data[Line_C][124] = PORTA;_asm(nop);
  145.   Image_Data[Line_C][125] = PORTA;_asm(nop);
  146.   Image_Data[Line_C][126] = PORTA;_asm(nop);
  147.   Image_Data[Line_C][127] = PORTA;_asm(nop);
  148.   Image_Data[Line_C][128] = PORTA;_asm(nop);
  149.   Image_Data[Line_C][129] = PORTA;_asm(nop);
  150.   Image_Data[Line_C][130] = PORTA;_asm(nop);
  151.   Image_Data[Line_C][131] = PORTA;_asm(nop);
  152.   Image_Data[Line_C][132] = PORTA;_asm(nop);
  153.   Image_Data[Line_C][133] = PORTA;_asm(nop);
  154.   Image_Data[Line_C][134] = PORTA;_asm(nop);
  155.   Image_Data[Line_C][135] = PORTA;_asm(nop);
  156.   Image_Data[Line_C][136] = PORTA;_asm(nop);
  157.   Image_Data[Line_C][137] = PORTA;_asm(nop);
  158.   Image_Data[Line_C][138] = PORTA;_asm(nop);
  159.   Image_Data[Line_C][139] = PORTA;_asm(nop);
  160.   Image_Data[Line_C][140] = PORTA;_asm(nop);
  161.   Image_Data[Line_C][141] = PORTA;_asm(nop);
  162.   Image_Data[Line_C][142] = PORTA;_asm(nop);
  163.   Image_Data[Line_C][143] = PORTA;_asm(nop);
  164.   Image_Data[Line_C][144] = PORTA;_asm(nop);
  165.   Image_Data[Line_C][145] = PORTA;_asm(nop);
  166.   Image_Data[Line_C][146] = PORTA;_asm(nop);
  167.   Image_Data[Line_C][147] = PORTA;_asm(nop);
  168.   Image_Data[Line_C][148] = PORTA;_asm(nop);
  169.   Image_Data[Line_C][149] = PORTA;_asm(nop);
  170.   Image_Data[Line_C][150] = PORTA;_asm(nop);
  171.   Image_Data[Line_C][151] = PORTA;_asm(nop);
  172.   Image_Data[Line_C][152] = PORTA;_asm(nop);
  173.   Image_Data[Line_C][153] = PORTA;_asm(nop);
  174.   Image_Data[Line_C][154] = PORTA;_asm(nop);
  175.   Image_Data[Line_C][155] = PORTA;_asm(nop);
  176.   Image_Data[Line_C][156] = PORTA;_asm(nop);
  177.   Image_Data[Line_C][157] = PORTA;_asm(nop);
  178.   Image_Data[Line_C][158] = PORTA;_asm(nop);
  179.   Image_Data[Line_C][159] = PORTA;_asm(nop);
  180.   Image_Data[Line_C][160] = PORTA;_asm(nop);
  181.   Image_Data[Line_C][161] = PORTA;_asm(nop);
  182.   Image_Data[Line_C][162] = PORTA;_asm(nop);
  183.   Image_Data[Line_C][163] = PORTA;_asm(nop);
  184.   Image_Data[Line_C][164] = PORTA;_asm(nop);
  185.   Image_Data[Line_C][165] = PORTA;_asm(nop);
  186.   Image_Data[Line_C][166] = PORTA;_asm(nop);
  187.   Image_Data[Line_C][167] = PORTA;_asm(nop);
  188.   Image_Data[Line_C][168] = PORTA;_asm(nop);
  189.   Image_Data[Line_C][169] = PORTA;_asm(nop);
  190.   Image_Data[Line_C][170] = PORTA;_asm(nop);
  191.   Image_Data[Line_C][171] = PORTA;_asm(nop);
  192.   Image_Data[Line_C][172] = PORTA;_asm(nop);
  193.   Image_Data[Line_C][173] = PORTA;_asm(nop);
  194.   Image_Data[Line_C][174] = PORTA;_asm(nop);
  195.   Image_Data[Line_C][175] = PORTA;_asm(nop);
  196.   Image_Data[Line_C][176] = PORTA;_asm(nop);
  197.   Image_Data[Line_C][177] = PORTA;_asm(nop);
  198.   Image_Data[Line_C][178] = PORTA;_asm(nop);
  199.   Image_Data[Line_C][179] = PORTA;_asm(nop);

  200.   Line_C++;                 //行数++
  201.   }
  202.   if(Line_C>=ROW)
  203.   {
  204.     TIE=0x00;          //关行场中断
  205.     Line_C=0;           //清行计数
  206.     //binaryzation();     //二值化
  207.     SENDF=0;            //发送标志清零 表示未发送
  208.     VSYN_C++;           //场计数   
  209.   }
  210.   
  211. }

  212. /**************************************************
  213. ** 函数名称: 中断处理函数
  214. ** 功能描述: 场中断处理函数
  215. ***************************************************/
  216. interrupt 8 void VSYN_Interrupt()
  217. {
  218.   TFLG1_C0F=1;        //清场中断标志
  219.   TFLG1_C1F=1;        //清行中断标志  
  220.   m = 0;         
  221.   Line_C=0;           //清行计数器
  222.   
  223.   TIE=0x03;           //开行中断//关场中断

  224. }
  225. #pragma CODE_SEG DEFAULT
复制代码

附件: 您需要 登录 才可以下载或查看,没有帐号?注册

6

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
威望
135
贡献
49
兑换币
61
注册时间
2013-1-23
在线时间
36 小时
2#
 楼主| 发表于 2013-4-6 10:02:18 | 只看该作者
解决了..在发送完以后没有清场中断标志..
回复

使用道具 举报

5

主题

104

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1324
QQ
威望
788
贡献
222
兑换币
194
注册时间
2011-11-19
在线时间
157 小时
3#
发表于 2013-4-6 13:56:08 | 只看该作者
去年也遇到过这样的情况,基本上这样的情况都是清标志位的问题~!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 15:13 , Processed in 0.040296 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表